Flutter is the rising star of mobile app development in 2019, even if some kinks are still being worked out. It’s time for project managers and businesses to start taking Flutter seriously as an alternative to React Native.
But we already have React Native
The first objection that I hear is that Flutter is fixing a problem that React Native already solves. Do we really need another framework that lets us write code once to create native apps on both iOS and Android? If that were all Flutter had to offer, I’d agree.
Flutter is already changing the way we develop apps at my company, eTeam—well beyond the simple advantages of getting products to market with less code.
The product is the prototype
For years building a product has gone through the same design process that builds a visual prototype in whatever design software is in vogue at the moment. This makes for slow iterations and constant delays.
In practice, the design team presents their work during a demo. Stakeholders give their input and likely won’t go through another round of feedback until the next meeting. This becomes a blocker that slows down the entire frontend of a project.
Furthermore, the design becomes a dead end as another person has to transfer the design to markup. While there’s been a lot of buzz of designing in CSS and skipping Sketch or the equivalent, I’ve yet to see this work in anything but the simplest of projects.
Flutter bypasses the whole CSS problem by eliminating CSS altogether and turning everything into a widget. Making serious design changes is a matter of seconds. I’ve personally changed animations and layouts during meetings with stakeholders while presenting an app prototype. This cuts days off of the iteration process.
Here's how easy it is to create a UI for a dynamic list in Flutter
The icing on the cake is that every single line of code that goes into making the prototype can be used in the final product. No more wasting weeks on making interactive prototypes that’ll never be part of a final product.
Dart is seriously easy to pick up
The first reaction I get when I mention Flutter is eye rolling at the prospect of having to learn Dart. I understand the skepticism—learning another language and framework isn’t the answer to JavaScript fatigue.
Nonetheless, experienced developers on my team picked up Dart and Flutter in days. I, as a non-developer, was able to crank out a working prototype in less than a week that included OCR and other advanced features thanks to some great libraries put out by Google.
To reiterate, here’s how simple it is create an input form:
If you’re already a JavaScript ninja this is less of a selling point. You’re probably not going to initially speed up development time by leaving React Native.
Hedging bets on the future
There’s no dispute that Flutter is a young framework. As it grows, many of the current flaws and shortcomings are going to be ironed out. On the other hand, Flutter is a hedge for the future that React Native isn’t—especially as rumors swirl about how committed Facebook is to React Native.
We know that Flutter is going to run natively on Fuchsia. Of course the details of what this entails are still shrouded in mystery, but it’s not hard to envision Fuchsia running on everything from wearables, to TVs, phones and maybe even the desktop. Getting out ahead of Fuchsia and having apps ready to run natively is a bet I’m willing to take. While Google has confirmed that Android apps will run on Fuchsia, we don’t have details about backwards compatibility and how this is going to be rolled out.
The product owner’s case for Flutter
It’s great that developers like Flutter and that getting started is a matter of days and weeks, but that’s not enough for a business to make the switch. Speaking directly to my fellow product owners, it’s worth taking the time to use Flutter for you next mobile app.
- Prototyping is much easier and faster than working with traditional app development.
- The community is awesome. It’s easy to find the info you need quickly and lots of solutions already exist that you can plug into.
- Your pool of developers is much wider. React Native developers are scarce. Any reasonably competent developer can be up and running in Dart in short order.
- You get native apps in both iOS and Android.
- You’re set to rock the future when Fuchsia goes live.
Who’s already using Flutter?
Flutter’s already being used by companies ranging from giants like Alibaba to startups. Take a look a look at the showcase and see for yourself.
Give Flutter a shot
The best way to test out flutter is grab a small project and dive right in. That’s precisely what I did. To reiterate, I’m a product owner and not a full-fledged developer. Nonetheless, I was able to whip up a working prototype
I know that I may seem overly optimistic here and even contradict conventional wisdom. Nonetheless, my conclusions come from personal experience. An experienced React Native developer and I were able to put together a Flutter app in our free time in just under two months.