Build a Flutter Stopwatch App with Custom UI and Animations
What you'll learn
- Learn about how to create performant Flutter UIs that update every frame at 60 fps
- Work with custom Flutter layout widgets: Stack, Align, Positioned, AspectRatio, LayoutBuilder, Transform
- Work with matrix transforms (scale, rotate, translate) to create custom Flutter UIs
- Build a clone of the iOS stopwatch app
- You should already be familiar with the Dart language and how to build simple Flutter apps
- You should already have the Flutter SDK installed (2.0 or above) and an IDE configured for Flutter development
- You can use the Android Emulator (on Windows) or iOS Simulator (on macOS) for development
Want to learn how to build completely custom and performant UIs in Flutter?
This practical course will teach you exactly that, by showing you how to create a clone of the iOS stopwatch app from scratch.
As part of this, you'll learn about the foundations of the Flutter animation framework and build a completely custom UI using:
Ticker and TickerProvider
Stack, LayoutBuilder, AspectRatio, and other layout widgets
Would you like to:
build UIs that render every frame, in sync with the screen refresh rate, and without compromising performance?
rotate, scale, or translate widgets, and combine them all together to build custom UIs?
Then you've come to the right place.
This course is short and to the point. But it will give you valuable knowledge and a few tricks that will come handy in your future Flutter projects.
What does the completed project look like?
Go check the video preview for a complete overview of the project you'll build in this course.
Other things included in the course:
- How to switch betwen light and dark mode
- How to manage the stopwatch state and start, stop, and reset the timer
- How to optimize the application performance
- How to build modular code by creating small, reusable widgets
- A final challenge to test your knowledge
Frequently Asked Questions
Will we use Flutter 2?
Yes! The entire course uses Flutter 2 with Null Safety and I will keep it up to date.
What are the course prerequisites?
You should be already familiar with StatelessWidgets and StatefulWidgets, common layouts (Row, Column, Stack), and the foundations of state management in Flutter.
Who this course is for:
- Flutter developers looking to build custom layouts and time-based animations
I have extensive experience in mobile app development, having built complex apps for various clients and as an independent developer. I'm passionate about open source, teaching, and all things Flutter. In 2018, I started Code With Andrea, along with a YouTube channel and a blog, where I regularly share new articles and videos. All my learning materials have been very well received by new students and the Flutter community.