This month we have a lot of high quality writing. And it covers a lot of ground — front end frameworks, Node.js, npm security, machine learning and more. We'll kick things off with a look at which projects have been the most popular over the past year...

This one is pretty cool. It ranks JavaScript projects by the increase in GitHub stars the projects had over the past year. The big winner in 2017 — Vue! In fact, Vue is getting very close to topping React for most stars overall, despite lagging behind in usage.

Another surprise for me was the strength of Preact. It had almost as many new stars as Angular. It’ll be interesting to see where things land next year.

Burke Holland wrote this article and it's loaded with great tips on getting the most from Visual Studio Code. I switched to VS Code a few months ago from Atom and love it. It’s so good I almost forgive Microsoft for all the years I’ve spent hacking around Internet Explorer.

The Ultimate Guide to JavaScript Frameworks

This is one of my articles from earlier this month. It’s a huge guide that aspires to be a reference to all known JavaScript frameworks. Despite having write-ups on over 50 frameworks, I have a list of other frameworks people have shared with me that need to be added. I’ll be tackling that this weekend…lots of ClojureScript ones I missed.

Gatsby is freakin’ great and should be used more often. It’s not right for every project — for example those that need authentication. But if it’s a fit, you get a great developer experience and a really, really fast site.

You can also use it as a decoupled front end. Write your content in WordPress, Drupal or Contentful (among others) and publish with Gatsby. 🎯

The Best JavaScript Frameworks You’re Not Using

A lot of discussions of front end frameworks begin and end with the “Big Three” — React, Angular and Vue. That’s too bad because there are some fantastic alternatives, particularly if performance is your top consideration. In this article, I introduce you to three frameworks that are excellent choices — two of which are easy for React developers to pick up.

This article from Samer Buna is filled with solid tips, particularly for folks who are new to React. Most of these are just general tips for JavaScript, so it’s worth a read even if you aren’t learning React.

I thought this article was a bit scary. It’s a look at how incredibly vulnerable npm packages can be. But it’s not all doom and gloom. Author David Gilbertson ends with solid advice on building more secure applications. He’s followed this article up with part two, . Highly recommended.

Building a boilerplate is a fantastic learning experience. There are great CLI tools that help you get started building applications quickly — Create React App, for example — but what happens when you need to understand how it’s all put together? Consider making a boilerplate for yourself, even if you don’t end up using it.

If you’d like deeper insight into how React works, this article from Gurusundesh Khalsa is a great place to start. He walks readers through the process of building a simplified, “mini React” clone. Good stuff.

Deep post here from Robin Wieruch. The article is specifically targeted at web developers who want to learn more about machine learning and still leverage their existing knowledge of JavaScript.

Spoiler alert: Go is insanely fast. I think that when Go supports WebAssembly, there’s going to be a surge in JavaScript developers learning the language.

Static typing in JavaScript is becoming more popular and TypeScript is leading the charge. Todd Motto provides this excellent introduction.

Sapper — The New JavaScript Framework You Seriously Need to Try

You may not have heard about Sapper, but it’s really great. It’s built on top of the Svelte library and makes it easy to build very lightweight, very fast websites. If you like the way Vue works, it’s another good reason to check this framework out.

State machines sound kind of complicated and scary. However, Jean-Paul Delimat does an outstanding job of explaining how, when and why you might want to use them in your React applications. Also, not scary at all.

My favorite tip is to use the displayName property for debugging. Say you have multiple instances of a component, for example a form input. You can set the displayName to easily tell them apart in DevTools. 👍

And Finally…

If you’ve enjoyed this post, sign up for my weekly newsletter. 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…