Flutter: a game changer in frontend development?

When we talk about the future of development environments, I see – as an observer – two very different tendencies,

There is the backend environment where containers and microservices, depending on the maturity of the company, will become or the standard working environment for the future. Containers not only support all common languages, but even allow you to embed and run ancient programming languages ​​in a JavaScript. For example, I recently saw a Pascal program that functions without problems in a JS after adjusting three lines.

It is likely that the languages ​​after the rise of the Internet and the cloud will eventually play a more dominant role. But if things go as they did in the past, it will be a long process.

A completely different scenario seems to be in the works for front-end computing. Until recently, you had separate paths for fixed and mobile computers here. Both Android and iOS support a range of programming languages ​​for native development in the mobile environments. You have an identical situation for PCs and Macs. And then you had web applications that worked on both environments.

But it is likely that the number of form factors (PCs, tablets, smart devices) will only increase in the future and such a diverse landscape will not be a pleasure to develop and maintain. It’s quite a challenge to keep a program for 3 different environments with frequent releases up to date. But what if, instead of native applications, in the future we would mainly build applications that, in the worst case, only require limited adjustments to run on those different platforms?

Applications that offer an identical solution in terms of content and function, regardless of the platform they run on. Or as they can put it so nicely together, Write Once, Run Anywhere. That has been an idea for a while with solutions such as Xamarin from Microsoft and React Native from Facebook. And that is the idea behind Flutter, the Software Development Kit and a User Interface framework that Google first announced in 2015.

And even though only five years have passed since the initial announcement at a Google Dart developers event in 2015 and only three years since the first version was released, the product has already gone through a gigantic evolution.

Initially marketed as a platform for the development of mobile applications in iOS and Android, Flutter is now evolving into a platform for compiled applications on mobile, web and desktop. Currently, all non-mobile platforms are still partly future music. Although Flutter is already available in beta for web applications today. And Linux, MacOS and Windows are on Alpha. We even know about Flutter working on Microsoft xbox. And Flutter also works on Google Fuchsia OS, a platform in full development of which not much is known to date.

Launched by Google and using Google technology (such as the Dart language and the Skia graphics engine), Google has brought the project into open source. Although Google will continue to make the most important contribution to the development. And in addition, a series of Google environments run on Flutter. This applies, for example, to the Google Assistant hardware (such as the Nest series of devices). But since mid-November also for the completely and drastically renewed Google Pay, which has now been rolled out in the US and India.

Why should you choose Flutter as a developer?

The most important motivation seems to me to be the cross platform technology. You write something once and it becomes usable on a growing number of platforms immediately after publication. Not only is this a lot faster (you only have to write everything once), but it also runs a lot smoother (as an Android developer you should not constantly coordinate with your iOS colleague). This means that development in Flutter requires less man hours and is therefore a lot cheaper in practice. And of course that also applies to all maintenance and extensions. The fact that you develop for multiple platforms simultaneously also makes your market a lot bigger from day one. And that certainly applies if in the long term Flutter applications run on almost all common platforms.

But beyond that, Flutter is also an attractive platform for development. The graphics options are extensive, errors can be corrected quickly and easily. And because you publish a compiled version, your application also remains efficient. Flutter is also completely open source and free.

Of course there are also some downsides to Flutter. It is a young product and therefore certainly not as finished or as stable as the competition. For example, some functions or options are still missing. You can easily develop it yourself, but that will of course be at the expense of your productivity. Fortunately, there is a large and fast-growing community and a lot of well-written documentation. In addition, native versions are of course somewhat ahead of each release. New functions in Android or iOS are only available in delayed relays on Flutter. But it seems that the benefits far outweigh the cons. And that the market, given the steady growth, experiences it that way.

Choosing a new language and framework always remains a challenge. No one has a crystal ball to predict the winners and losers within five years. There is a wide range of solutions on the market. Moreover, Google does not make it any easier by walking several routes itself. For example, by simultaneously betting on Kotlin and Flutter. And then it becomes guesswork about the motives.

The solid support of Flutter would mean that a number of sources – in addition to all the advantages that a cross-platform solution has to offer in any case – would also have to do with the long-standing dispute with Oracle about the use of Java components in Android, components where Oracle claims the license rights. More specifically, it is about Java APIs and Java Virtual Machine.

What you see is that Google has been taking steps to phase out its dependence on those components for some time now. In the pending lawsuit of Oracle versus Google, the number of lines of code that is still under discussion has since drastically decreased because Google is consistently making adjustments in its Android environment.

And in the Flutter story, the use of the Java VM has completely disappeared. Initially that was not the case in Kotlin, a tool for native Android development, but with Kotlin/native it is now also perfectly possible to work without a Virtual Machine. A US Supreme Court ruling (that’s how high that case has now reached) in the Oracle – Google trial is expected in June 2021. However, the road to an Oracle license-free Android environment seems unstoppable. And that leads us to assume that Flutter can also count on solid support from Google in 2021 and the years after.

Rewatch our Flutter Webinar:

Flutter, a rising star in the world of cross-platform mobile development. In this webinar we explain what Flutter is, why it has become increasingly popular over the past year and how it can help you on your mobile journey. We share some of our experience building apps and talk about the future of Flutter.

Bart Gouweloose

Google evangelist

Ready for the next step?

Contact us, our experts will be happy to help you!

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.