I disagree with the articles opinion on Typescript. I think even if you stick to ES6 features Typescript is a great consideration over Babel as it gives you better tooling.
Also, its clear the author is a React Fan. I would not discount Angular 2 as a consideration either.
State of the Art or Flavor of the Month? It still seems like the JS/front end world isn’t close to settling down.
This article seems to put forth as settled a number of issues that are still being hotly debated. This is not to say that the options they suggest aren’t usable (really, you can make wonderful things with them), but that the problem is not as cut and dried as it is made out to be here.
In particular, I think Ember.js is a strong option that has done a lot of work to bring in the best ideas and features from other frameworks. This includes a number of changes inspired by React.
The Ember team also takes versioning really seriously. In fact, the transition from 1.13 to 2.0 did nothing but remove deprecated features. No new additions at all! This means that if your code ran on 1.13 without warnings, it runs in 2.0.
Testing: Mocha + Chai + Sinon (but it’s not that simple)
Ava is a possibility if you’re willing to ride towards 1.0 for running in a browser.
enzyme is cool too.
Just use fetch!
Fetch’s api is nice, but it’s still based in promises which leads to some situations like cancelling requests being hard or impossible so it’s good to be aware if you need such things.
One drawback: css-loader with CSS modules enabled is REALLY slow
It seems like there are a high percentage of people using sass speaking up about this. Would be interesting to see a sass vs postcss comparison (and raw css, etc).
PostCSS and CSSModules are definitely the way to go these days. Might even solve the author’s “reference imports” issue (CSSModules values)
I’d lean on the side of make sure you don’t need it if you choose to not use it. I have some significant experience in the area though, so my opinion could be biased. These days with React-Router, etc it’s much easier to get up and running. That said I’ve met quite a few people who feel like it’s still as difficult as it was N years ago because they haven’t looked into it recently.
The API: There’s still no true answer.
REST doesn’t really live up to it’s promise IMO. GraphQL far exceeds REST in introspective ability, etc. Still for early adopters though. Setting up the GraphQL endpoint isn’t comparatively harder than picking up any other new tool.
Great article, really helped me pick out the best of JS right now.