Top 6 cons of Flutter
Is Flutter all about pros, though? Not quite. We tested it out in practice to see whether that’s the case. Here’s what cons we found:
Flutter is still an immature framework. It hasn’t been around for long, which is why it’s still not entirely stable. A number of more or less problematic issues remain, along with a lack of more advanced features that leverage the capabilities of operating systems. Many of these features are not yet supported, with plenty of libraries being in the pre-alpha stage and showing limitations when comparing them to native counterparts (i.e. Google Maps).
Dart is also pretty immature. When comparing it to Swift and Kotlin, it’s basically like taking a step back - it has either fewer features or the existing ones are not exactly well-refined.
Flutter apps are quite large and “heavy” to start with. They occupy a lot of space and take longer to download or update.
The look & feel is not 100% the same as with native solutions. Basically, Flutter doesn’t create native components. It somewhat replicates Android’s Material Design and iOS-specific components with its Cupertino library, but it’s not exactly the same. It’s visible especially with different system versions where text fields or buttons vary from one another, yet stay the same in Flutter.
There are no single “guidelines” when it comes to developing Flutter apps, which can be problematic when building more complex software.
The framework, as well as Dart language, are changing rapidly at times, which can make maintaining the code difficult in the long run. Plus, given the track record of infamous “projects killed by Google”, the future of Flutter might still be uncertain.