Angular vs. React vs. Vue.js


Choosing right JavaScript framework for your web application can be hard and time consuming. New frameworks are coming (Vue) to those popular one (Angular, React). Let's take a look at pro's and con's from our subjective perspective.

​​Angular

angular colour red vector logo

Pros:

  1. Better fit to enterprise-grade applications (than React)

  2. Can be scaled to large teams

  3. If you have a large team, and you are adding new members who are not super-experienced, it is less likely that their mistakes will cause catastrophic failure

  4. Templates are separate - this means you can have your design team create the HTML and CSS and you can add your JS bits 4. Since all major dependencies are courtesy of the Angular team, low risk of dependency.

Cons:

  1. Angular 1 to 2 major API breakages

  2. Typescript makes things verbose, you typically would need more man hours to create the same functionality in angular than you would in React or Vue

  3. Google uses Angular, but it is not used in their flagship products like Mail (eating your own cooking typically produces pragmatic decision making)

  4. Angular JS team is seen as insular (and rightly so). Could break the APIs once again causing more grief

React

react colour logotype

Pros:

  1. Facebook actually uses it to power their flagship product

  2. Easy to scale

  3. Componentization is a major plus, the fact that Angular 2 moved in this direction is telling

  4. Good for large front-end projects

  5. Multi-device. Angular, while it has Cordova, is nowhere near as versatile as React.

  6. Small API

Cons:

  1. FB's dithering over licenses - this could cause other large companies to avoid using React - in case FB does an Oracle

  2. JSX makes it difficult to separate responsibility between developer and designer

  3. Lack of opinion on app structure can hurt if your devs are not used to designing and maintaining large scale front-end apps. You need to have developers who are Facebook level smart

  4. NPM (package manager) is a hell.

Vue

vuejs colour logo

Pros:

  1. Very simple API

  2. No major licensing issues

  3. Has components

  4. Templates are separate

  5. No Typescript as compulsory

  6. Good for large scale applications

Cons:

  1. No Facebook/Google scale users - largely a volunteer army.

  2. Still young - there is a distinct chance as the framework matures unpopular choices may have to be made

  3. Could go the way of backbone and stop being super-actively maintained. Risk is especially true for Vue packages

What should you choose:

  • Easy learning curve: Vue

  • Clean code: Vue

  • Looking for lightweight framework: Vue

  • Need clean HTML files while working with designers: Vue or Angular

  • Like flexibility: React

  • Love big ecosystems: React

  • Need structure, guidance: Angular

  • Object-oriented-programming (OOP): Angular

  • Working in small team or alone: Vue or React

  • Your app get large: Angular or React

  • If your team gets big: React or Angular

Conclusion

React, Angular, Vue are all good. As you can read without clear requirements fegarding the framework (documentation, structure etc) none of them stands above the others clearly. Choose one and stick to it.

#JavaScript #Framework #angular #vue #react

Wyróżnione posty
Ostatnie posty