4 ms·
> 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
by 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).