dwyl / learn-flutter

🦋 Learn how to use Flutter to Build Cross-platform Native Mobile Apps
https://flutter.dev
GNU General Public License v2.0
73 stars 8 forks source link

What Flutter and React Native have in common ? #20

Closed miguelmartins17 closed 4 years ago

miguelmartins17 commented 4 years ago

While looking more about Flutter/Dart I noticed that many times React Native is mentioned, is there any connection between them ? Is it worth exploring more about React Native ? Is it a good bet of our time to write about the differences between them ? 💭

nelsonic commented 4 years ago

@miguelmartins17 this is a good question. You will often hear people compare and contrast these two technologies because they have similar goals/objectives: Build Cross-Platform Native Mobile App.

We can let other people write about the differences between React Native and Flutter. For now we only care about learning about Flutter.

For context: We were required to use React Native for an IOS App for client in 2018 and it was a nightmare! The process of compiling a React Native app was painfully slow (like 20 mins each time) it took ages to build features and then when it came time to attempt to deploy the app to the Google Play we discovered that 30-50% of the App would need to be re-written because the UI was not "standard". This StackOverflow question (without any solution 22 months later) summarises our pain: https://stackoverflow.com/questions/49436853/slow-compile-react-native-ios-app We had an App with 100+ screens and reasonably complex interaction. It took 20+ mins to compile! Slow compile times are a known issue: https://github.com/facebook/react-native/issues/25030 ... But when FB don't have a solution to a problem they simply close the issue and "lock" it so that it cannot be re-opened. 🔒

We ended up having to rebuild the App in Elm as a Web App, which was much faster and worked everywhere. The Elm Web App was then "wrapped" in a Web View. (that's why I opened the Web View SPIKE #5 to see how easy it was to "wrap" a Web App ...)

I would not use React Native again in any time soon it's substantially inferior to Flutter. The reason I'm interested in Flutter is that all the Material UI widgets are created by Google. So not only are they fast to compile, they are consistent across devices/platforms. The only reason React Native is more popular than Flutter right now is that RN was available earlier. Flutter will take the place of React Native as the preferred cross-platform app development system in the next 18 months. Be ahead of the curve by becoming an expert in Flutter. Then if you end up applying to work for a different company (not @dwyl) you can pick up RN in a couple of weeks so that you know what you're getting into ... 👍