Should I go with Angular 2, React or Vue.js for my CMS project implementation?
There are three very common options that come up in discussions when setting the front end architecture in place for long living Content Management Systems built. Our three options are:
- Angular 2
React.js is an interface library that originates from the Instagram team at Facebook. It was one of the first that introduced the component based architecture that both Angular 2 and Vue.js now also follow. React is only a view level library and there are quite a few other pieces that you will need to build a complete functional application. This can lead to distracting and unstable development environments depending on the stack components selected.
Vue.js is a simplistic front end view library that is coming to it's second major iteration, Vue.js 2.0. This new version offers quite a bit of options for writing applications. It supports both a custom templating languages (similar to the one used in Angular 2) as well as full support for the JSX syntax (from React.js). As a view library, Vue.js requires components to support it. There are official Routing and State storage libraries that offer a comprehensive experience.
All of these three options are virtually identical in performance and features when it comes to building typical CMS driven experiences. The selection boils down to preference and the history your developers have experience with.
Angular 2 is very different from Angular 1.x, but it is still very familiar and is probably a good choice if your developers have previous experience with it. There is a learning curve, but many terminologies are shared between AngularJS (as Angular 1.x is known) and Angular2 (as Angular 2.x is known). It's also a very good choice if you have a lot of developers as it is opinionated.
Vue.js is an ambitious project, but out of the three it as the best candidate to replace jQuery for widgets in jQuery. The API is quick to pick up and the architectural improvements in the 2.0 branch enable scaling to complex applications as well. It does not have the corporate backing of Google (Angular) and Facebook (React), but the Laravel framework now suggests it - so Vue definitely has staying power.
- What to consider when architecting a Headless CMS project
- Decoupling with a Headless CMS
- Choosing between Angular 2 and React.js midway through to 2016
- Introduction to Angular 2 for Symfony developers