We may earn an affiliate commission when you visit our partners.
Course image
Bryan Cairns

This is an advanced course and not intended for beginners. In this course you will learn how to work with graphics, animate widgets, use maps, phone integration such as permissions and the camera and how to work with firebase. This course picks up right where my previous courses have left off.

Enroll now

What's inside

Learning objectives

  • Graphics
  • Animations
  • Mapping
  • Device integration
  • Permissions
  • Camera
  • Firebase auth
  • Firebase storage
  • Firebase database

Syllabus

Widget Graphic Manipulations
Dart 2 - version changes (some videos will be re-recorded)
Read me - major changes to Dart and Flutter
Opacity
Read more

See the source code out on github

See the source code on github

View the source code on github

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers Firebase authentication, storage, and databases, which are essential for building data-driven and connected mobile applications using Flutter
Explores device integration, including URL launching, permissions, contacts, and camera access, enabling developers to create feature-rich mobile experiences
Requires prior experience with Flutter, so learners should complete introductory courses before enrolling to ensure a solid foundation
Delves into widget graphic manipulations, including opacity, rotated boxes, transformations, and custom painters, enhancing UI design capabilities
Examines interactive maps with markers, interactions, and polylines, which are useful for location-based apps and mapping functionalities

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Advanced flutter app development skills

According to learners, this course is a solid next step for those already familiar with Flutter basics. Students praise the instructor's clear explanations and the diverse range of advanced topics covered, including animations, interactive maps, device integration, and Firebase. Many found the practical examples and assignments highly valuable for building real-world apps. However, some reviewers noted that due to the rapid evolution of Flutter and its dependencies, parts of the course, particularly sections like Firebase setup, may require minor troubleshooting based on the latest SDK versions. Overall, it provides practical skills but is definitively not for beginners.
Strictly for those with existing Flutter experience.
"This course is definitely not for newcomers to Flutter."
"It's essential to have taken the basic course or have similar experience."
"If you're not comfortable with core Flutter concepts, you'll struggle here."
A great continuation from the instructor's prior course.
"Seamlessly picks up where the beginner course left off."
"Perfect next step after completing his first Flutter course."
"Continued my learning journey effectively with this course."
Instructor explains complex concepts effectively.
"The instructor has a great way of explaining difficult topics simply."
"His teaching style is easy to follow, even for advanced subjects."
"Explanations were always concise and to the point."
Explores key advanced Flutter features for apps.
"I gained practical skills in animations, maps, and device features."
"Finally understood how to integrate Firebase storage and auth correctly."
"The sections on custom painters and transformations were particularly useful for me."
Some sections require minor adjustments for current SDKs.
"Had some issues with Firebase setup due to version changes."
"Needed to look up updated methods for certain packages like maps."
"Keeping up with Flutter's pace is hard, but the core lessons are solid."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Flutter - Advanced Course with these activities:
Review Dart Programming Fundamentals
Solidify your understanding of Dart programming, which is essential for Flutter development, to ensure a smoother learning experience in the advanced course.
Show steps
  • Review basic syntax and data types.
  • Practice writing simple Dart programs.
  • Study asynchronous programming concepts in Dart.
Review 'Beginning Flutter: A Hands-On Guide to App Development'
Reinforce your understanding of Flutter fundamentals by reviewing a beginner-friendly guide, ensuring a strong foundation for advanced concepts.
Show steps
  • Read chapters on basic widgets and layouts.
  • Work through the example projects in the book.
  • Compare the book's approach to the course material.
Review 'Flutter Complete Reference'
Deepen your understanding of Flutter concepts and techniques by studying a comprehensive reference book, which will enhance your ability to tackle advanced topics.
Show steps
  • Read chapters related to animations and graphics.
  • Study sections on Firebase integration and device features.
  • Experiment with code examples from the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Follow Advanced Flutter Animation Tutorials
Enhance your animation skills by following advanced tutorials that demonstrate complex animation techniques and widget manipulation.
Show steps
  • Find tutorials on staggered animations and custom transitions.
  • Implement the animation examples in your own Flutter project.
  • Modify the animations to create unique effects.
Create a Blog Post on Flutter Graphics
Solidify your understanding of Flutter graphics by writing a blog post explaining different techniques and concepts.
Show steps
  • Choose a specific topic related to Flutter graphics.
  • Research and gather information on the chosen topic.
  • Write a clear and concise blog post with code examples.
  • Publish the blog post on a platform like Medium or Dev.to.
Build a Photo Editing App with Camera and Firebase
Apply your knowledge of camera integration, Firebase storage, and image manipulation to create a practical photo editing application.
Show steps
  • Implement camera functionality to capture images.
  • Integrate Firebase storage to upload and store images.
  • Add image editing features using Flutter widgets.
  • Implement user authentication with Firebase.
Contribute to a Flutter Open Source Project
Gain practical experience and contribute to the Flutter community by participating in an open-source project.
Show steps
  • Find a Flutter open-source project on GitHub.
  • Identify an issue or feature to work on.
  • Submit a pull request with your changes.
  • Address feedback from the project maintainers.

Career center

Learners who complete Flutter - Advanced Course will develop knowledge and skills that may be useful to these careers:
Mobile Application Developer
A mobile application developer creates applications for mobile devices. This advanced course helps build a foundation for mobile development, particularly with its focus on device integration, animations, and using Firebase. This course explores how to work with graphics, animate widgets, integrate maps, and use phone features like permissions and the camera. Experience with Firebase authentication, storage, and database is critical for many mobile applications. This course gives developers the skills to create dynamic and feature-rich mobile applications, making them more attractive to employers. This course provides an advantage to those seeking to work as a mobile application developer.
User Interface Engineer
User interface engineers focus on the visual and interactive aspects of software applications. This advanced course is relevant to a user interface engineer because it covers topics such as graphics manipulation, animations, and widget interaction. The course content on animations and custom painting techniques helps a user interface engineer build engaging and visually appealing interfaces. Understanding user interaction through map integrations and device features also improves the user experience. The course is a great introduction to the skills required of a good user interface engineer.
Software Engineer
Software engineers design, develop, and maintain software systems. This course may be useful for a software engineer, especially those focused on mobile applications. This course offers deep dives into device integration, database interactions, and visual components. The course's focus on Firebase authentication and database management is essential for many types of applications. A software engineer can incorporate the concepts of animation and graphic manipulation into their work, making it a well rounded experience. This can provide a better understanding of software architecture in the context of mobile development.
Application Developer
Application developers create different types of applications, from desktop to mobile to web. This course can be useful to an application developer because it provides skills necessary for mobile application development. The course's focus on graphics, animations, and device integration can help build interactive and engaging applications. The Firebase sections are useful for building powerful and scalable applications. Application developers can become more well rounded by taking this advanced course.
Software Developer
Software developers write the code for various types of software. A software developer may find this advanced course useful. Software developers can use the skills taught here, such as animating widgets, working with maps, and managing databases. The course materials on device integration and Firebase are particularly relevant. Software developers who seek to build mobile applications can expand their skillset. This course may be helpful to software developers.
Mobile Game Developer
A mobile game developer creates games for mobile phones and tablets. The graphics, animation, and custom painting concepts covered in this course, helps build a foundation for game development. The device integration aspects of the course are also crucial for game functionality. A mobile game developer can use the knowledge from this course directly in their projects and find the content particularly useful. This course may be useful for a mobile game developer due to its emphasis on the visual and interactive elements of mobile development.
Full-Stack Developer
A full stack developer works on both the front end and back end of applications. This course is relevant to a full stack developer, especially one working on mobile applications. The course topics include front-end skills like graphics and animation, along with backend skills like the Firebase suite. Full stack developers who take this course will better understand how to create rich and interactive mobile applications. This course provides a holistic perspective of the mobile application development process for a full stack developer.
Front-End Developer
A front end developer builds the user interface of many different types of software. This advanced course may be useful to a front end developer. The course content on widget manipulation, animations, and custom painting can help elevate a front end developers skill set. Understanding how to manage and display data, especially incorporating map based information, adds another tool to a front end developer's arsenal. The course can help front end developers produce more dynamic and engaging user interfaces.
Mobile Solutions Architect
A mobile solutions architect designs the structure and architecture of mobile applications. This advanced course helps a mobile solutions architect understand the technical aspects of development. The course covers the details of mobile development, including graphics, device integration, and backend services. Understanding Firebase capabilities and implementation details is very useful for a solutions architect. A mobile solutions architect benefits from this course by gaining more hands on knowledge about mobile architecture and development.
Technical Project Manager
A technical project manager oversees the planning and execution of technical projects. This course may be useful for any project manager involved in mobile application development. The course provides a technical view of the development process, including the use of graphics, maps, and device integrations like permissions and the camera. Understanding the nuances of database management with Firebase gives additional insights. A technical project manager will be a more effective leader in mobile application projects by taking this course.
Database Administrator
A database administrator manages and maintains databases. This advanced course may be useful for a database administrator working in mobile development. Familiarity with Firebase storage, real time database, and other data management techniques can help an administrator better perform their duties, especially when the mobile application uses these Firebase features. This course provides a good introduction to using cloud databases within the context of mobile development. This course may be useful to a database administrator.
User Experience Designer
A user experience designer creates products that are easy to use and understand. They focus on the overall experience that a user has while they use an application. This advanced course may be useful for a user experience designer, since it covers ways to create dynamic and engaging interfaces. The concepts of animation, custom painting, and map interaction, are all important ways to create a good user experience. This course offers a view that may help a user experience designer consider the technology in their designs.
Quality Assurance Engineer
A quality assurance engineer tests software for bugs and usability. This course may be useful to a quality assurance engineer, especially one focused on mobile applications. Understanding the capabilities of the technology will help them better test applications by knowing what to expect. For example, testing animations, map interactions, and device permissions is an important part of quality assurance. This course provides a technical look at the mobile application and may be useful to a quality assurance engineer.
Technical Consultant
A technical consultant provides advice and guidance on technical matters to clients. This advanced course may be useful for a technical consultant who advises on mobile applications. The course focuses on the technical aspects, covering topics such as graphics, animations, device integration, and Firebase authentication and databases. A technical consultant needs to be familiar with these concepts to provide valuable guidance to their clients. This course might be helpful for a technical consultant.
Technology Trainer
A technology trainer teaches others how to use technology effectively. This course may be useful for a technology trainer, especially one who focuses on mobile application development. The trainer can use this course to understand the topics they are teaching. This course covers a number of concepts, such as graphics, animations, device integration, and firebase. A technology trainer can use these concepts to build training material for others. This course may be beneficial to a technology trainer.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Flutter - Advanced Course.
Provides a comprehensive guide to Flutter development, covering a wide range of topics from basic widgets to advanced animations and Firebase integration. It serves as a valuable reference for understanding the underlying concepts and implementing complex features in Flutter applications. It is particularly useful for reinforcing the concepts covered in the advanced course and exploring additional functionalities.
Great resource for those who want to solidify their foundational knowledge of Flutter before diving into advanced topics. It covers the basics of Flutter development in a clear and concise manner, making it easy to understand the core concepts. It is particularly helpful for refreshing your understanding of widgets, layouts, and basic app architecture. While not strictly necessary for the advanced course, it can provide a solid base for more complex topics.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser