Need advice about which tool to choose?Ask the StackShare community!
We will use Flutter for our athlete-facing mobile app. Flutter is a cross-platform app development framework, which boasts native performance and allows for creating beautiful, fluid user interfaces.
React Native may sound like a more appropriate option given our choice of frontend technologies, but we foresee little to no feature overlap in the web dashboard and mobile app. Ease of use, performance, good user experiences are key to encouraging athletes to use our app, something which React Native makes difficult, and is where Flutter excels.
We will use the test
and flutter_test
packages to test our Flutter app
We chose Flutter since we are developing a mobile application that needs to be performant (to handle displaying large amounts of data and video uploading) and would cover both Android and iOS systems.
Since we want the app to be cross-platform, two frameworks comes in to mind: Flutter
and React Native
. As shown below, Flutter's performance and out-of-the-box support impressed us to pick it as our framework for our mobile app.
React Native
has been a dominant force in cross-platform app development since its launch by Facebook. The ability to write React
-like code and have it compile to both iOS and Android makes developing mobile apps much easier. However, the overhead done to bridge Javascript
code into native code means React Native apps might not be as performant. Moreover, React Native
, much like React
, is an unopinionated framework that covers minimal functionality out-of-the-box. This means that most functionalities would have to be relied on third-party libraries or developers would have to write their own native code.
Flutter
, on the other hand, is a much newer framework developed by Google. While Flutter uses Dart
, a relatively new language compared to JS, syntax-wise it is similar enough to that a JS developer should be able to pick it up in no time. The Flutter
engine also compiles directly into native code, making it more performant when compared with React Native
. Flutter is also an opinionated framework, with a much large stack of Widgets to choose from out-of-the-box. The Widgets are also designed according to Material design principles, making styling easier.
I've made 6 professional/business applications with React Native before choosing Flutter/Dart for the new version of WinMinuteConso (historical in Ionic...). Multi Platform is far more stable, Dart is far more powerful, the whole process is really better... It is just hard to find the proper software architecture...
Pros of Apache Cordova
- Lots of plugins39
- JavaScript33
- Great community25
- Easy Development22
- Easy to learn17
- Cross platform14
- Open Source6
- Lots of descendants; PhoneGap, Ionic, Intel XDA etc5
- Easy, fast, not buggy in my experience with my code5
- Rich HTML 53
- Can use CSS33
- Easy debugging2
- Rich css ui2
- Fast and hot reload2
- Need a light system2
- Use what you code in your browser2
- HTML, CSS and JS2
- One code base everywhere1
- Native Web Technologies1
- Without extra tooling needed1
Pros of Flutter
- Hot Reload92
- Cross platform77
- Performance72
- Backed by Google63
- Compiled into Native Code53
- Open Source40
- Fast Prototyping36
- Expressive and Flexible UI34
- Fast Development34
- Single Codebase28
- Reactive Programming26
- Material Design18
- Widget-based15
- Dart15
- Target to Fuchsia15
- Great CLI Support11
- IOS + Android10
- Tooling9
- Debugging quickly7
- Easy to learn7
- Have built-in Material theme7
- Target to Android7
- You can use it as mobile, web, Server development7
- Support by multiple IDE: Android Studio, VS Code, XCode6
- Target to iOS6
- Easy Testing Support6
- Have built-in Cupertino theme5
- Good docs & sample code5
- Easy to Widget Test4
- Written by Dart, which is easy to read code4
- Easy to Unit Test4
- Community4
- Real platform free framework of the future3
Pros of Pepperoni
- Clone and run - simple, but it builds2
Sign up to add or upvote prosMake informed product decisions
Cons of Apache Cordova
- No native performance2
- Hard to install1
- Hard to install0
Cons of Flutter
- Need to learn Dart22
- Lack of community support9
- No 3D Graphics Engine Support8
- Lack of friendly documentation5
- Graphics programming4
- Lack of promotion2
- Https://iphtechnologies.com/difference-between-flutter1