Live data from Hacker News

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

news.ycombinator.com

121–130 of 149 posts

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

#121
post #64

A little off topic, but I really, really wish that people would stop trying to make JavaScript be the language of everything. I have zero interest in JavaScript, I don't believe it's a nice language to work in, and the ecosystem is insane. However, given the way things are going, and the way jobs are trending around me, it seems unavoidable.

Of all the niches one might worry JS will/has claimed an unavoidable status.... native mobile app development doesn't seem like it should be high on the list.

Any language with as critical a mass among devs will probably see tools to help people leverage it across different environments, so JS will likely continue to move into and live in all sorts of niches. But it's quite avoidable on the server, desktop, native mobile, embedded, and it's even becoming partially avoidable on the web.

You're safe enough that you don't have to make everyone else dislike it in order to not have to touch it.

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

#122
post #79

Earlier quoted context omitted.

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.

typescript wants to be in your project from day one flow can be added to an existing project i feel that almost everyone underestimates how important this is

This seems to be a common misconception. TypeScript can be added gradually as well with strict settings disabled, and supports JavaScript with a config setting. With Babel now supporting TypeScript[1], none of these arguments prevail.

[1]: https://www.npmjs.com/package/babel-preset-typescript

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

#123

Earlier quoted context omitted.

React Native is native. It's nothing like trying to shoehorn rich client functionality and animations into a web view.

JavaScript still much slower and more memory-hungry than Objective C.

Yes, and 99% of the code running in a React Native app is written in Objective-C, because they are native widgets and native libraries (often just the AppKit widget or a wrapper around it). That's why it's called React Native.

The JS runtime is only used to choreograph different native components. It's like a .xib or storyboard but with the ability to do logic. This code runs at user input speed so the relative performance characteristics are irrelevant.

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

#124

We have a 15-person engineering team and converted our mobile app to React Native at the beginning of this year. We do not regret it. Our pace of delivery is much faster with React Native than what we were able to achieve building natively. Our app has over 100 screens, and only needing to implement features once to have them on both platforms is nice. The feedback loop when making code changes is much faster, especi…

Do you share any of your code base with a web app?

We don't right now. We're a car insurance carrier that uses our mobile app to gather data as people drive. Since all of our customers have our app installed, we haven't looked to building a web app version yet. Although we could reuse some logic on the web, the overlap would be minimal. Most of the code is centered around the UI, and a web app would likely have a very different interface. It would be nice to share some business logic functions, although we tend to not put much of that in the client anyway. Most of it happens server-side, with client hitting APIs to check business rules.

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

#126
post #64

A little off topic, but I really, really wish that people would stop trying to make JavaScript be the language of everything. I have zero interest in JavaScript, I don't believe it's a nice language to work in, and the ecosystem is insane. However, given the way things are going, and the way jobs are trending around me, it seems unavoidable.

For the native platform I feel that "make JavaScript be the language of everything" was basically forced on people if they wanted something to work on iOS because it's one of the only languages that are allowed on the platform. It is especially useful because you can do minor updates to your app to support bugfixes and faster iteration times.

iOS doesn’t restrict the languages on its platform. Restrictions only come into play if you want to download code from the internet and run it.

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

#127
post #54

Earlier quoted context omitted.

On top of that my question to the OP would be, why do they need to search around for libraries that are older than RN. In a team of 10 you can most likely create your own ones, or fork already made libraries and upgrade them to fit your purpose. One of the greatest things with RN so far for my team has been that we can actually write native components and bridge them. Yes RN is changing quite fast in general and most…

The main problem we're having is that newer versions of RN use React 16. React 16 has breaking changes, particularly the changes to PropTypes and createClass, which some of our dependencies have already fixed but others haven't. This means to upgrade RN, we need to either submit fixes for all these libs or use a version of RN which still uses React 15, both of which have their own problems, especially since React 16…

Imho, I think you got it wrong here.

I don't think you are supposed to make a production RN app out of the bat, by just using 3rd party dependencies.

RN isn't wordpress where someone can employ you and say I want this and that and then you go off install 50 plugins and thats it, your project is completed.

If you are installing a lot of RN 3rd party dependencies for a production environment then you are doing it wrong.

The best thing RN has to offer is being able to write React for parts and write Native code for heavy tasks.

You do need to go down and write your own components natively, sure if someone has done it before and its well maintained and you tested it and works for you then fine use that library, if not then don't install it but make your own.

For js components only components, then again if its very well maintained then use it, but nothing stops you for making the component that works for you.

RN is a bit less work than writing a Native app, but not too far apart. It's not meant to be for webviews and for people that just want to make a complex production app using 3rd party dependencies in very little time. Its meant for dev teams that JS is their main language but do have someone that has an understanding of native code.

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

#128
post #8

We switched to React Native for Bitesnap after developing the initial prototype using swift. We've been using it for almost a year now and have no regrets. It allowed us to ship our product to a much larger audience without slowing us down. Users seem pretty happy with the product as well, we've had no complaints about performance aside from a barcode scanning issue on older android devices. https://itunes.apple.com/…

Great product! What navigation are you using?

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

#129
post #97

Earlier quoted context omitted.

Can you speak more about how you've integrated Typescript? As far as I've seen it's not officially supported, so I am wary. I also use Expo

Facebook have decided they won't support it (Flow is their thing, so that makes sense) but Microsoft has stepped up with some pretty serious support, including good docs for the process of converting a new RN project to TypeScript: https://github.com/Microsoft/TypeScript-React-Native-Starter Not sure whether that'd play nicely with Expo without a bunch of extra work. It is quite a bit harder to convert an existing pr…

This transformer: https://github.com/ds300/react-native-typescript-transformer worked perfectly for me so far. You don't have to change your code at all but just add a single file to your project and the packager will do all the rest for you.

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

#130
At Artsy, my team of long-time native developers, started using React Native on valentine’s day 2016 in our pre-existing iOS app. Overall it has been a net-positive for us. In short, the developer experience and ability to be productive is much better, we now are able to leverage the product engineering skills from devs that would previously only work on web projects, and our initial tests in porting our React Native iOS code to Android are looking promising.

I think there’s no binary answer to whether or not React Native is a viable option. I can definitely imagine a bunch of situations where that would not be the case, but in our case the app is largely just a collection of views that show remote JSON data. Some small animations are done using the React Native animations API, but e.g. our navigation completely relies on native APIs and also has custom native transitions.

In short, I think that the companies that will succeed with RN are those that have native experience and a can-do-self attitude, both to ensure proper platform UX and deal with lower-level details such as RN bugs and limitations that would prohibit the product design from being possible to implement at all (for instance, in our case nested scrollviews); or those that are willing to sacrifice on UX and product design. (Not making any judgements here btw.)

We’ve written a bunch about our experiences https://artsy.github.io/series/react-native-at-artsy/ and I recently spoke about our specific case of integrating RN into our existing native app at React Native EU https://github.com/alloy/react-native-eu.

Post reply on HN