Skip to content

Instantly share code, notes, and snippets.

@justin-lyon
Last active August 29, 2018 14:51
Show Gist options
  • Save justin-lyon/2612a1f4695afba0ce66901a8e951f44 to your computer and use it in GitHub Desktop.
Save justin-lyon/2612a1f4695afba0ce66901a8e951f44 to your computer and use it in GitHub Desktop.

JS Frameworks

Why use them?

Frameworks Covered

It's a life choice

There is no Best Framework.

Choosing a framework is a personal choice. Frameworks are opinionated by nature. By enforcing a particular architecture, a Framework can provide some great features to developers. Find a Framework whose opinions are at worst tolerable to your circumstance - ideally, whose opinions coincide with your own.

At a Glance

Disclaimer, thar be opinions to follow...

Angular

Of the big three, Angular has the steepest learning curve. It heavily features Javascript Classes with Providers and Dependency Injection.

It has multifile component bundles - separating your template, script, and styles.

Angular has a strong ecosystem. It is primarily third party - but commonly required features like routing and state management are well maintained, and routing is first party.

React

React is unique in that it does not use templating; it uses JSX. Its learning curve is primarily attributed to this. Once you wrap your head around JSX, the rest should come easily.

Like Angular, React uses JS Classes for their components and multifile component bundles.

React also has a strong ecosystem. Plugins for routing and state management are common and well supported, but they are third party.

Vue

Vue JS is the youngest of the three, younger than React by a year. It is not backed by a major company like Google or Facebook, but rather an individual - Evan You.

Rather than Component Bundles and JS Classes, Vue JS architecture is centered on single file components and ES Modules.

Commonly required features such as state management and routing are still plugins, but they are core managed plugins by the Vue project, not third party.

Made With...

Getting Started

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment