Live data from Hacker News

Why I'm Not a React Native Developer

arielelkin.github.io

81–90 of 318 posts

Re: Why I'm Not a React Native Developer

#81
post #44

I evaluated React Native for a project and decided to go with NativeScript instead for a number of reasons: 1. RN releases a new version every 2 weeks breaking my app every time. NS is a lot more conservative between releases. 2. I don't like mixing presentation and logic, RN encourages doing so, NS does not. 3. TypeScript is a first-class citizen in the NS environment, it is not in RN. 4. Angular 2 > React 5. NS cre…

Another vote for 7): I tried a little project in React Native and was intimidated by all the tooling and build steps needed to get my project running on iOS. To be good with React Native you will have to be proficient with all the tooling and all that seems to be a shaky foundation. There are lots of parts that can be updated and can break your project (I say in a vague way).

Re: Why I'm Not a React Native Developer

#82
post #51

A lot of people here seem to criticize the OP's POV on javascript, but my biggest takeaway was the more abstract parts of his post, such as patents and uncertain roadmap. These are very REAL problems. I am a javascript programmer AND an iOS programmer. I work with React to build web apps at work. And lately I have played around with react native, but I felt uneasy jumping ship to use solely react native for the very…

> my biggest takeaway was the more abstract parts of his post, such as patents and uncertain roadmap. These are very REAL problems. I would say the patent issue is more FUD than a real issue; he praises Swift but Swift has a very similar patent grant and termination clause. The key difference is that the Swift grant terminates if you end up in a patent dispute with Apple over something related to Swift; the React gra…

We've been here before. The patent protection used to go one-way, but now goes both ways after the issue was raised. Most open-source code comes without patent grants of any kind, so use would automatically infringe which is a far worse situation than here. More pragmatically, few companies could actively pursue a successful patent war with Facebook because the company would run out of capital before the suit was settled. That said, I haven't seen evidence that Facebook actually owns any patents related to React which makes the grant somewhat moot.

> Notwithstanding the foregoing, if Facebook or any of its subsidiaries or corporate affiliates files a lawsuit alleging patent infringement against you in the first instance, and you respond by filing a patent infringement counterclaim in that lawsuit against that party that is unrelated to the Software, the license granted hereunder will not terminate under section (i) of this paragraph due to such counterclaim.

Re: Why I'm Not a React Native Developer

#83
post #18
post #10

Unless I'm wrong, the only listed alternatives are both paid and closed source. Xamarin (requires VS Pro) or Appcelerate (requires $480-$1200/year/developer).

I believe Xamarin is now free post the MS acquisition with various parts and pieces even becoming open source: https://blog.xamarin.com/xamarin-for-all/

I was actually looking here: https://store.xamarin.com/

Apparently the free version has usage restrictions? I do consider free w/ Visual Studio Pro license not really free.

EDIT: The licensing pages are confusing but you're right, my mistake.

Re: Why I'm Not a React Native Developer

#84
post #70

Earlier quoted context omitted.

TS over JS isn't best practice yet: Some of us like dynamic typing.

For what purpose is dynamic typing ever useful except "it’s faster to develop"? With a proper type system (see: Haskell, Scala) and parametrized types, you can do everything that’s reasonable in a dynamically typed language, too.

You can do them, as you noted, at a much slower pace. Type systems catch one class of bugs, and if in your experience these are not the bugs you worry about or the bugs that cause you the most pain then slowing down development is a high cost to pay.

Re: Why I'm Not a React Native Developer

#85

Earlier quoted context omitted.

So many big companies with tons of lawyers use React... surely if they do it it's fine.

> So many big companies with tons of lawyers use React... surely if they do it it's fine. At best, that demonstrates that its fine...if you have lots of lawyers.

...but so many smaller companies and startups use React. Personally all of my employments (five at this point) have used it and none had more than twenty programmers. Has it actually been an issue in real life?

Re: Why I'm Not a React Native Developer

#86
post #40

JavaScript has its share of bad things but that's mostly solved by good tooling. I think Java or ObjectiveC feel too "heavy" for UI development. React makes it simple and even with its downsides in my opinion it makes other technologies no longer relevant in this domain .

I agree, UI development is a different beast.

He briefly mentions hot reloading and declarative UI at the start, but it's drowned out by his ranting on JS and doesn't seem to earn it any points in the end. But those two are huge boons for UI development, to the point where it's worth putting up with JS's flaws as a language. Flexbox and media queries make CSS pretty decent for layouts. Dynamic languages are a double-edged sword - for UI you often want something up and running and useable to see if it actually feels right, without worrying about interfaces and types too much. Objective-C and Java can feel clunky in comparison.

Re: Why I'm Not a React Native Developer

#87

The legal concerns are legitimate, but frankly, I am unconvinced by the criticisms of JavaScript: There are well-known, well-designed tools like ESLint, and if you like types, Flow and TypeScript, which can mitigate the issues. That's more than you can say about Java (COBOL 2.0, now with a bevy of cargo-cult OO that makes things more overly complex), or Objective-C (All the safety of C, with similar OO problems, and…

Some of us happen to think that no GC is a good thing, in Obj-C's case. Swift eschews it as well.

Re: Why I'm Not a React Native Developer

#88
As someone who loves React, the hardest thing about it for me is debugging. I'll get some error about how renderComponent doesn't accept null values or whatever, and when even the outermost error is so cryptic, the stack trace is even less helpful. Is there a conventional solution to this I'm not aware of?

Re: Why I'm Not a React Native Developer

#89

The legal concerns are legitimate, but frankly, I am unconvinced by the criticisms of JavaScript: There are well-known, well-designed tools like ESLint, and if you like types, Flow and TypeScript, which can mitigate the issues. That's more than you can say about Java (COBOL 2.0, now with a bevy of cargo-cult OO that makes things more overly complex), or Objective-C (All the safety of C, with similar OO problems, and…

This comment is flaming on Java and Objective-C, seemingly without having the experience to back it up.

For instance, nobody uses Objective-C for iOS development any more (see: Swift). And modern Java is a decent language to develop in (with Rx and the like). You can even develop for Android in kotlin, which gives many of the advantages of JavaScript, but with a static type system and deep IDE integration.

Re: Why I'm Not a React Native Developer

#90

The legal concerns are legitimate, but frankly, I am unconvinced by the criticisms of JavaScript: There are well-known, well-designed tools like ESLint, and if you like types, Flow and TypeScript, which can mitigate the issues. That's more than you can say about Java (COBOL 2.0, now with a bevy of cargo-cult OO that makes things more overly complex), or Objective-C (All the safety of C, with similar OO problems, and…

This comment is flaming on Java and Objective-C, seemingly without having the experience to back it up. For instance, nobody uses Objective-C for iOS development any more (see: Swift). And modern Java is a decent language to develop in (with Rx and the like). You can even develop for Android in kotlin, which gives many of the advantages of JavaScript, but with a static type system and deep IDE integration.

I was exaggerating, but the point was that the other app development languages aren't without their flaws.

I won't argue with you on how good the languages are. It's a matter of opinion, and I'll never change your mind.

Besides, establishing one langauge as better than another was never my point.

Post reply on HN