Editorial: 2016 – the Year in Re-Vue
Another year is almost over and, of course, a year is a long time for the web. As 2016 draws to a close, the retrospective articles start to appear, looking back on the most important changes of the last 12 months (keep your eyes peeled for ours next week). One thing that I doubt anyone is unaware of (unless you’ve been hiding in a WiFi black-spot) is the steadily increasing buzz surrounding Vue.js. The framework ranks highly in terms of developer interest, and it’s difficult to find a React or Angular thread on discussion sites such as Reddit without someone recommending Vue as an alternative.
Earlier in the year, I read an article suggesting that Vue is the new jQuery. On the face of it, that might not seem like a very good comparison; jQuery is a Swiss army knife-like collection of utilities for DOM manipulation and making Ajax requests, while Vue.js is a view library for creating composable UI components. The comparison rests more on the view that both libraries provide a low barrier to getting started building things.
Libraries such as React have popularized a declarative approach to building interfaces, composing views from reusable web components. While many of the major frameworks have adopted this paradigm, the learning curve is often quite steep, especially so for the beginner. Vue.js, on the other hand, provides a gentler entry point into modern application development. Whereas jQuery streamlined and simplified working with the DOM, Vue does the same for web components – getting started is a simple as linking to the library from a CDN and writing HTML-based templates. You’re not required to use module bundling, transpilation, or one-way data flow to begin with, although all those things are supported, so you can start simple and adopt these concepts as you become familiar with them.
When you’re ready to take it up a notch, Vue.js has a strong eco-system of officially supported plugins and libraries. There is a CLI project, to help kick-off new projects with either Browserify or Webpack-based build tools, along with a custom module format (.vue) and loader, to make it painless to create well-organized Vue applications. Vue-devtools is a Chrome extension that adds the capability to inspect your application’s components and their state from within the existing developer tools. Vue-router provides an idiomatic routing solution to help build single-page apps, while Vuex is a Vue’s take on the Flux/Redux state management pattern, which should help with building larger, more complex applications.
Continue reading %Editorial: 2016 – the Year in Re-Vue%