"Evangelion"

New JavaScript library Vue.js has reached milestone 1.0.0, with creator Evan You insipired by the Google-sponsored project Polymer. Vue.js has been described as a set of optional tools that work together really well for frontend developers.

While there seems to be a flood of JavaScript libraries and frameworks to choose from lately, that hasn’t stopped ex-Googler and current core developer for Meteor Evan You from releasing Vue.js, which just hit the 1.0.0 milestone. Vue.js is a library for building interactive web interfaces, with comparisons already being made to React and Angular.

Vue.js isn’t itself a framework like Angular, React or Ember, however. As You states, it’s concerned only with the view layer and is therefore easy to integrate with other libraries and projects:

The goal of Vue.js is to provide the benefits of reactive data binding and composable view components with an API that is as simple as possible… when used in combination with proper tooling and supporting libraries, Vue.js is also perfectly capable of powering sophisticated Single-Page Applications.

You has written up a handy guide comparing Vue.js to other popular frameworks, where he admits that while it’s not for everyone, there are certainly a few reasons to pick Vue.js over Angular:

Vue.js is simpler than Angular – it has a simpler syntax, API and design

You considers Vue.js to be a more flexible, less opinionated solution, allowing you to structure apps your own way “instead of being forced to do everything the Angular way.”

Vue.js is cited as performing better and, thanks to the absence of dirty checking, is easier to optimise

Vue.js has a clearer separation between directives and components, whereas Angular has a lot of confusion between the two

Addressing the still-touchy subject of Angular 2.0, You observes that a number of Angular 1 issues “non-existent in Vue” are addressed by the design decisions in Angular 2.o.



New in Vue.js 1.0.0

Vue.js 1.0.0 has now landed after completing a journey consisting of 8 alphas, 4 betas and 2 release candidates. It displays a better template syntax, resolving issues of consistency and making it more readable. Some API cleanup has also made Vue.js a more viable option for larger projects:

This is why there are many API deprecations… the most common reason for a deprecation is that the feature leads to patterns that damages maintainability. Specifically, we are deprecating features that make it hard to maintain and refactor a component in isolation without affecting the rest of the project.

As with most 1.0 milestones, Vue.js has now been classified as ready for production and its core API is stable. This update also sees some faster initial rendering, replacing the v-repeat directive with v-for and boosting performance by up to 100% when rendering large lists and tables.

Future improvements to the library will concentrate on learning resources and streamlining the developer experience. The naming pattern will keep following You’s love of anime, with 1.0.0 taking on the codename “Evangelion”.

In case you’re wondering about the release name, the last two were Cowboy Bebop and Dragon Ball. — Vue.js (@vuejs) October 27, 2015

The full changelog is available on GitHub.