We may earn an affiliate commission when you visit our partners.
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
Rotated Box
Box Decoration
Transformations
Custom Painter
Section 1 - Assignment

See the source code out on github

Section 1 - Quiz
Animations
Tween Animations
Animation builder
Listener
Animated Widget
Section 2 - Assignment

See the source code on github

Section 2 - Quiz
Interactive Maps
Display a map
Markers
Map interactions
Polylines
Section 3 - Assignment
Section 3 - Quiz
Phone Integration
URL launcher
Permissions
Working with contacts
Taking pictures with the camera
Section 4 - Assignment

View the source code on github

Section 4 - Quiz
Firebase Introduction and Authentication
Firebase intro
Project setup
Flutter authentication
Anonymous authentication
Google authentication
Section 5 - Assignment
Section 5 - Quiz
Firebase storage and database
Firebase storage
Firebase real time database
Firebase database set vs update
Firebase database find and findrange
Section 6 - Assignment
Section 6 - Quiz

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers Firebase authentication, storage, and databases, which are essential for building data-driven mobile applications with user management and data persistence
Explores device integration, including URL launching, permissions, contacts, and camera access, which are crucial for creating feature-rich and interactive mobile experiences
Requires prior experience with Flutter, so learners should complete introductory courses or have hands-on experience before enrolling to make the most of the advanced topics
Includes widget graphic manipulations, such as opacity, rotated boxes, and transformations, which are useful for creating visually appealing user interfaces
Features interactive maps with markers, polylines, and map interactions, which are valuable for location-based applications and enhancing user engagement
Focuses on animations using Tween Animations, AnimationBuilder, and AnimatedWidget, which are key techniques for creating engaging and dynamic user interfaces

Save this course

Save Flutter - Advanced Course to your list so you can find it easily later:
Save

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