Live data from Hacker News

Why we moved from Angular 2 to Vue.js and why we didn’t choose React

medium.com

61–70 of 151 posts

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#61

Earlier quoted context omitted.

If you know only JS, JSX is much easier to pick up than some proprietary templating language. How do I do an if, a loop, a map, ... any code at all? In JSX, the answer is squiggly-brackets and regular old JS code. In Angular's templating system and Vue's, you've got to relearn all of these and more.

> proprietary templating language Isn't that exactly what JSX is?

No. JSX is a small domain-specific language for expressing a hierarchy of virtual DOM nodes. Angular is a template language in that it eschews JavaScript compatibility in favor of its own directives that try to emulate basic iteration and conditional expression evaluation.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#63

Earlier quoted context omitted.

If you know only JS, JSX is much easier to pick up than some proprietary templating language. How do I do an if, a loop, a map, ... any code at all? In JSX, the answer is squiggly-brackets and regular old JS code. In Angular's templating system and Vue's, you've got to relearn all of these and more.

> proprietary templating language Isn't that exactly what JSX is?

No it's a standard. You can use JSX with Vue 2.0 now, as well as Preact and others.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#64

Earlier quoted context omitted.

My approach for a JS framework or library is that the time I can hope it will be maintained for is at most the time that it has already been maintained. This way, depending on how long my project is supposed to be supported I can make a reasonable choice about what to use. I call it "JS half-life time".

There's a name for this in the literature: https://en.wikipedia.org/wiki/Lindy_effect

I didn't know about that, thanks for sharing.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#65
post #32
post #8

Earlier quoted context omitted.

I like it, a mirror opposite of extreme "designed by committee" practices of big co. funded frameworks. I feel purposefulness of Vue's design. There are no gigatons of features and behaviors which make you scratch your head and think "why it is there to begin with" like why Ang2 insists on using observer objects for HTTP responses, or why Ang1 had a such an extensive buildover around its component zoo to do just "new…

I'm not talking about the API design, I'm more worried what happens if Evan dies, or just loses interest in it. Bus factor of 1.

There may or may not be a large number of people who have the same kind of grasp of the codebase, but because it's so much a single person project it's probably more viable for someone to fork it to a new maintained project in case of disaster.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#66
I wonder why nowadays anyone would choose React and give away all patent rights to the E̶v̶i̶l̶ ̶c̶o̶r̶p̶o̶r̶a̶t̶i̶o̶n̶ Facebook (or not, in which case one would need to rewrite the app completely, since he cannot use React anymore). This alone should make choice way easier, if you decided to not use Angular anyway.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#67
post #59
post #48

Earlier quoted context omitted.

> "We invested in a beta product and then shock horror - it changes before it's released. Let's blame the framework on that poor choice." Angular.2 has been in beta for years. And when it went out of beta it basically became something else. This is not a good thing. It's normal for teams to be excepting at least some level of stability in the library they are using. And now that Angular.X pretends to be using semver,…

If you rely on a beta product you should have no expectation of API stability. It's very easy to blame vendors when it's your own poor decision making that got you in the mess to begin with.

> If you rely on a beta product you should have no expectation of API stability.

If i rely on a beta product, i don't expect a complete rewrite of the API when a stable version is released. That's exactly what happened, several times with Angular. Now you can't have it both ways as a vendor. You can't expect people to try out your product and test it in a professional setting then change everything at the last moment either. Or you're saying developers shouldn't even checkout Angular until it is out of beta. If that's what you're saying then the vendor shouldn't expect broad adoption.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#68
post #56

Earlier quoted context omitted.

It's because it flew in the face of commonly accepted best practices. It felt like a return to PHP/ASP days of old. But in reality, once you use it, you realize it's not that. It's a good abstraction. It puts concerns in the right place. Now, when I have to write something in any .erb file, it's like pulling teeth. JSX + React is a very good view-layer and component abstraction.

I'm not even saying it's a bad idea , just that I think it's entirely understandable that people are a little confused and upset that a decade plus of best practices suddenly did a 180 and they're being looked down on for even taking a second to go, "wait, what?"

I guess these arguments feel a bit dated at this point. React has been out for four years now.

Re: Why we moved from Angular 2 to Vue.js and why we didn’t choose React

#69

Earlier quoted context omitted.

If you know only JS, JSX is much easier to pick up than some proprietary templating language. How do I do an if, a loop, a map, ... any code at all? In JSX, the answer is squiggly-brackets and regular old JS code. In Angular's templating system and Vue's, you've got to relearn all of these and more.

> proprietary templating language Isn't that exactly what JSX is?

JSX has nothing to do with 'templates', it's an alternative javascript notation. When you write JSX code you write javascript code, using JSX syntax.
Post reply on HN