Introduction
There are many different technologies to pick from in mobile app development. When building native apps, you can choose either Java or Kotlin for Android, or swift for iOS apps.
These languages and libraries are vastly different from each other. there is virtually no reusability and this means that there will be at least two codebases.
Let's have a look at to some alternatives of native app development.
Hybrid app development
Over time, many hybrid frameworks entered the market. Their main goal is to simplify the development process for mobile app development. A few examples are are Ionic, Capacitor and React Native. Such frameworks provide bindings to the Android/iOS platforms. This enables developers to interact with features such as camera, microphone, location.
This might sound very attractive in theory, but it usually brings its own set of problems with it. Benefits such as a streamlined design go at cost of performance and a less native look and feel. Most of the hybrid solutions use JavaScript, which can be prone to errors and harder to debug.
Flutter, a better alternative
In December 2019, Google released Flutter. Flutter is a cross-platform UI toolkit that can compile to native Android and iOS apps. Flutter apps consist of components, called widgets. Widgets may contain other widgets, establishing a hierarchy. Parameters define the looks and behavior of widgets. Out of the box Flutter comes with a large range of Material and Cupertino (iOS) widgets.
Those widgets are very flexible and extensible. This allows developers to implement custom UI designs without too much hassle. Flutter uses a open source 2D graphics library called Skia under the hood. Because of this, all visuals will always look exactly the same, regardless of the platform. A rich ecosystem of packages allow developers to bootstrap an app even more easier.
More than mobile only
The recently released Flutter 2 takes everything even one step further. Next to mobile apps, it's now possible to build web apps and even desktop apps (macOS, Linux, Windows). One codebase to rule them all.
Canonical's popular Linux distribution Ubuntu has announced that they will start adopting Flutter. They will use it in various parts in their system, starting with the installer.
Conclusion
Flutter is gaining more and more popularity with the day. Its ecosystem keeps growing, and the adoption rate is rising. It's clear that Flutter will keep getting a more important role in the future.
Comments