Learn to build native mobile apps with Flutter with our free Udacity course!

Mary
Flutter
Published in
4 min readJul 2, 2018

TL;DR: Sign up here to get started with our free Udacity course!

Hi everyone! I’m Mary, a software engineer who works with Flutter at Google. I used to work on web development, and transitioned to learning and building with Flutter over the past year. It’s been fun and interesting to build with Flutter, and I wanted to share my knowledge. That’s why the Flutter team at Google, Udacity, and I collaborated to create the free online video course, “Build Native Mobile Apps with Flutter”. I injected my “learning Flutter” experience into the course, which teaches you what Flutter is, and how to (intuitively!) build mobile apps for both iOS and Android.

This free course is for all developers; you might be a mobile app developer looking for ways to reach users on all platforms, or a web developer who wants to build for multiple platforms (like me!). Or, maybe you’ve been interested in Flutter but haven’t had time to dig in, or don’t know where to start. Well, you can sign up for the course and get watching right away! All the code is open source and located on GitHub. Each topic is packaged into nicely-sized chunks, with short videos, quizzes, and small coding projects. You can pick it up and pause anytime. Complete the course at your leisure, such as over a weekend, or split it into several sections.

What will you learn? The first lesson acquaints you with Dart and Flutter. You’ll learn about widgets: building your own, managing state, and how to use the Flutter tooling (like the Flutter Inspector). You’ll customize your app in the second lesson with Material Design, fonts, icons, and real data from an API, to turn your toy app into a functioning unit converter. Each coding project is self-contained, with both a task and one possible solution (out of many).

Throughout the course, you’ll incrementally build a unit converter app. Yes, I hear you protesting about the apparent lack of creativity in such an endeavor. But, there are many open-ended areas to explore if you choose — such as customizing colors, shapes, theming, APIs, animations, and more. I’ve even added a list of goofy-but-real unit conversions to the mix, in case you’ve ever wanted to convert the mass of a bag of cement into that of a burrito*. Still, if you follow the course exactly, you’ll learn the Flutter fundamentals, and build a lovely unit converter to share with your friends, on any device! It’s a flexible course, so if you already have some Flutter experience, skip ahead, or delve more into a specific topic; we have linked to various resources where you can learn more.

* This is unofficial, please don’t mention I snuck it in.

Why a course for Flutter? It’s a great development platform! Some of the coolest Flutter features, in my opinion, include:

Hot Reload
I developed for mobile years ago, and I spent more time waiting for the app to build than actually coding. Hot reload means that your code changes are reflected in your app the moment you save, preserving the current app state. This is so useful for iterating on a UI; it almost feels like I’m back in web again!

Intuitive UI Layout
Centering an item, and implementing sticky footers or efficient lists have often been challenging. With Flutter, centering is literally wrapping the item you want to center in a Center widget. There are numerous other widgets such as Stack, AspectRatio and ListTile, that make it intuitive to lay out your UI. It might feel a little odd initially (Opacity and Padding are both widgets, for example), but after you check out the documentation, Flutter cookbook, and StackOverflow, you’ll get the hang of it!

Widget Customization and Extension
One time, I needed a slider for my app. Great, Flutter comes with a Slider widget! Boo, the widget didn’t let me customize its inactive color. I made a pull request to the Slider class, which added the inactive color property, and hooray, I extended the widget! This is just one way to extend existing widgets — you can also build custom widgets by composing widgets, as we do with the CategoryTile in the course.

Get involved in the Flutter Community

This course is meant to be a community project. Consider contributing your own tips and tricks, perhaps by writing a blog post, or making your own screencast. You’ll learn a lot through this process — I learned not only about Flutter, but also how to teach and lead. I discovered new ways to think about widgets, and how to mix-and-match them. Although we had fancy animations in our videos, anyone (including you!) can record a how-to video.

Feel free to contribute in any of the following ways:

Next steps

Once you complete “Build Native Apps with Flutter”, try our Flutter codelabs, watch our Dev Bytes and browse our website.

Join our community! Tell us about your app from the link on our Showcase page, or tweet us at @flutter.io.

Ok, now power on that computer, download that Flutter plugin, and get coding! We can’t wait to see what you build!

An enormous THANK YOU to Flutter, Material Design, Udacity, and all our volunteers for making this course possible!

--

--