Flutter: What It Is, the New Mobile App Development Technology, and Comparison with React Native
What is Flutter?
Flutter is a cross-platform app development framework for iOS and Android developed by Google. Flutter uses the Dart programming language, also developed by Google, and has been used to create native applications for Google.
Difference from native Android technology
Many may wonder—Google already has a mobile SDK called Android, right? But for Google, the mobile world is too vast for just one solution. With the release of this beta version, Google now has two mobile SDKs: Android and Flutter. The key difference: Flutter can create apps that run on both iOS and Android.
As a cross-platform SDK, Flutter apps can run on both iOS and Android. It’s a clever way to be compatible with the UI frameworks on both platforms. Flutter apps do not directly compile to native Android or iOS code. Instead, they run on the Flutter rendering engine (written in C++) and the Flutter Framework (written in Dart, like the apps themselves), both packaged with every Flutter app. The SDK is then packaged into an app ready to run on each platform. Your app runs on a dedicated engine that executes the Flutter code, along with just enough native code to operate on both Android and iOS.
Packaging an engine with the app increases the installation size. Flutter’s FAQ states that an empty app is usually around 6–7MB on Android, so the size increases for any app. However, the benefit is very fast performance.
Flutter is designed from the start to achieve 60fps frame rates. While this is not rare on iOS, it is noticeably better on Android. Also, by shipping the engine with the app, developers avoid many Android fragmentation issues.
Pros and Cons of Flutter Compared to React Native
Flutter is Google’s direct response to Facebook’s React Native. Although Flutter was released later, it now has 30k GitHub stars compared to React Native’s 65k and is becoming a trend in the developer community.
Flutter
Advantages
- Strong in animations, with very high app performance.
- Nearly direct communication with native code.
- Static language with modern syntax, flexible compiler between AOT (for production) and JIT (for development/hot reload).
- Can simulate mobile on web, convenient for development. Performance metrics are supported for developers to monitor app performance.
- Can be used to build bundles/frameworks integrated with native apps to increase performance.
Disadvantages
- UI render engine is almost completely custom-written, not related to the native UI framework, resulting in high memory usage.
- Requires learning Dart, the BLoC pattern, and Dart streaming.
- Still relatively new; some plugins are not stable.
React Native
Advantages
- Good for fast development/hotfix (hot reload, bundle injection).
- Uses JS (familiar to many developers) and allows sharing business logic codebase with frontend (JS).
- Backed by Facebook; widely used internally, giving developers many benefits.
- Large number of libraries available, nearly covering common development needs.
Disadvantages
- Communication with native goes through bridges, can be a bottleneck if not controlled well.
- Using JS brings its typical characteristics: easy to code but also error-prone, making maintenance harder.
- Animation performance is limited; complex interactive animations often require native implementation.
- Not suitable for apps requiring high computational power (hashing, crypto, etc.).
Apps Built with Flutter

Although newer, Flutter is a hot trend in the developer community due to its outstanding advantages. Plugin issues and community development are expected to improve over time. Dart is likely to grow and be widely adopted by developers in the future.
Source: Compiled from Nordic, Mobile Day