4 ms·
Curious how it compares with other reactive mobile frameworks like Jetpack Compose (which my colleague says is not at all ready for primetime) and Flutter (whic
by gman83 6y ago
Curious how it compares with other reactive mobile frameworks like Jetpack Compose (which my colleague says is not at all ready for primetime) and Flutter (which he says is great). Any thoughts?
- jamil7 6y agoConceptually it’s great and when it’s more stable I can’t imagine a faster way of building a cross platform Apple app that looks and feels correct. Styling a react native app felt tedious in comparison. Jetpack Compose appears to be going in a similar direction but last I checked it’s a long way off as you mention. Flutter is interesting but I have very limited experience, I was initially turned off by dart and the heavy focus on Android. I keep hearing positive things on HN and from other people though so I want to give it a another proper go. Overall it’s a bit of an awkward time for mobile development.
- gman83 6y agoThanks for the response. I have some personal experience with React Native which feels like a dead end to me. We've been building our apps with our small team with Swift (not SwiftUI) and Kotlin on Android, but the difficulty in keeping feature parity and UI consistency across platforms has tempted us to try Flutter, but as you say we're worried about how well the iOS widgets are replicated, also the accessibility story on Flutter seems not great, which is a moral problem for us as we don't want to exclude people with disabilities.
- ghostwreck 6y agoWhy do you feel React Native is a dead end? I've built apps of all sizes with it and had a good amount of success. I love Swift as a language, but building the same app across platforms (Android/iOS) always feels so wasteful.
- biztos 6y agoIs React Native also OK from an accessibility point of view? I'm just starting to work on apps and I feel the same moral imperative, but have no special love for Xcode &co.
- kall 6y agoIt is not going to be as good out of the box as a native iOS app, but it is is workable with a little bit of effort. Unlike Flutter, react native does not have a fundamental architecture that makes accessibility tricky.
- jameshush 6y agoBackground: I worked on the NFL mobile app and then worked on a search engine app both of which were in React Native. Specifically I worked on the team that did the developer tooling side for other teams. I made it so experienced JavaScript developers who had no experience with native mobile could create features more easily. Both get millions of downloads. React Native is a pain to work with when the scope of your app becomes any larger than an agency level project (e.g. an app for an event that's only going to be used one weekend). Once you start getting into requirements for a prime time production app (setting up APM tool, setting up tracking, setting up Google Analytics, native specific features that don't have a React Native hook yet) React Native is an extra layer of abstraction that slows you down. The experienced native developers hate working with it because they'd rather just use the related native platform themselves, but at the same time for any slightly complicated app you still need their expertise. Also, out of the box animations in React Native is difficult to work with, especially with less experienced developers, so you end up having to do a variety of work arounds to get animations between screens to look nice which you'd get out of the box just using Kotlin/Swift. In 2020 if I needed to make an app quickly, cheaply, that worked on both platforms, I'd make a great mobile website and wrap it in a native shell. Any screen that needed a little bit extra "magic" I would do 100% native code for both platforms. This also allows you to ship updates to screens as you go without a complicated "codepush" JavaScript setup, as it's just a webview on the other end. I'm still maintaining the React Native search app now, it works fine, but if we need to create an iOS version of it I'd definitely pitch doing it in native code.
- sebe 6y agoAccessibility is important, have you checked out the flutter docs? https://flutter.dev/docs/development/accessibility-and-localization/accessibility https://flutter.dev/docs/development/accessibility-and-local...