Live data from Hacker News

Ask HN: Companies who adopted React Native over a year ago, do you regret it?

news.ycombinator.com

71–80 of 149 posts

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#71
post #69

Earlier quoted context omitted.

How does it compare with react-native-navigation? Kind of difficult to parse the adoption/ecosystem based on download trends[1] for these two [1]: https://i.imgur.com/etEa7WT.png

I recently gave a talk at Chain React in Portland (first ever React Native only conference) where I compared these two nav stacks: https://www.youtube.com/watch?v=kFyaj5HmMEY&t=1059s The situation with navigation and React Native is a bit of a mess right now. Basically all navigation stacks can be broken down into two categories, those that are native (i.e built on top of the OS's existing navigation stack) and those…

I would think that having to learn a little about iOS/Android would be a small price to pay for decent performance and accessibility. The idea that those are only sometimes important rather than a necessity is alien to me as a software developer and as a user.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#72
post #65

Earlier quoted context omitted.

> I'd also love to hear why ReasonML is good. Not the OP but I've spent the last couple weeks diving into ReasonML [1]. I'll give you the synopsis: 1. Type system is great. Way better than Flow/TypeScript in terms of both ergonomics (my opinion) and soundness 2. Comes out of the box ready to build React apps. Project init is very easy (there's reason-scripts for create-react-app and already boilerplate/generators for…

Great answer, thank you so much for writing it. Given all of the con's, would you advise building an app from scratch with ReasonML? My main hesitation with stuff like this & Clojure is that the learning curve for React Native + the JS ecosystem is already pretty steep. Do I want to add another layer into the mix? For me personally, it would have to come with a big return on investment to justify the cost. I feel it…

I think if you (or your team) are not already comfortable with React and the JS ecosystem, ReasonML probably isn't for you right now. It's still a very leaky abstraction, with multiple layers. Often errors can occur that in order to decipher require knowledge of both Reason/OCaml, BuckleScript (the compiler), React and JavaScript. Adding React Native is another layer.

The ReasonML team are pretty amazing, though, and I do believe that they will rectify these problems quickly. A lot of effort is being put into documentation, error messages, tooling and design. The vision that they have for the project and the way they want people to be able to develop software is one that I admire and support. I'm putting in my own spare time to help them out, in the small ways I can.

Right now, though, I would honestly recommend ClojureScript before Reason. I do believe the maturity of that ecosystem really has hit the point where the gains (REPL, data-driven development, reagent + reframe + figwheel >>> react + redux + webpack, and CHANNELS!) outweigh the costs (unfamiliar language, unfamiliar ecosystem, additional layer of abstraction). I've built some internal tools using Electron + CLJS and it was great. Haven't messed around with using it and React Native yet but I know that the renatal [1] project has come a long way over a short period of time.

Your note about reactive programming is similar to the ReasonML vs CLJS vs JS conversation; reactive programming is great for certain things! But it comes at a cost; the abstraction makes certain problems harder and introduces it's own set of bugs (lifecycle bugs/crashes and memory leaks being the biggest one I've encountered with RxJS & RxJava), and can make your app code harder to reason about. Is it better than using callbacks or promises and imperative programming? Probably! Is it always? Nope! Are there other alternatives? Yes (CHANNELS!)

TL;DR: Not worth it right now; give it 6 months :D

[1] https://github.com/drapanjanas/re-natal

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#73

My team has been working on our app for 1.5 years now and of all the technical choices we've made, React Native is probably our favorite. It's taken us through the prototyping stage and all the way to production without many issues. Granted, we're a very small engineering team of 3. Pros - We haven't done performance tuning and haven't had any user complaints about performance (it's a multi-channel chat app) - Most o…

I've tried making a chat application using Ionic and it's been tough.

The main issue is infinite scrolling by scrolling upward.

The user scrolls to the top, we make a note of the current top comment, load the next set of results, add them to the page.

At this point, the scrollbar is still at the top, so we need to manually scroll down to the previous top comment.

It can be a little jumpy. It certainly isn't smooth like WhatsApp etc.

Does RN have a list view that deals with this issue out of the box?

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#74
post #71
post #69

Earlier quoted context omitted.

I recently gave a talk at Chain React in Portland (first ever React Native only conference) where I compared these two nav stacks: https://www.youtube.com/watch?v=kFyaj5HmMEY&t=1059s The situation with navigation and React Native is a bit of a mess right now. Basically all navigation stacks can be broken down into two categories, those that are native (i.e built on top of the OS's existing navigation stack) and those…

I would think that having to learn a little about iOS/Android would be a small price to pay for decent performance and accessibility. The idea that those are only sometimes important rather than a necessity is alien to me as a software developer and as a user.

I agree, accessibility is important and in many countries required by law. However using React Native Navigation can be quite a lot of work for a shop that only has JS dev's who've never done native. Using React Native Navigation (or any native dependency) also has implications for your CI system, debugging and over the air updates.

Also you can make an app that has no accessibility problems using React Navigation, you just need to be careful about scenarios where you might have a deep stack. I.e during signup or something that requires several screens on top of one another.

Here is a summary of the bug:

https://react-native.canny.io/feature-requests/p/navigator-b...

It's painful but possible to work around these issues using React Navigation.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#75
I don't regret adopting React Native for a big project, since I think we've been able to prototype and iterate much more quickly than we would if writing in Swift or Java, and it's enabled us to get webdevs up to speed on mobile without having to teach them entirely new programming paradigms and languages.

But... RN still has huge blocking bugs like this one: https://github.com/facebook/react-native/issues/14209 that seem to pop up at random times, and not always for the same developers. I thought yarn would solve some of these issues, but they still kill our dev team and halt all work every once in a while. And it's annoying as heck.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#76
post #40

Earlier quoted context omitted.

Why are you using RN if your app is just wrapping a web view?

If you have to ask questions like this, you haven’t been working in the industry long enough.

OK. Let's say that's completely true.

Is snarkily telling someone they're not good enough helpful?

Seems like a moment where you could share what you know (as someone, presumably, has been in the industry long enough) and help someone.

(FWIW it sounds like a decent question to me: but then again undoubtedly I have not been in the industry long enough!)

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#77
post #65

Earlier quoted context omitted.

Great answer, thank you so much for writing it. Given all of the con's, would you advise building an app from scratch with ReasonML? My main hesitation with stuff like this & Clojure is that the learning curve for React Native + the JS ecosystem is already pretty steep. Do I want to add another layer into the mix? For me personally, it would have to come with a big return on investment to justify the cost. I feel it…

I think if you (or your team) are not already comfortable with React and the JS ecosystem, ReasonML probably isn't for you right now. It's still a very leaky abstraction, with multiple layers. Often errors can occur that in order to decipher require knowledge of both Reason/OCaml, BuckleScript (the compiler), React and JavaScript. Adding React Native is another layer. The ReasonML team are pretty amazing, though, and…

Great answer! Lots of food for thought. I'd love to hear more about any problems you have encountered with RxJS & RxJava.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#78
post #36

No, I don't regret it. We picked it for our startup as we wanted a cross platform solution, that genuinely felt native (without the huge effort it takes to make a webapp feel that smooth), and that still gave us a chance to easily native code for certain features. Big wins: - With a little effort, it genuinely feels native. - The talent pool is much larger. We didn't hire React Native folk, just good JS people who pi…

> - The JavaScript ecosystem is still insane. Our project has ended up with one of the most complex build processes I've worked with (and I've worked with autotools). God is that true. The JS ecosystem as a whole is actually, no BS, crazy, and their build jenga-tower especially is insane. With RN, though, we've only really had problems with it when using Expo. Taking that out of our stack pretty much solved our perio…

how long ago was this? our experience with expo has been pretty great so far.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#79
post #70
post #42

Earlier quoted context omitted.

This is a really solid answer. The point about ProGuard can especially bite you if you are adding React Native to an existing application. Also, upgrading native dependencies in React Native is a really big pain point. The quality of Native modules also varies enormously. An example react-native-camera: https://github.com/lwansbrough/react-native-camera Works well on iOS but has all sorts of performance problems on A…

> One question I have is why did you prefer Typescript over flow? I don't want to start a holy war on this, as it's generally accepted that Flow's type system and inference is superior. I believe TypeScript is a generally better solution despite this, for other reasons. This is just the list I can come up with offhand: Upsides for TypeScript: * bigger community * more definitions (This cannot be overstated; the gap i…

Thanks for this. I'm still relatively new to the Javascript world (mainly native developer) and I've only just started using flow.

Could you tell me a bit more about the following points:

* more definitions (This cannot be overstated; the gap is wide)

and

* great compiler

I'd love to hear more about this and or read some good articles comparing flow to typescript.

Re: Ask HN: Companies who adopted React Native over a year ago, do you regret it?

#80
post #44

Earlier quoted context omitted.

If you have to ask questions like this, you haven’t been working in the industry long enough.

Haven't been in the industry long enough to do what? Ask questions? It appears you have been working in the industry too long to answer them, which is much worse.

> Haven't been in the industry long enough to do what? Ask questions?

To be jaded.

It's merely a jab at the way we tend to overcomplicate solutions to simple problems. I think.

Post reply on HN