pull down to refresh
147 sats \ 2 replies \ @DannyM 25 May \ on: If you were to create an SN native app would you use React Native or Flutter? AskSN
Can we talk about how the word native lost all of it's meaning? Neither React "Native" nor Flutter generate native apps!
Traditional native apps meant writing platform-specific code - Swift/Objective-C for iOS, Kotlin/Java for Android. You'd use the platform's own UI components, APIs, and development tools directly. React Native promises "native" experiences while actually running JavaScript in a bridge that translates to platform APIs; Flutter doesn't even use native UI components.
Both React Native and Flutter produce native applications:
- https://reactnative.dev/docs/intro-react-native-components#native-components
- https://docs.flutter.dev/resources/faq#run-android
React Native apps ship with a JS engine that runs the logic, but the widgets are actually native (OS-supplied).
Flutter compiles the Dart code to native ARM binaries directly (via LLVM, skipping Kotlin and Obj-C) and the views are constructed from custom platform-specific components.
And just because Flutter has custom components doesn't mean it's not "native". There are, for example, multiple frameworks for Windows (MFC, WPF, UWP, Qt, Swing, and many more) - they are just different renderers, but only Windows API/MFC/WinForms could be considered "truly native" (as in, OS-supplied). Noone writes apps using that anymore (because DirectX exists) but we call all those .exe's "native" apps anyway.
reply
(Sorry for the late response, just saw this message)
Windows applications are the worst example imo. If their own start menu can use 100% of the cpu because they decided to use react native, you know that windows is not the correct example to take from. Windows is a mess, and has been for years.
Take any pre 2010 program running on 2010 hardware and compare the performance of that program to a react native one running on today's hardware. If that comparison doesn't work to prove the point just yet, take a program from before 2005 running on 2005 hardware and do the same comparison.
When I use the word native I mean those kind of applications.
reply