7 ms·
We adopted Vue 2 years ago and I've been extremely happy with it. It's very easy to get into, the learning curve is not steep at all, and for the most part it j
by ElatedOwl 8y ago
We adopted Vue 2 years ago and I've been extremely happy with it. It's very easy to get into, the learning curve is not steep at all, and for the most part it just works.
TypeScript support is mediocre. It's supported (Vue will let you use anything) but it's clearly a second class citizen.
There's also no real accepted best practices, which the author touches on (where do API calls go). Third party component design varies pretty wildly. I think this is just the reality of a young framework casting a wide net, we'll see what the future brings.
It's not perfect, but like the author, Vue was a great decision for my team.
- dangerbird2 8y agoTypescript support has gotten much better in the past few months. In particular, the vue-cli scaffold provides the correct stubs so typescript doesn't freak out when importing single-file components.
- heisenbergs 8y agovue 3 will be entirely rewritten in typescript. https://github.com/vuejs/roadmap https://github.com/vuejs/roadmap
- sheeshkebab 8y agoAnd that will probably be the end of vue...
- blencdr 8y agohave you even tried to use TypeScript on a real project to say something like that ?
- Ronsenshi 8y agoHe's possibly meaning that if you completely rewrite framework it would lead to something like what happened to Angular when it was rewritten and promptly lost huge number of followers/users?
- Fifer82 8y agoWas that really a thing though? People cried because they didn't understand the offer of better tooling.
- davedx 8y agoAngular didn't lose mindshare because of TypeScript, it lost mindshare because they completely changed the API of Angular, meaning a bunch of companies had to do expensive ports/complete rewrites/switch to new tech. A lot of companies are still stuck on Angular 1 for this reason. Most Angular devs I know are happy to use TypeScript. (In fact going out on a limb, most JS devs I know).
- darkerside 8y agoIn this particular case, with a BDFL in Evan, there's probably a much higher chance of maintaining sanity between major releases. People were worried about the change to Vue 2.0, but it mostly sunsetted features that complicated the framework and doubled down on an elegant component system. Seems obvious to say, but frameworks probably get fractured in geometric proportion to the number of powerful authors working on them.
- SZJX 8y agoTypescript is very similar to plain JS. The type annotation is purely optional. I really bought into the optional type annotation pattern when I learned and used Julia for a project. Typescript is also like that. It's extremely unintrusive to use and I'm quite sure such a huge shift as the one that happened in Angular won't happen.
- nightski 8y agoThat is amusing because Vue was already rewritten for V2 when they introduced the shadow Dom.
- exwizzard 8y agoWhy? The page clearly states: Will be using TypeScript. For internal implementation only. Does NOT affect ES users, but should improve TS integration for TS users.
- shados 8y agoI haven't used Vue (and definitely not TS with Vue), but considering how easy it is to create type definitions for libraries written in ES6, if using Vue + TS is awkward (assuming its not because no one wrote a type definition for it), the only way it could make things better for TS users is with some refactorings to make sure types "follow along", and that totally would affect ES6 users. Anything that does not affect ES6 users would not affect TS users either. An example of this is how in Redux, anything that uses the state in TS needs to add an annotation to type the store, because its completely decoupled (and thus theres no way for the state type to "follow"). Any way to make it follow requires some API changes (eg: creating mapStateToProp functions by calling a method on the store)
- ilovecaching 8y agoI'm curious to know, what about Vue makes it easier to learn than React? It's just a function that takes in data and returns a piece of html. React also just works, and unlike Vue, it's worked for companies like Netflix, Wallmart, Facebook, Instagram, etc that have exceedingly complex requirements and require exceedingly fast rendering. What did you really buy with Vue over React?
- ElatedOwl 8y agoNetflix, Walmart, etc. solve a much different set of problems than most shops. I'm proud to work for a small company with simple (but rapidly changing) requirements. :)
- RussianCow 8y agoThat doesn't really answer the question. :) How does Vue let you deal with "simple (but rapidly changing) requirements" better than React?
- ilovecaching 8y agoThat doesn't answer my question. What about Vue actually made it a better choice for those requirements? In my experience, the fact that React is a simple view library makes it the perfect choice for small shops. You're taking on considerable risk when you use a technology without a vested backer (Facebook is heavily vested in React, look at Angular 1 for an example of a framework with a big backer than is not vested, the API was completely broken in a rewrite). Smaller frameworks also suffer from a lack of sustained development.
- ipntu 8y ago> In my experience, the fact that React is a simple view library makes it the perfect choice for small shops. Vue is also a simple view library. You keep bringing up Angular, as if Vue has something to do with it. Vue is so much closer to React than to Angular. > You're taking on considerable risk when you use a technology without a vested backer (Facebook is heavily vested in React, look at Angular 1 for an example of a framework with a big backer than is not vested, the API was completely broken in a rewrite). Smaller frameworks also suffer from a lack of sustained development. Sorry, but that sounds a lot like rationalization and wishful thinking, written purely to make React look good and anything else look bad. Vue also has backers that contribute financially, a large community using it and sustained development. The fact that it isn't as big as React doesn't make it unworthy of existing or unable to provide the same technical benefits as React.
- rraghur 8y agoI agree - the Typescript support isn't great... I was taking a look at vue + typescript and cobbled together something that worked but there was unpleasant weirdness. I wasn't aware that vue3 was going to be written in Typescript - that is very welcome news.
- m_fayer 8y agoYes the weirdness introduced by TS, especially around vuex, is really jarring. But then again, last time I tried a new medium-sized Vue project in plain old ES6, I went running back to TS, weirdnesses and all. And bit by bit, especially with the evolution of vscode, vetur, and TS itself, the weirdnesses are getting better.