Sometimes one becomes tempted to undertake a project purely to play with a shiny new technology that has emerged. In this case: Flutter.
Flutter is a Google-backed UI framework that allows people to develop native applications with one codebase. It was written with speed in mind. One can quickly develop a material design scaffolding; Or armed with some widget knowledge (everything is a ‘widget’), one can whip together a design in a similar way one can develop with CSS.
Here are 5 reasons to take a long hard look at flutter…
Coverage & Complexity
With mobile development, it has been the accepted norm that there are ‘iOS Developers’ and ‘Android Developers’, with the rare unicorns that can do both well. This agreed duality has produced a development lifecycle that often requires the duplication of code and functionality.
Add in further complexity if an app crosses into the realm of desktop and web. Now you have 3-4 codebases with different needs, different functions, different bugs, and different requirements.
Flutter promotes the use of flexible designs, which allows for designs to gracefully shift based on the screen size and orientation. Think of Bootstrap, but for a mobile, web and desktop.
The simplicity of non-repetition (developers do not like repeating their code), brings joy to the developer’s heart. A happy developer leads to a more successful app.
‘Hot Reload’ brings a sense of ease into the dev process. It allows a developer to nudge, alter, change, play with the code and see the change in real-time. Loaded with the ability to test different mobile devices, one can quickly speed up the development and testing time.
This, along with the aforementioned cross-device development makes for a much quicker development process.
Quicker Testing and Development + Single Codebase = Fast Development
The learning curve of Flutter is very forgiving. It takes a bit of time to wrap around the fact that everything is a widget, and you wrap your widget in the widget in a widget in a widget..and so on.
There are a lot of great resources to learn flutter. And getting your first app produced in a few hours can be a big motivator for developers who love to see how their work will look in the wild.
Where to start learning:
- The Complete Flutter Development Bootcamp Using Dart
- Flutter learning docs with tutorials
- Flutter YouTube Channel
Because of the speed of development and the cross-platform nature, the cost to develop applications has plummeted.
It’s possible that Flutter will shatter traditional development roles based on device, and instead have one type of developer – albeit specialized in specific areas.
Dart, the programming language that is used with Flutter, has skyrocketing popularity among developers with its popularity up 532%. Among these, are programmers from areas such as India and Nepal. Having access to a growing market of developers allows for easy and affordable access to additional talent when teams grow.
Google is backing this. This isn’t some fly-by-night framework (I miss you CakePHP). But, it’s backed by one of the world’s biggest technology companies. From all angles, they’re all-in on Flutter.
It’s great to know that Google is playing nice with Apple, and acknowledging that any Android development platform must also include their competitor – and throw in some bonus points for web and desktop.
Packages continue to be rolled out. Learning opportunities are constantly available. The Flutter team is active on YouTube, Reddit, Discord, Slack. They’re trying hard to build a community surrounding Flutter, and doing a fine job.
It gives me peace to know that this won’t be an abandoned project.
It will take some time for the mobile development world to catch on to Flutter. A quick scan of job postings in my city shows Flutter as a “Nice to have” skills on a few job postings. Once we see a few big players use this technology, CTOs and VPs will take notice and take a long look at shifting to Flutter.
In the meanwhile, if you’re independent and are not tethered to tech debt, take advantage of opportunities to build apps fast, affordable and with cross-device wizardry.