
2017 JavaScript Rising Stars - doener
https://risingstars.js.org/2017/en/
======
zachrose
It’s a bit unfortunate that Elm will always be left out of lists like this.

Yes it’s a different language that compiles to JavaScript, but unlike other
languages that do this, Elm exists solely to excel at front-end web
development.

Ironically, that Redux and React equivalents are some of the “batteries
included” in Elm can make it harder to pitch because at first it seems like
you’d have to add that stuff in.

~~~
platz
They included purescript (compilers), so why not elm, which has orders of
magnitude more users?

~~~
phillipcarter
Do you have anything to back up the assertion that it has orders of magnitude
more users?

I'm a fan of elm, but but overall population of functional programmers is
quite small, so I wouldn't be shocked of Elm, PureScript, and Reason had
similar populations of developers.

------
tnolet
Super anecdotal / off topic but still fun. In 2014 I emailed with a guy who
worked at Google to take over control of a domain he wasn’t using. All was
well and he gave me access. I checked his Github project. Some tiny SPA
framework with three examples and a handful of github stars. Looked nice. Fast
forward three years.

Over 2017 me and my (former) small dev team embraced Vue.js, built a non
trivial checkout flow and visited the first Vue.js Conf Poland. I’m neck deep
in Vue for other projects.

That guy in 2014 was of course Evan You, creator of Vue.js, and I guess I
bought the domain for one one of the candidate names for Vue.

~~~
fnayr
Another anecdote. I have been working on a large mobile game in Unity for over
3 years. I need to write a tool to manage the virtual (game) item database so
we could add content to the game without updating the app. I could build this
app with any environment I wanted (desktop or web, any language/framework).

I chose to make a desktop app with Electron and Vue and Element UI without
having any experience with any of those and hardly any JS experience. I had a
full working app that synced with a server and allowed multi-user editing with
auto updates in under 3 months.

Shared libraries and projects are definitely accelerating developers'
abilities to quickly build things.

------
bfsg
Hmm, this feels very misleading. What is the correlation between Github stars
and real world usage? This is not statistics, it's just 1 variable.. It almost
feels like Vue.js is going to take over React just because it received more
Github stars? I use React already for years, never gave it a star on Github,
and I think many with me.

~~~
mlsarecmg
Stars are pretty useless for what they wanted to measure. Real-world data
paints a different picture [http://www.npmtrends.com/angular-vs-react-vs-vue-
vs-@angular...](http://www.npmtrends.com/angular-vs-react-vs-vue-
vs-@angular/core)

Even searching Github for 'import React from 'react' and 'import Vue from
'vue' results in similar percentages. Roughly 7-8 million projects in Github
on React, under a million on Vue.

Despite the hype, Vue has been mostly a flat over the last 2 years with a
slight upward bend, but only to the point where it begins to catch up with the
old Angular 1.x.

~~~
pablobaz
From your link, in the last year alone Vue has had approximately a 5-fold
increase in the number of downloads.

Describing this trend as "mostly flat with a slight upward bend." is very
misleading.

~~~
mlsarecmg
See it in context. The fastest growing framework on npm right now for instance
is Preact (as per official report posted by Lauri Voss last week), but Preacts
userbase is so small that it could grow hundredfold with insane growth rates
percentually without scratching a competitor. That also applies to Vue. React
gets more users in a week than Vue in its entire lifespan.

Go 2 years back on that page and you see a clearer picture, yes it did grow,
but relatively contained compared to its competitors, specifically React.

And is it any wonder to anyone? I really ask myself. Would you go back to a
stryingly typed templating framework with a complex api and ever changing
ruleset, reliant on dependency injection and all the other stuff we went
through with Angular? I don't think anyone would. It rather looks like Vue is
catching the last remaining Angular 1.x refugees, but there isn't an ever
increasing supply of those.

~~~
chrisco255
To be fair, Vue did embrace JSX in it's 2.0 release. I think Vue is leaps and
bounds ahead of Angular in elegance and usability. I like Vue, I just don't
think it has the ecosystem that React has. Maybe it will catch up eventually.

~~~
bpicolo
I don't think it _needs_ the ecosystem React has. It has all of the components
you need to build excellent software - great debugging experiences, testing,
routing, state management. At that point it doesn't really matter all that
much what else you've got.

~~~
mlsarecmg
Honestly that is like saying Windows Phone doesn't need the apps.

React has a self sufficient cross platform eco system. I don't think people
using primarily web frameworks even realize the implications of that yet.
React works outside of the browser, and not just natively on mobile but
literally everywhere. Imagine you use React as you always would to make a
native command line application ([https://github.com/Yomguithereal/react-
blessed](https://github.com/Yomguithereal/react-blessed)), but now you want to
have a store or move things around, so you `npm install react-redux react-
motion` and you just apply it ([https://github.com/gaearon/react-blessed-hot-
motion](https://github.com/gaearon/react-blessed-hot-motion)). Look at the
code and try to picture the overhead if you had to do this in C++.

Being able to transfer code and knowledge, and seeing new renderers pop up for
the wildest platforms each day, as well as official renderers made by big
vendors ([https://github.com/Microsoft/react-native-
windows](https://github.com/Microsoft/react-native-windows)), the idea of a
web-bound Angular-like framework seems odd in 2018. I wouldn't expect Vue to
get the same kind of popularity without at least competing or doing something
new.

~~~
bpicolo
Vue has a bigger ecosystem than you're thinking.

[https://github.com/lyonlai/blessed-vue](https://github.com/lyonlai/blessed-
vue)

Either way, it's not such an issue. It's not hard to build on React when you
want react and Vue when you want vue. They're easy to pick up the concepts on.

------
sgdesign
We've had some questions on how libraries were selected. Basically, they were
manually added and tagged on [http://bestof.js.org](http://bestof.js.org), and
we then reused the data to build the Rising Stars rankings.

So if you see a library missing, it could be because we didn't know about it
and didn't add it to the database, or maybe tagged it in a way that excluded
it from a specific category. Feedback welcome!

~~~
marknadal
Hey Sacha, we both spoke at NordicJS where we met. You mentioned your survey
found a bunch of stats on my library's growth, and I know it has gone up by
+3K in 2017 (total of 7K+ now), yet it seems unfortunately left out because
gun isn't "tagged" as anything more than a database, not even a NodeJS
framework (when it is, at least as much as Feathers is).

30+ projects were highlighted with less than 3K+ increase in stars, so it is
just frustrating/disheartening to see mine left out. :/ Any chance there could
be a "Everything Else" category or adding "NodeJS Framework" as a tag to us?

~~~
sgdesign
Hey, sorry about that! It looks like we do have Gun in the BestOfJS db, so we
could add it. Like you said the only problem is figuring out in which
category…

~~~
marknadal
Thanks, and great job by the way. Shooting you an email.

------
minor3rd
The article mentions that Ava differs from Jest because of its focus on speed.
Just figured I'd mention we are in the process of migrating from Ava to Jest,
and we gained a 5x speedup in running our entire suite.

~~~
tnolet
I never understood the Ava speed claim. Always was much slower than either
Mocha or Jest.

~~~
andyfleming
I don't know for sure, but I think Ava embraced testing concurrently before
the other testing frameworks did.

------
smitherfield
Somewhat predictably, the (static, non-interactive) page took about 30 seconds
to load, thanks to all the Javascript.

~~~
joncampbelldev
Nope, javascript is less than 1/4 of this page, time for the "above the fold"
render for me (on standard laptop + broadband) is under 0.5 seconds.

Please examine other possible causes for a 30 second page load, unless you're
running on an 1st gen raspberry pi, 56k modem and a browser with a
showstoppingly bad js engine.

EDIT, using chrome's dev tools I tried loading with the "slow 3g" preset,
rendering of useful textual + hyperlink content took under 10 seconds, images
slowly came in after that over a longer period.

~~~
tinus_hn
> using chrome's dev tools I tried loading with the "slow 3g" preset,
> rendering of useful textual + hyperlink content took under 10 seconds,
> images slowly came in after that over a longer period.

That is not an achievement.

~~~
joncampbelldev
On a page crammed full of images its alright, they're going to be slowing down
the loading of everything.

If it were a plain text document and it was only JS loading and parsing that
slowed it down then it would indeed be embarrassing.

My response is to the person asserting that JS is the reason this page is
slow. I'm not making a statement that this is the greatest and fastest loading
page on earth.

------
osuka_
I actually find this very informative, it gives a good overview of the js
landscape right now. I'm however perplexed as to why the back button doesn't
work, which makes navigation really hard particularly annoying on android
mobile as pressing back ends up closing the browser. It uses react, so I
thought that was pretty much supported out of the box. Any idea?

~~~
Yuioup
Where is the category for Angular ecosystem?

~~~
szines
Where is the category for Ember.js ecosystem. It is actually huge and amazing.

------
allover
First I'd heard of dva [1] (#6 in the frameworks section), interesting that it
eases use of redux-saga as well as the usual abstractions over redux. redux-
saga has been something I've avoided after initial evaluation (I also avoid
redux unless absolutely necessary), but might take a second look with this.
Hope the project gets some more English translations!

[https://github.com/dvajs/dva/issues/1#issuecomment-334334184](https://github.com/dvajs/dva/issues/1#issuecomment-334334184)

~~~
rawnlq
Ditto with Ant Design (#14 on most popular projects) where most of their
community is Chinese: [https://github.com/ant-design/ant-
design/issues](https://github.com/ant-design/ant-design/issues). Their UI
framework is the most comprehensive I have seen.

I am sure english will remain the dominant language for a while but I wonder
if it makes sense to start learning new (human) languages just to open up the
number of communities you can learn from?

------
ernsheong
Why is Polymer left out of frameworks top 10? It has 18k stars and should be
No. 3...

[https://github.com/polymer/polymer](https://github.com/polymer/polymer)
[https://risingstars.js.org/2017/en/#section-
framework](https://risingstars.js.org/2017/en/#section-framework)

~~~
pluma
First of all, that is "stars added in that year", not "stars total".

Secondly, shouldn't the fact that that would have made Polymer #3 given you
some thought?

Polymer has ~19k stars total.

React has ~85k stars total.

Vue has ~80k stars total.

AngularJS (v1) has ~58k stars total.

Angular (v2+) has ~32k stars total.

Ember has ~18.6k stars total.

Preact has ~17k stars total.

So Polymer is behind React, Vue, AngularJS and Angular on total stars, having
just surpassed Ember. Placing it 3rd in the rising stars list would have
placed it before Angular.

I'd think "Polymer is more popular than Angular" would have been pretty
newsworthy.

~~~
ernsheong
Oops, my bad. I guess this is the reality I didn't want to embrace. Everyone
reinventing their own "standards".

------
jcoffland
Note, this ranking is based on number of new GitHub stars in 2017. Vue.js
currently has ~79k stars and, number two on the list, React has ~85k stars.
Vue.js is poised to surpass React this year in number of GitHub stars.
Whatever that is worth.

It's great to see Vue.js getting so much love. I've been extolling it's virtue
on HN and elsewhere for years now. The fact that it has gained so much
traction and is _not_ the baby of one of the big Internet megacorps is a
testament to it's genuine quality as a frontend Web framework. After many devs
finally realized that Angular sucked even though, or especially because, it
was backed by Google, it was sad to see the same people jump on to the React
bandwagon, in a large part, because it was backed by Facebook. There are
legitimate reasons for liking React but a lot of its adoption has been due to
FOMO. Vue.js stands on its own.

------
michaelrambeau
Michael speaking, from Best of JavaScript project. One year ago, when
"JavaScript Rising Stars 2016" was published, the topic was hot on HackerNews,
there were a lot of questions about the data. What was compiled here is only
the variation of the numbers of stars on GitHub, over the span of one year. Of
course it's just one metrics we picked, but we hope it will give you a good
understanding of what was the JavaScript landscape in 2017.

------
fnordsensei
ClojureScript surpassed CoffeeScript. That has to be a milestone, or some end
of an era and the beginning of a new one, or something along those lines.

------
ausjke
After comparing react vs vue.js a _lot_ i finally decided to use React
instead, for the long run. The real reason is not technical, but that I'm
concerned about hit-by-a-bus-factor. Life is too short to bet on it.

I hope the big guns like Alibaba or someone else acquire Vue.js and make it a
real competitor to React.

~~~
bpicolo
There's plenty of community, it's just well-driven by Evan. I wouldn't be
worried about bugs going unfixed if Evan weren't on the project anymore.

~~~
ausjke
believe so, another point is that React Native seems really nice, that Weex
for Vue.js seems a lot weaker, ideally with React you will be easier to
leverage it with React Native.

------
zeroz
Most promising project for larger enterprise I discovered in 2017:

Single SPA - a Javascript Meta Framework [https://github.com/CanopyTax/single-
spa](https://github.com/CanopyTax/single-spa)

 _> >Use multiple frameworks on the same page without refreshing the page
(React, AngularJS, Angular, Ember, or whatever you're using)_ _> >Write code
using a new framework, without rewriting your existing app_ _> >Lazy load code
for improved initial load time._

Unfortunately also missing in lists like this one.

------
platz
> You want to add new features to the language... such as "type checking".

Feel free to put that in scare quotes, as if you can barely register its
existence! In fact, that whole enterprise is probably misguided and full of
falsehoods, anyways, having witnessed the lies and attacks, first hand, for
years! Better nip it in the bud now, while you still can!

~~~
jasode
_> scare quotes_

I don't think the author had malicious intent.

Unfortunately, we use quote marks for at least 2 different meanings:

(1) <scare_quote>type checking</scare_quote> ... as dismissive sarcasm

(2) <term_of_art_quote>type checking</term_of_art_quote> ... as a delimiters
for industry vocabulary

Based on all the other uses of quotes in the blog post, he's using it as (2)
terms of art. Some style guides suggest using _italics_ instead of quotes for
_terms of art_ but a nice property of "quotes" is that it survives copy &
paste into plain text files.

~~~
platz
Ah i see.. my mistake, thank you.

------
luord
Great for vue, my favorite frontend framework for a while now.

------
AJRF
From the Vue.js information page on that site, 'The concept of single-file
component that includes template, logic and styles in a single file .vue file
is really nice.'

NO IT IS NOT!

~~~
tnolet
Instead of shouting, could you give some pro’s and cons you have encountered
using Vue single file components?

