Live data from Hacker News

React Native: Initial Thoughts

unredacted.redalemeden.com

81–90 of 105 posts

Re: React Native: Initial Thoughts

#81
post #39

Earlier quoted context omitted.

> Most of us use it because we have to, even though there are much better languages available. Node's popularity is a pretty dramatic counterexample to that assertion.

> Node's popularity is a pretty dramatic counterexample to that assertion. Popularity has nothing to do with quality. Node is popular because so many people knew JavaScript anyway. JavaScript is popular because it was the only widely-supported programming language for the browser (other than ActionScript, which is itself an ECMAScript flavor).

> Node is popular because so many people knew JavaScript anyway.

Is that true, though? I see very few JavaScript developers with a solid background in computer science or software engineering on the job market, compared to the demand these days, as more and more stuff goes to the browser or native HTML applications. Taking kids out of web design schools is too much of a gamble unless you already have a senior JS dev on the team to keep an eye on them.

But then again it might be different in places like Silicon Valley.

Re: React Native: Initial Thoughts

#82
post #72

Earlier quoted context omitted.

I didn't say it's not popular. I'm just saying Node's popularity is not even near to Java or PHP. But I agree that Node's/io.js hype is much louder nowadays :)

Does it have to be the most popular runtime to counter the "no one really likes JavaScript, we just use it because we have to" claim? As the grandparent said, no one has to use Node, but people do; a lot of them. I find this topic to be intellectually insulting. You know that JavaScript has its (tens of thousands of) fans. Why tell yourself otherwise? Is your hatred of it so overwhelming that you're not even ready to…

"we have to" was not my phrase and it was about client side, not server side. And it's true. Somebody love JS, somebody not so much - nothing wrong with it. People are different and it's the key of evolution.

Re: React Native: Initial Thoughts

#83
post #39

Earlier quoted context omitted.

> Node's popularity is a pretty dramatic counterexample to that assertion. Popularity has nothing to do with quality. Node is popular because so many people knew JavaScript anyway. JavaScript is popular because it was the only widely-supported programming language for the browser (other than ActionScript, which is itself an ECMAScript flavor).

> Popularity has nothing to do with quality And that has nothing to do with the discussion at hand. The statement "Most of us use it because we have to" is pretty clearly refuted by the fact that no one had to use JS on the server-side, yet plenty still pick Node over other alternatives (even ones they know well).

No one "has to" use anything, even if they only know that one thing. It doesn't take that long to learn a new language.

I wasn't saying that people use it because they have to. There are a lot of reasons to use Node on the server side that are still unrelated to the quality of JavaScript as a language.

1) Easy asynchronous execution (something that is also making Go very popular)

2) Easy to get started

3) Lots of existing libraries

4) Everyone, including frontend devs, knows it already

If you're starting a Python project, you're probably going to prefer hiring Python devs. If you're starting a Node project, you can hire anyone who has done full-stack or frontend work, including Ruby and PHP devs.

Again, all of those are really compelling reasons to use Node, but they have nothing to do with the way JavaScript is designed. The seminal JavaScript book ("The Good Parts") even alludes to the fact that it's not a thoroughly good language.

Further evidence that it's not a good language are the huge number of compile-to-JavaScript projects popping up (TypeScript and Go come to mind).

I also went to a JavaScript conference, and not a single company was using Node through their whole stack, even for new projects. They were typically using Ruby, Python, or PHP for the bulk of their backend, and JavaScript was a thin API layer. I know this is also the case at Yahoo and probably some other companies.

I could write a lot about why I (and lots of others in the dev community) find JavaScript to be Blub-y and fragile, but this is long enough already. The dynamic typing and many ways it behaves unexpectedly are among the major problems.

Re: React Native: Initial Thoughts

#84
post #64

Earlier quoted context omitted.

I think you overestimate Node's popularity, compared to other languages on the server side.

How would you measure such a thing? NPM has more modules than any other language package manager, isn't that evidence that Node is at least somewhat popular?

Node is definitely popular, but the fact that there are more modules than any other language is a bit misleading. Python, specifically, tends to only have one main/popular package that does something, whereas in other languages' cultures I've noticed that there are a few alternatives to choose from.

Re: React Native: Initial Thoughts

#85
post #77
post #33

For me QML/C++ (or other C++ UIs) and Xamarin make much more sense for native mobile coders. - Better native integration - Integration with the SDK tooling - Support of all three major mobile platforms - Performance As soon as I saw what React Native offers, it was meh for me.

I wish Qt Widgets (C++, not QML) was more mobile friendly... Xamarin will be good when it finally becomes free (acquired by MS?), or at least gains more indie-friendly license. API-wise, MoSync really stands out. Unfortunately, it is dead now. Same goes for Adobe Flex/AIR.

Xamarin prices are quite good when one takes into account developer salaries and saved time.

Personally, I would also like more Qt Widgets love, but only due to binary size.

Re: React Native: Initial Thoughts

#87
post #39

Earlier quoted context omitted.

> Node's popularity is a pretty dramatic counterexample to that assertion. Popularity has nothing to do with quality. Node is popular because so many people knew JavaScript anyway. JavaScript is popular because it was the only widely-supported programming language for the browser (other than ActionScript, which is itself an ECMAScript flavor).

> Node is popular because so many people knew JavaScript anyway. Is that true, though? I see very few JavaScript developers with a solid background in computer science or software engineering on the job market, compared to the demand these days, as more and more stuff goes to the browser or native HTML applications. Taking kids out of web design schools is too much of a gamble unless you already have a senior JS dev…

> Is that true, though? I see very few JavaScript developers with a solid background in computer science or software engineering on the job market

That's exactly my point. A huge amount of labor for developing web apps are people who have not come from CS/engineering backgrounds. They're self-taught, and a lot of them started with web technologies.

So it was really easy for those people to transition into backend development because they already knew JavaScript.

Re: React Native: Initial Thoughts

#88
post #72

Earlier quoted context omitted.

Does it have to be the most popular runtime to counter the "no one really likes JavaScript, we just use it because we have to" claim? As the grandparent said, no one has to use Node, but people do; a lot of them. I find this topic to be intellectually insulting. You know that JavaScript has its (tens of thousands of) fans. Why tell yourself otherwise? Is your hatred of it so overwhelming that you're not even ready to…

"we have to" was not my phrase and it was about client side, not server side. And it's true. Somebody love JS, somebody not so much - nothing wrong with it. People are different and it's the key of evolution.

We're all responding to this statement.

> But JavaScript is a bad language, objectively. There's little debate on that subject.

Which is obviously false, there is lots of debate on the subject. So can we grow up and get past these blanket statements?

Re: React Native: Initial Thoughts

#89
> Immutable user interface. You no longer have to track state in both the model and the view; the latter is a function of the former. As soon as the model changes, React Native re-renders a virtual tree of the view hierarchy, then applies the delta to the native views.

The meaning of 'immutable' must have changed lately.

Re: React Native: Initial Thoughts

#90
post #38
post #35

> Flexbox. The authors missed the opportunity of offering a saner API and favored sticking to the official spec instead. Flexbox is the saner API we've all be waiting for, in my opinion. I'm curious what the author's objections to it are. That's really my problem with the whole piece — statements like this are thrown out there without much justification or explanation.

I'd much rather be writing apps using constraint-based layout, much like AutoLayout. It took me a while to grok it, but it's much simpler once you get it.

Not sure what I think about React Native as a whole but I wholeheartedly approve of using flexbox for layout. It's much more declarative and easier to understand. Autolayout is a fundamentally flawed approach to layout. Building layouts in AL is very tricky and debugging them is twice as tricky as writing them. And lord help you if you have to programmatically add or remove views from a layout at runtime.
Post reply on HN