Welcome to the first edition of a new feature here on JavaScript Report. Each month we’ll go over the important things you need to know about what’s happening with front end JavaScript frameworks. We’ll be covering usage, performance, conferences, trainings and more.
If you’d like to keep up to date on this, you can sign up for my newsletter. In addition to the latest news on frameworks, the newsletter also covers the week’s best writing on the JavaScript ecosystem, so it’s a useful all-around resource.
If you’re a framework author or contributor and you’d like to bring something to my attention, please reach out to me. I’m happy to include any news or updates.
Framework Usage
Let’s begin by taking a look at current framework usage trends. Below is a chart showing the npm downloads of the the top four front end frameworks — Angular, AngularJS, React and Vue — over the past month. You can click all images below to make larger.
Framework | Growth rate past month | Growth past year |
Angular | 1.6% | 102.6% |
AngularJS | 7.2% | 97.4% |
React | 10.5% | 153.3% |
Vue | 24.2% | 168.4% |
There are a couple of things to notice here. First, all the frameworks have strong annual growth rates, even the venerable AngularJS. In fact, the growth rate for Angular is lower than for AngularJS on a monthly basis and very similar for the one year period.
Another thing to note is that the monthly growth rate for Vue is a bit deceptive. Vue had a noticeable decline in early February and the big gain is partially attributable to it recovering from that drop. As recently as January 21, Vue was in third place, but it's currently the fourth most used framework. If we take a look at the chart for annual usage, this dip is a bit easier to see. Again, click to see larger image.
Another notable trend is the continued strong growth of React. Despite having more usage than the other frameworks combined, it continues to increase its lead vs both Angular versions and is similar to Vue in annual growth.
Other Frameworks of Note
Some pretty interesting numbers here for Preact, Inferno, Ember and Svelte.
Framework | Growth rate past month | Growth past year |
Ember | 1.5% | 4.5% |
Inferno | -0.4% | -77.7% |
Preact | 22.1% | 489.1% 🚀 |
Svelte | 174.3% | 757.6% 🚀 |
The most significant thing in the chart above is Svelte overtaking Inferno. They may go back and forth over the next few months, but I think this is probably going to hold up over the long term. In the table above the numbers for Inferno look terrible (down 77%), but we can see they don't tell the whole story when we look at the entire year.
I don't know why it's the case, but the download numbers for Inferno are very volatile. Measuring on slightly different dates would have altered the numbers dramatically.
Despite that qualification, Inferno doesn't seem to be thriving. It pains me to say that, because it's an outstanding framework. I think it could use some promotion — blog posts, conference talks, for example.
Preact and Svelte look very strong. It will be interesting to see if they carry the momentum forward in coming months.
Framework News
The past month or so has seen a number of important announcements. We’ll kick things off with the big news in the React community.
Beyond React 16
The biggest React news over the past month is no doubt Dan Abramov’s talk from JSConf Iceland. His presentation, Beyond React 16 lays outs how the upcoming React 17 will improve performance. If you've heard something about React "Suspense" lately, this is the talk where that was introduced.
Inferno 5 Released
You can check out the release notes here.
ngAtlanta Report
Although it’s technically more than a month ago, Brad Green’s report from ngAtlanta is an important read to get a handle on what’s happening in the Angular community. Of particular interest to me is the Ivy renderer which will be an option in the upcoming Angular 6. It promises to dramatically reduce bundle sizes.
Love Angular but just wish it was smaller, easier to debug, and compiled faster? These are our goals with Angular’s new renderer code-named Ivy. Its coming as a non-breaking change so you’ll get it automatically in a future release by just staying on Angular’s latest releases (which should be a breeze with
ng update
). We’ve got a ways to go, but we’re hopeful developers will be able to opt-in to a preview in the first half of this year.
State of VueJS 2018
Another great conference talk here, this time from Evan You, the creator of Vue.js. He gives a “State of Vue” address that reviews the latest work on that framework.
AngularJS Enters LTS
This bit of news is from earlier this year, but feels relevant to some of the other items in this article. The last stable release of AngularJS has been announced. After that, the project enters long term support (LTS).
After the release of 1.7.0 the team does not intend to merge any feature or fix that will require even a minor breaking change.
After 1.7.0 we will continue to develop AngularJS, publishing patch releases, 1.7.1, 1.7.2 etc, through Jun 30, 2018. These releases will only include non-breaking change features and fixes to the framework.
EmberConf Hits Portland
EmberConf wrapped up last week. To catch up on what’s happening in that community, you can watch the keynote from Yehuda Katz and Tom Dale (I recently did an interview with Tom 👍).
Radi.js Announced
A new framework has entered the fray, Radi.js. It’s authored by Mārcis Bergmanis and he begins his announcement by answering an obvious question:
First of all I want to address elephant in the room that is one question you might be having: “Why the heck another JavaScript framework ?”. Well my answer is that I noticed a pattern in all of the frameworks I recently went through and all of them have the same problem. They are stuck in creating Virtual DOM and then running diffing algorithm over it, which led to diffing algorithm wars. And I thought that there is a better way of doing this (sneaking around this war), so I created a tiny JS Framework called Radi.js…
…What if we didn't use Virtual DOM at all, instead work with real DOM instead?
Vue.js Cookbook Released
The already good Vue documentation has gotten even better with the release of a "cookbook".
In the cookbook, each recipe can and should stand on its own. This means recipes can focus on one specific aspect of Vue, rather than having to give a general overview...we can include more complex examples, combining features in interesting ways. Each recipe can also be as long and detailed as it needs to be, in order to fully explore its niche.
Notable Tutorials and Articles
Wes Bos explains the new Context API coming up in React 16.3.
Chris Fritz talks about 7 secret Vue patterns [VIDEO].
Tyler McGinnis has updated his comprehensive guide to React.
Máté Huszárik writes about the transition from AngularJS to Angular.
Wolfgang Wedemeyer tells us about his move to HyperApp and how it improves on Redux.
Bartosz Szczeciński gets us up to speed on React "Suspense" (this builds on Dan Abramov's talk featured above).
Vue Mastery is a new tutorials site that looks promising. Only one free course for the time being, but more look to be on the way.
Here's an article I wrote about SvelteJS. It has some similar concepts to Vue, but also some other innovative stuff that makes it really fast.
Tyler McGinnis wrote another great tutorial, this time on React, React Router and server-side rendering.
Upcoming Conferences and Workshops
If you have a conference or workshop coming up and would like me to help get the word out, ping me on Twitter. I'll be happy to help.
Conferences
React Amsterdam
Date: April 12-14
Location: Amsterdam, The Netherlands
ng-conf
Date: April 18-20
Location: Salt Lake City, United States
React Finland
Date: April 24-26
Location: Helsinki, Finland
<React.NotAConf />
Date: April 28
Location: Sofia, Bulgaria
AngularSummit
Date: May 8-10
Location: Chicago, United States
ReactEurope
Date: May 17-18
Location: Paris, France
Framework Summit
Date: October 2-3
Location: Park City, United States
AngularMix
Date: October 10-12
Location: Orlando, United States
Workshops
Vue.js Deep Dive with Evan You
Date: April 19-20
Location: New York City, United States
React with Redux with Mark Erikson
Date: April 19-20
Location: New York City, United States
Introduction to Elm with Richard Feldman
Date: April 21
Location: New York City, United States
If you’ve enjoyed this post, sign up for my weekly newsletter. In addition to framework news, I curate the best JavaScript writing from around the web and deliver it to readers every Thursday. The sign up form is right below this article.
Until next time, happy coding…