Subtitle "Treat Flutter Rationally"
Author: Nut
When creating iOS and Android applications, Flutter is often recommended because it's simpler and more efficient. Thanks to its many advantages, Flutter is an excellent candidate for mobile applications in many cases. Its performance, logical architecture, and documentation are highly regarded. The domestic community is also very active. However, in some situations, Flutter may not be the most suitable choice. That's what we'll see in this blog. Let's look at some scenarios.
1. When your project relies heavily on platform-specific and device-specific major libraries
If your project requires a Wear OS version or a Smart TV app, you'll run into some issues. You can technically build a Flutter app for these platforms. However, Wear OS does not support many of Flutter's development features, which can cause headaches.
For Android TV, you have to implement control logic from scratch. Since Android TV only reads remote control inputs, while Flutter uses touchscreen and mouse movements, that's the situation—you'll need to weigh the pros and cons.
2. When your app has strict size requirements
Because Flutter is not native, it adds some additional libraries on top of the app to function. If every byte matters for your app, you may need to develop on native platforms. Since Flutter has built-in widgets instead of using native platform widgets, the minimum size of a Flutter app exceeds 4MB, which is significantly larger than native Java (539KB) and Kotlin (550KB) apps.
To be honest, its competitors have the same problem—React Native takes up 7MB.
But thanks to advances in hardware technology, even smartphones now come with larger memory and storage. So most people don't care much about app size.
3. Hardware support

Using Flutter for apps that connect to hardware devices via Bluetooth is not recommended. Since it doesn't natively use the device's Bluetooth, there can be connection and performance issues.
4. Flutter for Web
It's not HTML. Yes, even the Web version of Flutter has been officially released, but it won't shake the internet world. There are many simple and effective libraries available for developing websites. When it comes to websites—page loading speed, SEO, performance, and everything matters—Flutter struggles to achieve these through a simple dart-to-JS engine.
But it's still too early to judge. Flutter may come up with brilliant performance optimizations. Let's wait and see. In Uncle Wang's video, he also elaborated on such issues—you can find the link here.
Can Flutter make websites? | Flutter Web Dissuasion Guide | From Entry to Abandon in Just a Few Minutes
5. Platform-specific look and feel
Material Widgets and Cupertino widgets are two different building blocks for Android and iOS apps respectively. When creating a Flutter app, you can use both. However, when we use Material widgets for an iOS build, the app lacks the native look and feel. To achieve a native appearance for both platforms, we need to check the platform in code and render the appropriate widgets, which is the worst part for coding and app performance.

6. Lack of third-party integrations
Although Flutter has 19k+ libraries and plugins, it still lacks many popular libraries and SDKs. Many packages are under development and migrating to Flutter. If you're developing an app that heavily relies on third-party plugins, check if the latest version of the SDK is available for Flutter. As for how to check,
Also, always prefer actively maintained repositories.
Finally, Flutter isn't always awesome. The truth is it can't please everyone. Of course, it's just a matter of deciding where to use it. Flutter can still be simple and efficient to use.