noobling/learn

Frontend Frameworks

Opened this issue · 0 comments

Frontend Frameworks

The most important thing to understand before you use any "frontend framework" is to appreciate why you want to use it. Does it solve an existing problem you have? If not then move on with your life.

This is by far the most active software community due to the sheer size of it.

Comparison of frameworks

Vue vs React

  • Runtime Performance is very similar however Vue helps with performance optimizations more. In React you need to do most of it yourself with PureCompnent and shouldComponentUpdate
  • React everything is JavaScript, HTML is expressed with JSX where you mix JavaScript with HTML. This is quite controversial and for me makes it much harder to read than just plain HTML. The issue is HTML is already quite verbose to add JS to it complicates matters. Vue has a more natural feel by using HTML-base templates.
  • React leans more towards CSS-in-JS and Vue is towards the natural way of writing CSS
  • Statemagement in Vue is far better than React pre hooks in terms of developer experience. It was just downright confusing to use libraries like redux even for experienced React developers
  • The biggest benefit of React is that it is more popular in the industry which means better job opportunities
  • React has a steeper learning curve
  • React has a more mature native mobile solution (React Native vs Weex)
  • React doesn't have two-way data binding (by choice)

Vue vs Angular

  • Vue borrowed a lot from AngularJS e.g. v-if vs ng-if
  • Vue is much simpler to get started with
  • Angular is more structured and opinionated on things like the structure of the app which is a good thing if you are new
  • Similar performance
  • Angular forces you to use typescript and has first class support for it
  • Learning curve is much steeper for Angular it is targeted at large scale applications

Other Notetable frameworks

Ember, Knockout, Polymer, Riot, Stencil, Svelte, Elm

Further Reading