Live data from Hacker News

Why I'm Not a React Native Developer

arielelkin.github.io

261–270 of 318 posts

Re: Why I'm Not a React Native Developer

#261

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…

I'm super curious because I'm doing the same: what has been your approach to learning Android?

At first I downloaded and watched some tutorial videos online, but a lot of them were outdated and actually did more harm than good (for example talking about ListView when nowadays you should be using RecyclerView, etc.) so I got a book that's pretty up-to-date (published in 2015), and that helped me a lot.

Re: Why I'm Not a React Native Developer

#262
post #152

Earlier quoted context omitted.

You can build RN apps in ClojureScript and, voila: You rarely have to touch JS. Edit (it's not without its flaws though): https://youtu.be/6IYm34nDL64

Did you read the article? Compiling to JS is an issue that is addressed.

Yes, but I was addressing the issue of writing JavaScript, not using its ecosystem. And the lack of a high quality standard library is elegantly solved in ClojureScript by using the Google Closure library.

Re: Why I'm Not a React Native Developer

#263
post #152

Earlier quoted context omitted.

You can build RN apps in ClojureScript and, voila: You rarely have to touch JS. Edit (it's not without its flaws though): https://youtu.be/6IYm34nDL64

Did you read the article? Compiling to JS is an issue that is addressed.

Yes, but I was addressing the issue of writing JavaScript, not using its ecosystem. And the lack of a high quality standard library is elegantly solved in ClojureScript by using the Google Closure library.

Re: Why I'm Not a React Native Developer

#264

Earlier quoted context omitted.

No. 'Verbose' is correct. It's not bad code. It's a simple control flow.

Using a branch when you can just do an assignment is objectively bad code.

Objectively eh?

And bad code by what criteria? In this case, it's a little more verbose than it needs to be, but hurts nothing.

Re: Why I'm Not a React Native Developer

#265

Earlier quoted context omitted.

NaN === NaN evaluates to false. That’s what happens here, not anything with Infinity.

Yeah, that makes sense mostly. But why is NaN === NaN false? What am I missing here?

Because there is many ways NaN can be generated, all very different.

== is only defined for numbers, too.

1/0 and 50/0 aren’t the same, for example.

Re: Why I'm Not a React Native Developer

#266
post #228
post #61

Earlier quoted context omitted.

> This is simply a list of things the author doesn't like about JS, very much of which is practically solved by Flow/TS and ESLint. That's definitely not a fair characterization of this article. Concerns about roadmap and patent usage show up before any concerns about JS. Edit: Though I agree, a strangely large amount of the article is dedicated to "Why I just don't like Javascript."

The "concerns about patent usage" is a tired trope as well. Yes, if you use React you're basically agreeing not to sue Facebook over patents. Except if Facebook was acting in bad faith they'd probably have enough patents you could be found in violation of to ruin you anyway. If your software is non-trivial, it's already violating patents you probably never even heard of. But the real kicker is that if you're not usin…

The patent retaliation is more broad than the provision in the Apache license though, which basically only revoke the patent grants for a specific work if you sue over patent infringement in the same work.

http://en.swpat.org/wiki/Patent_clauses_in_software_licences...

Re: Why I'm Not a React Native Developer

#267
post #204

var a = 0; var b = -0; console.log(a === b) // true console.log(1/a === 1/b) // false That's perfect math you mean, of course -Infinity != Infinity, what did you expect? I think you should rather think harder, learn math possibly, and your 'safety' problems with arrays are not problems at all, it's the opposite for other people

Object.is(a,b) end of story

Re: Why I'm Not a React Native Developer

#268
post #258

Earlier quoted context omitted.

True, but it give Facebook more legal leverage over you, arguably, and Facebook is more likely to abuse that power than a loose collection of open-source programmers, or a smaller, less wealthy company that doesn't have its tendrils everywhere.

Barely anyone complaining about the patent grant seems to understand this point, so I'll reiterate: The MIT license, the BSD licenses, and so on, don't contain a patent grant. Only the Apache 2.0, GPLv3 and MPL 2 licenses do. If you use an open source project which doesn't come with a patent grant, you can be sued for patent infringement over that project. Facebook's patent grant prohibits Facebook from suing you ove…

I see. Thank you for explaining.

I wouldn't have used angular anyways, though...

Re: Why I'm Not a React Native Developer

#269

Earlier quoted context omitted.

You should read @pluma's explanation of the patent grant. I think its purely a misconception that's unfortunately been regularly repeated. > Then why don't you drink this glass of 70% orange juice and 30% motor oil, since by your definition it's "simply orange juice". I think a more proper correlation of your analogy vs OP's argument would be if you held it up and claims "why I won't be putting this motor oil into my…

Not sure I follow your orange juice / motor oil rebuttal but I'm going to focus on the more substantive portion of this interchange... It's purely a misconception in the same way that 30% motor oil is pure orange juice -- which is to say, it's not a misconception, by my reading. I wonder what my IP laywer would say about it, will post if I decide to ask. Unless I am looking at the wrong comment, @pluma's explanation…

I definitely glossed over the patent issue a bit and appreciate the comment.

> doesn't ever plan on patenting for some other reason

I personally don't believe patents, outside of a few very special circumstances, should be allowed to exist. The idea that Facebook could copy one of my ideas and out-compete me based on their size is, imho, a perfectly reasonable thing for them to do. That being said, the current environment seems to demand that one patent any and everything they can as a pre-emptive defense. Hmm.

Re: Why I'm Not a React Native Developer

#270
post #21

This is simply a list of things the author doesn't like about JS, very much of which is practically solved by Flow/TS and ESLint. He also makes some of the React examples quite a bit more complicated than they need to be. Declarative UI is very simple! Here's the same code, using both class and functional styles (whichever you prefer), in a much more succinct style (11 LOC vs 49): class Root extends Component { rende…

I for one enjoyed spending 70% of the time reading about how JS sucks. It's good to be reminded now and then. If I'm chopping wood for years with a dull axe, I get really strong, and good at swinging a dull axe, and at performing superhuman feats of adaptation - adjusting myself and my attitude to using a shitty tool. Maybe even, like Stockholm Syndrome, I come to enjoy it.

Do I resent the guy who comes by once a year and reminds me chainsaws exist? No I do not.

Post reply on HN