Flutter (or the other similar Framework “React-Native” ) is only doing its best at UI for single-code development in multi-platform (iOS, Android).
When you need to add on some non-UI features in your apps (eg. customized QR-code, customized foreign language keyboard, etc), you need to develop in native codes (C/C++… ) then called by Flutter / React-Native (Which Choice ? )
Native vs Cross-Playform Framework Approaches:
- Naive : Java / Kotlin (Android) or Objective-C / Swift (iOS)
- Cross-platform Framework: Flutter / Dart (Google), React Native
Mobile Apps developed for cross-platform : iOS, Android, Web… (Huawei HongMengOS ? )
- Flutter (Google) — Dart
- Xamarin (Microsoft) — C#
The above analysis for the 3 tools is neutral – beauty is in the eye of the beholder – they are more or less the same family based on current Object-Oriented paradigm.
However, I would recommend a 4th option with additional future-promising Functional Pragramming (FP) paradigm for multi-platform mobile apps:
4. Native Codes in C++ (Version 17) with Standard Template Library.
- C++ can be developed in Android Studio, called by Java / Kotlin / Flutter via JNI interface.
- Or in React Native IDE.
- IEEE 2019 Ranking : C++ / C is ranked 3rd popular language behind Python (1st) & Java (2nd), but it is unique in multi-paradigm & multi-platform, an advantage compared to the others.
[Source: please read the below link:]
“The dawn of a new era in app development” by gk_ https://link.medium.com/fDulXo3zWZ
The dilemma of maintaining 4 code bases for multi-platfofms:
- Cross-platform tools for Web / Native codes.
- Google’s future Android-replacement Fuchsia OS (OO&FP Logic : C++/C, Phone UI: Dart, Web: Rust, Server: Go) Flutter framework for iOS / Android / Windows / Web [Notice: the conspicuous absense of Java]
华为 鸿蒙 Huawei HongMeng‘s answer : “1+8+N” iOT multi-platforms (which will soon obsolete Apple iOS & Google Android)
- Smart HD TV (out in August 2019)
- Mobile Phones / Notepads (April 2020 Huawei P40)
- Driverless Car
- PC Desktop
- AI Sound boxes
- Virtual Reality (VR)
- (+ N) All iOT devices
C++ version 17 (Standard Template Library ‘STL‘ for Functional Programming) is multi-paradigm : Imperative, OO & FP. It curently supports Android as Native codes (ie bypass JVM).
Google: Flutter framework in Dart (a Java cousin)