3 ms·
> they don't need to know any objc/swift/java/kotlin to build the product. I have a hard time believing this, and I've been making apps on both platforms for >
by fingerlocks 7y ago
> they don't need to know any objc/swift/java/kotlin to build the product.
I have a hard time believing this, and I've been making apps on both platforms for >10 years. And I love react-native. My latest day job is basically forking popular react-native packages, often rewriting them in Swift, fixing numerous bugs, and adding features specific for our company.
And all this experience has taught me that in no way can you expect anything but the most basic, ugly CRUD app from a JS dev. I have tried many times to assign "just" the cross-platform code to a javascript person and it never works.
What do you do when there are native build errors? Xcode needs to be upgraded, or parts of your RN modules are deprecated? Gradle files need to be actively maintained. There are features and UI behaviors that are difficult to grok without some background on the individual platforms (e.g., push-notifications). There's also combinations of packages that can break your app- "react-native-sound" and "react-native-audio", the sound and microphone packages respectively, modify the same singleton on iOS. Adjusting settings in one breaks the behavior in the other! How could a JS dev possibly hope to solve something like that?
- anon9001 7y agoI've only had to dive into the native code a handful of times, but I do basically make an ugly CRUD app. Most apps are ugly CRUD apps though. I haven't used the Shopify app, but it probably falls into that category too. > What do you do when there are native build errors? I periodically do suffer through xcode upgrades, bad RN module linking, gradle issues, etc, but it's a couple of days of work every few months to say current. The JS devs don't really have to think about this stuff for the daily work. I think it's totally possible to get away with one person that knows how to do the hard technical stuff when it crops up. That said, I don't build the most technically sophisticated product. The vast majority of changes we make are for design/marketing or for features that build on what we already have. I think that's true of most apps. It's not for everything, and I'm glad Firefox (for example) does do native Android development. I couldn't imagine that working with React Native. But look at the apps on any random phone and the ones that couldn't be made in RN is pretty small.
- fingerlocks 7y agoHaving one dev that knows something about the native side makes this very believable now. I haven't had the pleasure to work on a basic CRUD app that didn't also have some A/V or special file IO work. Your project sounds ideal for an exclusive react-native JS team.
- orange8 7y ago> And all this experience has taught me that in no way can you expect anything but the most basic, ugly CRUD app from a JS dev. > I've been making apps on both platforms for >10 years. And I love react-native Doesn't this make you a JS dev too? Or how exactly do you define JS dev?
- fingerlocks 7y ago"JS dev" is shorthand for "JS-only dev". I made Android apps in Java and iOS apps in ObjC/Swift for many years. I still mostly write native code, but now I'm writing native code in various react-native packages.
- pvinis 7y agoMaybe it's better phrased as "they don't ALL need to know..", as long as some of them know.