Re:React 16
by irrational on Tuesday September 26, 2017 @03:56PM
(#15342009)
Different peoples brains work differently. React clicks with your brain, but not Vue. I've been doing web development since 1996. I read through both the React documentation and the Vue documentation. Vue just clicked with my brain. I totally groked it from the beginning. React... not so much. Vue has been amazing for us so far.
I'm not sure what feeling anything like JavaScript has to do with the discussion. No one asked which framework is most like JavaScript. I don't think JSX turning JavaScript into some weird XML/HTML hybrid feels like JavaScript either. Sure you can use it without it, but why would you? Vue works for me and others, whereas React works for you, and others. Let's just keep working on our projects.
Because the rest of your application is Javascript. Less cognitive burden when you switch to working on different layers of your application.
Re:React 16
by irrational on Tuesday September 26, 2017 @03:58PM
(#15342027)
Wait, do you really experience cognitive burden when switching between html, js, and css? It surprises me if you do.
I'm talking about switching between a context where there are first class functions that can be easily passed around, to a context where there's some archaic and magical, non idiomatic convention based on string based dependency injection, or magical way of writing attributes.
Except JSX isn't JavaScript, and no one uses React without it. So it's arguably just as much of a cognitive burden.
Depends what you call idiomatic. I dont think JSX is really a JavaScript idiom, more like a HTML idiom applied to JavaScript which happen to be often used together.*
At the end of the day, I think that calling something idiomatic is subjective and so, varies from people to people.
*: to be clear, my point is many people use JSX with React because it feels idiomatic (I manipulate HTML/DOM, so why not just write with HTML-like syntax?) but it is not idiomatic to JavaScript and I don't think the other React APIs are that nice to use. If I didn't use JSX with React, I'd tend to use other framework because, in my opinion, they make more sense.
JSX is optional.
It's optional, and also not optional. Nobody is using React without JSX in practice, because it's ugly and verbose.
Not true, without JSX, React is basically Mithril, if you alias React.createElement to a short function name.
Yeah, and I'm arguing that it's pretty ugly to write nested html that way.
Hater-or-lover of JSX, it is definitely an intuitive way to think about HTML in the context of JS.
I prefer the vue model that's a bit closer to the metal, though, if only because of quirks like className
Think I see what you are getting at--in practice most folks using React are going to use JSX and build tools, and if you alias the function it's kind of non-standard.
Mithril has "class" instead of "className"; that irks me too.
Re:React 16
by oceanswave on Tuesday September 26, 2017 @01:50PM
(#15340985)
And vue optionally supports Jsx, so original comment or using it as a reason why ‘react sucks’ is being super pandentic. It’s ok to have multiple frameworks!
Optional features contribute to a tool's complexity, especially when every single example assumes you are using said optional feature.
And <Foo bar={'hi!'} /> is the same as Foo({ bar: 'hi!' })
Agreed. Pure views are much simpler.
You can write prop-only, pure views in vue. :)
Ignorance revealed :) thanks. What's Vue's idiomatic approach for managing state at the top, outside of all components (like Redux)?
React is idiomatic javascript. Vue is it's own quirky thing that doesn't feel anything at all like Javascript to me.