4 ms·
Sounds like React Native causes more work then necessary. Business logic can be easily shared between different platforms, Android, macOS, Windows and iOS. Alwa
by wdb 7y ago
Sounds like React Native causes more work then necessary. Business logic can be easily shared between different platforms, Android, macOS, Windows and iOS. Always the most time is spend to make the app behave right for each platform, so that’s only bit which differs. I am
happily writing apps in Swift for Android and iOS
- mattacular 7y agoThe Swift for Android and iOS makes sense but how do you "easily" share same business logic between those other different platforms?
- rsynnott 7y agoSwift will also work on Windows, and of course on MacOS (and Linux). If you prefer, you could use Kotlin in a similar role via kotlin-native.
- eropple 7y agoBut Swift won't work on Android. And Kotlin Native is severely compromised. The lingua franca options are effectively Xamarin, Flutter, and React Native. Xamarin's dev experience sucks and Flutter's perf isn't much different from React Native with a way less mature ecosystem. There are people who should write platform-native mobile apps. For everybody else, React Native is fine. And, for my money, TypeScript is the most right programming language easily available on major platforms today, so that makes this one pretty self-evident to me.
- rrdharan 7y agoDoesn’t QT belong on your list? Or am I missing something?
- eropple 7y agoI'm not writing mobile applications in C++.
- MarkMc 7y agoGenuinely curious: In what way is Kotlin Native severely compromised?
- eropple 7y agoThe reason, to me, to use Kotlin is to leverage the JVM without having to write Java or Scala. When you don't have the decades of quality JVM libraries there, I don't see much value in Kotlin, outside of high-performance applications that I don't need to write on mobile. Instead I can write TypeScript--and while I don't hate Kotlin, I quite like TypeScript--without having to constantly screw with marshaling between the native/UI layer and Kotlin Native.
- wdb 7y agoFor that I am using the compiler which allows C#, Go, Swift code to mixed. It’s really great. So with some work you could use existing C# code even in your mobile apps. I am liking it so far :)
- blunte 7y agoWatching some videos illustrating writing iOS React Native apps using Clojurescript, with REPL changes updating app display in real time (well, "live") is what makes me interested in RN. Were it not for that, I don't see why Swift is such a bad thing. I know that maintaining two separate code bases for iOS and Android is theoretically bad, but I imagine if the apps are architected well it shouldn't be such an issue.
- rsynnott 7y ago> I know that maintaining two separate code bases for iOS and Android is theoretically bad I'm not sure _why_ this should be theoretically bad. It depends what you're going for, of course, but cross-platform GUIs are typically... not good. There's a lot to be said for separate GUIs with shared business logic IMO.
- ericlewis 7y agoIt’s theoretically bad because you’re theoretically wasting your time and resources. In practice that doesn’t have to be true. But I merged two teams together via react-native in hopes to make them more productive and it absolutely worked. Android is no longer a laggard with features, which was also a big goal of ours. That said, if I were to go back and time and know how much of my own time would be spent fixing bugs in react-native just to keep the team productive, I might have made a different choice. Edit: should also be known that I’m no longer helping with fixing RN bugs, and the team still messages me on occasion to ask questions or for help to fix things. This was absolutely not the position I was trying to leave that team in. Edit edit: my leaving the team wasn’t within my control and management didn’t realize the level of work to Keep the Lights On nor did the particularly care.
- Naomarik 7y agoI'm using Clojurescript with react native via re-natal and it's a decent experience because of Clojurescript. If Clojurescript was not an option I'd probably just use flutter instead.
- egwor 7y agoExcept that you do need to know two technologies. Part of architecting it right is also using the technologies correctly and that's extra knowledge + time + skill.