We picked a handful of what we believe to be the more prominent frameworks and libraries around to get an initial feel for what they were about and whether they are worth investigating in more detail.
We applied a loose criteria for selection ranging from market steer to professional opinion after high-level use.
Angular 2 | Ember.js | React | Riot.js | |
---|---|---|---|---|
Big Name | ||||
Open Source | ||||
Real World Usage | ||||
Stability | ||||
Community |
Some may have noticed that Flux has been omitted from the React investigation.
The reason for this is that on further investigation Flux is more of an architectural concept rather than part of a framework or something to use with React.
Unidirection data flow
Dumb / smart components
Application reasoning
So far throughout this entire process we have interchangeably used the phrases "library" and "framework".
At the beginning of this second phase of investigation there was a stark realisation that we couldn't keep doing this as there is an obvious distinction between the two which raised a fundamental question ...
Lets have a look at how the products we have been looking at "sell" themselves.
A development platform for building mobile and desktop applications
A framework for creating ambitious web applications
A JavaScript library for building user interfaces
A React-like user interface micro-library
Framework | Library |
---|---|
|
|
|
Going back to what we want, the top two points are key:
Our belief is that we are only going to get these from a framework.
Looking back at the first phase investigation, we ruled out the "no framework" option as we didn't want to spend our time with exhaustive infrastructure decisions among other concerns.
By using a library that doesn't encompass the bigger picture we felt like this would be akin to the "no framework" option and therefore felt like these were no longer a main option.
Framework |
---|
|
|
What are we left with ...
V
It doesn't take a genius to see where we are going with this so lets cut to the chase.
After much investigation, deliberation and discussion we believe Angular 2.0 is the correct route to follow.
Hopefully from the material you have seen so far you will be somewhat in agreement.
This is open for discussion so don't be shy.
For me one of the real game changers that re-enforced the debate over library v framework, was at the Angular Connect conference.
It alluded to the fact that Angular started off conception as a framework, but with the progression over the years, lessons learned built upon and the near arrival of version 2 they believe the offering is now a "platform".
The amount of thought, effort, community involvement and cross industry collaboration is impressive and hopefully bodes well for the future.