Why we chose Flutter to build multi-platform mobile apps
At Present Technologies, we’re always looking for the best solutions for our clients. In recent years, we’ve been asked for mobile solutions that could be developed once for both iOS and Android and at the same time could have the same quality of native apps. This would reduce the cost significantly, and turn viable some projects of our clients.
With that in mind, we began researching and experimenting with several multi-platform frameworks. In the end, Flutter was the clear winner.
Flutter is a free and open-source framework for building native-looking apps on iOS and Android from the same code base.
It was created by Google and has the full weight of the company betting on its success, but the framework has also been getting a huge amount of traction from the community since launch.
For example, it has recently reached 86k stars on GitHub, where it already surpassed one of its main competitors, React Native, and additionally, it has had hundreds of events and gatherings of enthusiasts around the world, showing a strong support of the developer community as well. This also shows that the framework can healthily live without Google.
As to the main advantages we found of using Flutter to build mobile multi-platform apps, they can be summed up by the following:
- Developers increase productivity ten-fold:This increase in productivity comes from Flutter’s “hot reload” (A.K.A “Stateful Hot Reload” and “Hot Restart”. Together, these allow developers to see changes they make to the state of an app in less than one second; and changes to the app structure in less than ten.
- Frontend & Backend with a single code: Unlike in Android coding, where there are separate files for frontend (Views) which are referenced by backend (Java), flutter uses a single language (Dart) which does both the job and uses a reactive framework.
- UI Compliance – everything is a widget: Everything is a widget on flutter. Be it ‘texts’, ‘buttons’ or even ‘screen layouts’, it is all in the form of pixel-perfect widgets on Flutter. These widgets arrange themselves in a hierarchical order on a Flutter app. Sometimes, these widgets hold inside them other widgets as well. These widgets make the UIKit of Flutter a uniform experience for users of all sorts of platforms. An architecture characterized primarily by widgets makes it clear where certain attributes and behaviour applied to a portion of an app are coming from. This is a prime reason why Android and iOS app developers must consider Flutter.
- Performance: Flutter uses easy to learn, powerful and rich Dart language to code its apps, while rendering it on its own engine layer, by drawing everything you see on the screen using OpenGL, just like a video game does, making it possible to easily expect native performances at 60 fps or even 120 fps for those devices that are capable of it.
- Platform aware: Some of Flutter widgets are already out-of-the-box aware of which platform they’re running on and adapt without any developer intervention. This means that you can expect, for example, an App Bar to match iOS and Android guidelines seamlessly. However, if you want to customize yourself, it’s just as simple as using an if-else statement.
- Time to market: This is the time to start increasing your app’s productivity by joining in the world of Flutter made apps, along with huge organizations that already jumped in, such as Alibaba, eBay, BMW, to name just a few.
At Present Technologies, we already released several apps to the market using Flutter, and are currently working on several others. The results for us and clients have been outstanding so far.
Flutter is here to stay!
If you want to know more about it or are interested in saving time and money building a multi-platform mobile app, get in touch!
Comments are closed.