The Flutter SDK allows you to build native Android and iOS apps, with advantages over other cross-platform methods. Interested? Here’s how to get started with Flutter.
Google’s Flutter SDK is a relatively new way to build native mobile apps for BOTH Android and iOS.
Since being able to quickly produce apps for both platforms’ app stores may be very important to your business or your professional career, you may want to begin moving forward with Flutter, or simply try it out so that you know what’s up.
Before you get started: learning about Flutter (and getting motivated)
Flutter may have already piqued your interest. But that might not be enough motivation to push you through learning a new technology.
So, before you jump in, you might first want to strengthen your resolve (and increase your excitement) about using Flutter.
First, if you haven’t already, you can read my previous article about what Flutter is and why you might want to use it.
Beyond that, you might want to:
- Read “What’s Revolutionary About Flutter”, which lays out the whats and whys of Flutter, outlines its developer-pleasing aspects, and reinforces its potential advantages over other cross-platform approaches.
- Or maybe watch the six Flutter sessions and related videos from Google I/O 2018.
- Or you could listen to these two podcast episodes first:
Rohan Teneja recommends the two above podcast episodes as a great way to get started, adding:
If I had not listened to these back in March, I probably wouldn’t have been excited to try out Flutter immediately. The two episodes include everything you need to know about the “What” and “How” of Flutter.
Set up the Flutter SDK
Google’s official Flutter site Flutter.io is a great resource for getting started.
The first four steps walk you through getting the proper things installed and configured, taking the Flutter SDK for a “test drive”, and quickly building a simple app.
Related to the step 1—Installation—Android developer Harshit Dwivedi has this recommendation that you may or may not want to keep in mind:
Note : You don’t actually need libimobiledevice , ideviceinstaller, ios-deploy and CocoaPods unless you want to build an iOS app, so ignore flutter doctor’s advice on installing them and you’ll save a hell lot of a time.
“Flutter doctor” refers to a tool that you’ll be installing and running as part of the overall Installation step.
Supported development environments
Installing/configuring an IDE is step 2 of the setup process.
If you wanted, you could develop Flutter using just the command line and your favorite code editor (and, if so, I will gladly refer to you as “hard core”). But, when getting started with Flutter, it’s advisable to use one of the supported Integrated Development Environments (IDEs).
- Android Studio,
- IntelliJ, and
- Visual Studio Code
Being overly stereotypical: If you’re an Android or Java developer, there’s a good chance you’re familiar with one of the first two IDEs; if you’re a web developer, there’s a reasonable chance you’re familiar with VS Code.
However, if you’re not partial to any of the supported IDEs, then using Android Studio seems to be your best option for getting started for Flutter.
Android Studio offers the most features, such as a Flutter Inspector to analyze the widgets of a running application and well as monitor application performance. It also offers several refactorings that are convenient when developing a widget hierarchy.
VS Code offers a lighter development experience in that it tends to start faster than Android Studio/IntelliJ. Each IDE offers built-in editing helpers, such as code completion, allowing exploration of various APIs as well as good debugging support.
(Note also that installing Android Studio is required for using the Flutter SDK anyway, whether you plan to use it as your code editor or not.)
Trying it out to make sure you’re set up properly
Following step 3 (“Test drive”) and step 4 (“Write your first app”) right away will help you make sure everything is installed and configured correctly. You’ll also, of course, get introduced to Flutter and learn a bit about how the tools generally work.
What next, though?
After step 4, Google provides a number of different directions you might want to go next. This includes additional “codelab” tutorials you might want to work through—including adding enhancements to the starter app you just created—as well as various additional documentation on Flutter and its programming language Dart.
While Google still has a lot of materials for you, you’re essentially on your own now. You’re still in the “getting started” phase, and yet you have to chart your own course for how you want to learn Flutter.
Here are some ideas and advice on that front.
Learn how Flutter compares to what you know best
The next thing you might want to do is start bridging your current UI development experience to how UIs are built in Flutter.
Flutter.io provides documentation sets that compare and contrast Flutter code with UI code that you’re used to. For example, comparing HTML/CSS code to the equivalent Flutter code if you’re coming from a web background.
Flutter for Android developers
Flutter for React Native developers
Flutter for Xamarin developers
Take Google’s Free Online Course at Udacity
I don’t feel comfortable directing you to paid online courses. If that’s what you’d want to do next, I’m sure there are a bunch you can find on your own. I wish you good luck in evaluating whether they’re for you, and whether it’s worth your money.
Here, however, is a free online course on Udacity produced by Google. This is separate from the materials provided at Flutter.io.
This course is marked as “intermediate” (as opposed to “beginner”), but expects that you do not know about Flutter or Dart before you begin. Instead, the prerequisite is that you “should have at least one year of programming experience, ideally with an object-oriented language like Java, Python, or Swift.”
The course is described as self-paced learning that might take you “approx. 2 weeks”. Google software developer Mary Xia—who contributed to the course—stated that you could conceivably finish the course “over a weekend” in her article that describes the training in a bit more detail (as well as why you might be interested in learning Flutter).
Parting advice about getting started
- Don’t try to learn about the entire catalog of supported Flutter widgets right away
- Don’t get bogged down trying to learn Dart up front
- Give yourself achievable goals you’ll be interested in doing, and use this method to learn as you go
Learn about how BetaTesting can help your company launch better products with our beta testing platform and huge community of global testers.