This article summarizes the important factors involved when deciding between the two leading cross platform mobile development frameworks of Google's Flutter and Facebook's React Native.
Flutter
Advantages
- ✅ It can design complex UIs which are standardized across Android & iOS resulting in less platform dependent bugs.
- ✅ Easier to learn for existing mobile developers.
- ✅ Dart is a fully object oriented language, so is great for large enterprise size codebases.
- ✅ Good debugging ability and hot reload.
- ✅ A self contained easy to use IDE (Android Studio).
- ✅ Quick ramp up time.
Disadvantages
- ❌ Dart is a new language to learn, and isn't used anywhere else except for Flutter.
- ❌ Skills availability in the market is not as good as React Native, although it is growing.
- ❌ All of the UI must be in Flutter - you can't mix native UI components with Flutter.
More suited to
- 💡 Existing mobile development team.
- 💡 Graphical or UI heavy apps.
- 💡 Greenfield projects.
- 💡 Minimum viable products / startups.
React Native
Advantages
- ✅ Large number of resources and libraries available.
- ✅ OTA (Over The Air) updates; updates to the app outside of the app stores.
- ✅ Knowledge of React can be applied to web development.
- ✅ Easier to learn for web developers.
- ✅ Very good skills availability in the market.
- ✅ Can be integrated with existing native UI components.
Disadvantages
- ❌ Command line JS-based toolchain.
- ❌ Javascript / Typescript is not as suitable for very large codebases as is Dart.
More suited to
- 💡 Existing web development team.
- 💡 Migration of an existing app, with the ability to keep some native UI as is.
No comments:
Post a Comment