Flutter is a mobile UI technology & SDK from Google that enables you to build native apps for multiple platforms (Android & iOS) from a single codebase written in Dart. The current release is at Beta v3 and considered production ready.
Update: June 20, 2018 The Flutter team just announced Release Preview 1 which indicates we have now begun the sprint to the official v1.0 release
This is a living document that I plan to keep up to date with new and updated resources for learning.
There are many ways to get started. Here are a few that I think are valuable:
Flutter Codelabs. If your learning style favors coding-over-concepts, then start here. There are 9 codelabs available from GoogleIO (May 2018) that cover an introduction to Dart, Writing your First Flutter App with 2 parts, Using Material Components for Flutter with 4 parts, and Integrating Firebase. Each of these comes with starter code that lets you jump straight into understanding specific features with code.
Flutter Course @Udacity. If you're someone who likes to understand how things work under the hood, or want to get a better grasp on the concepts before diving into codelabs, this is for you. Currently a 2-part course from the Flutter team, covering The Flutter Framework and Building Interactive Apps, with more content expected soon. Check out the related GitHub Repos for the course.
Flutter By Google: Videos. A YouTube playlist curated by the Flutter team, with videos from #IO18 and from Flutter Developer Advocates. Worth subscribing to.
FlutterDevs List is a Twitter list I maintain of Flutter fans including folks on the Flutter team at Google, and Flutter experts from the community. Also check out the list of Google Developer Experts, Flutter. I also hugely advocate following Nilay Yener from the Flutter team, who oversees community outreach.
Awesome-Flutter is an awesome GitHub repo that contains updated listings of numerous Flutter resources for self-guided exploration, including articles, components and open-source projects.
Flutter Examples is one of the best sources to understand how to think in Flutter. Most developers learn by deconstructing then remixing working examples and Flutter is no exception. While this repo contains examples from the Flutter team (including the Flagship Flutter Gallery app), you can also check out open source community apps for another set of perspectives.
Flutter FYI. Shameless Plug #1. I recently set up this site to share articles and insights from my own exploration of Flutter. I also hope to go back and post sketch-notes from various talks that I've attended. My goal is to share structured (collections) and unstructured (posts) where the former will be used to periodically collect the latter into useful learning paths that help provide coverage of specific topics.
Flutter on Reddit. This is actually a good repository of key videos, articles and more.
Flutter Utils. This is for listing apps, tools or libraries that help you become more productive with Flutter. First amongst these is the FlutterStudio a great app to mockup and implement a view. I'm also maintaining a Flutter By Example Twitter moments collection gathering references to apps, code examples and best practices from Flutter authors everywhere. Next, Brian Egan's Flutter Samples has great examples for architectural design of Flutter apps (e.g., from state management, testing & evolution perspectives) - watch his 2018 DartConf talk for context.
Flutter Cookbook. Nice collection of recipes to solve frequently-encountered problems or needs, in a Flutter environment. Maintained on the official Flutter docs site which is awesome!
I'll be using this section to highlight YouTube video creators/playlists & Flutter blogs that are worth subscribing to, on Flutter development. There are a lot of resources coming online every day, so moved this to its own sub-section. Also adding a new section focused on presentations - this is specifically to share speaker decks (with permission) that others can use to jumpstart talks/awareness in their communities.
- Guru Meditation - blog by Thomas Burkhart who brings Xamarin expertise to Flutter.
- Iiro Krankka's Blog from GDE liro Krankka who brings Android and Kotlin expertise to Flutter. (this site was previously Flutter Rocks).
- Flutter Samples - blog by Brian Egan and others, with great insights into architecture patterns for Flutter app development
- Noteworthy / Flutter - blog by Burhanuddin Rashid with Flutter insights for Android developers
- Flutter Challenges - videos that walk through building a full/complex UI or feature for a challenge.
- Coding With Flutter - videos from Andrea Bizzo who brings iOS expertise to Flutter.
- MTechViral - 70+ video tutorials from Pawan Kumar GDE for Flutter with Android expertise.
- Dart/Flutter Tutorials - from the folks behind the Tensor Programming Blog
- Flutter is now in beta: an introduction - by Pascal Welsh a Google Developer Expert in Flutter
- Building Beautiful Apps with Google Flutter - by the awesome Ahmed Abu Eldahab, community and #FlutterBus organizer!
- Flutter, Then Fly - from me, at WindyCity DevFest in Jan, when Flutter was in alpha. Some things changed, but core is still valuable.
Shameless Plug #2. I run the Google Developer Group, New York City and have been a huge fan of Flutter. I ran a Flutter workshop at IWD NYC 2018 and a Flutter study session at our I/O Extended event in early June. And I'll be doing a deep-dive on Flutter at OSCON in July.
We're currently planning the first Flutter Camp, an all-day immersive learning workshop for beginners. If you live in the greater NYC area, do join GDG NYC and sign up on this form to get notified when registration opens for the event. I suggest you mention Dev.To in the comments section for context.
We only have a few spots left to fill. It's beginner friendly and I would love to see equal representation so I encourage you to sign up!
Nitya Narasimhan@nityaHad to reschedule #FlutterCamp @gdg_nyc given logistical issues this weekend. Asked folks to fill form for invite. Got 80+ signups in 18 hours.
Tells you something about @flutterio popularity
Registrants polled showed awareness is high.
Working on equal gender representation.16:27 PM - 08 Jun 2018
Get 'appy with Flutter today!
Single Responsibility Principle (or SRP) is one of the most important concepts in software development. The main idea of this concept is: all pieces of software must have only a single responsibility.