4 ms·
I thought the cool thing to do was declare React Native dead for your org, not the new hotness?!? I try to re-evaluate my opinion of the mobile ecosystem month
by hugey010 7y ago
I thought the cool thing to do was declare React Native dead for your org, not the new hotness?!?
I try to re-evaluate my opinion of the mobile ecosystem monthly, and would love to know how people agree / disagree with my rankings:
1. Just make a web page
2. Native iOS & Android
3. Flutter
4. Some ordering of remaining cross-platform tools depending on requirements. (React Native, Vue Native, Xamarin, Ionic, Titanium, PhoneGap, Kony...)
- pjmlp 7y agoI have a different order: 1. Just make a web page (specially since many apps are just pretty CRUD ones) 1.1 For certain devices WebGL/WebAssembly can eventually also be an option 2. Native iOS & Android 3. Native iOS & Android with server side driven code for the business logic (maybe even UI layouts) 4. Native iOS & Android for the views with C++ for business logic 5. Your point .4 regarding cross-platform tools I don't have high hopes for Flutter, with Chrome and Android teams also pushing for their own solutions, and its dependency on Dart.
- hugey010 7y agoTotally agree with your 3 and 4. I've had, to my surprise, the most success with Flutter. (I've built multiple React web apps and spent way longer attempting React Native.)
- jamil7 7y agoApollo Server and it's associated iOS and Android clients can make your 3rd option really easy to pull off as it generates your CRUD logic and model code.
- jdmg94 7y agoif only they could figure out their caching...
- trevyn 7y agoReally depends on what you’re making. Personally, I find RN much more productive than native iOS, for the areas where it is applicable. The hot reload is quite magical. Also, you can push JS updates without needing to update the app in the store, which is a huge plus.
- jamil7 7y ago> I find RN much more productive than native iOS Give SwiftUI a go, it's buggy right now but you can see the potential, I find Swift a far more productive language than Typescript. However, I agree the hot reloading and updates are a pretty big plus.
- throw_m239339 7y ago> 1. Just make a web page This is 100% reasonable for a lot of apps. I for instance uses the web version of Gmail on my phone without any issue, and Gmail is a complicated app. Trade-off: not easily discoverable in the store of the platform, harder to test because of browser differences, might not be as fast as a native app from a UI perspective. > 2. If your app involves persistant storage and functions that are not supported by web browsers, or you need optimal performance like games. Great performances, easy to stick to UI styles for each platform, access to good quality tools for testing, no, leaky abstraction. trade-off: unless you are using a language supported by all platforms (C/C++), duplicate codebase for business logic. > 3. Flutter I don't know flutter because I don't know Dart. > 4. Some ordering of remaining cross-platform tools depending on requirements. (React Native, Vue Native, Xamarin, Ionic, Titanium, PhoneGap, Kony...) Phonegap and Ionic apps are essentially webapps. trade-off: for React Native likes: leaky abstractions which leads to issues when not knowing the underlying platform, the need to write "plugins" in the native language…
- hugey010 7y agoI don't know flutter because I don't know Dart. I don't fully understand this opinion. Learning "new" things can be difficult, but there's little "new" in dart compared to other languages. Maybe you can elaborate? Installing required tools, setting up a project, including debugger, is just damn easy (VSCode extension FTW). Also, any prior experience in mobile using Kotlin, Swift, or JS, translates well to Flutter and therefore Dart. Bonus knowledge bridge for people with MVVM experience due to first class async Streams API and third party RxDart (following ReactiveX spec).
- jdmg94 7y agowho is using flutter for their product? something in the wild (production) that has a real user base?