The must-learn JavaScript frameworks for 2017


September 23, 2017

TL;DR: Doing a Google Search for “best frameworks to learn in 2017” brings up more than 9 million results. I think you should avoid learning any specific framework until you actually need it.


What is a framework?

What is or isn’t a “framework” is debatable amongst the development community. I think a framework is a library that allows you to do more than implement some basic or specific functionality.

A framework should make the task of creating applications easier by helping to implement databases, models, controllers, views, presenters, networks, etc..

Frameworks try to help with the biggest, baddest problems of the software development process. Frameworks have built-in design choices which you should (for the most part) not care about. Additionally, they have well-defined recommendations for how software should be built.

Great frameworks also have clever defaults that help you avoid decision fatigue, and allows you to start writing important business logic rather than caring about choosing, for example, a database or routing service. The Ruby on Rails framework is a great example of a well-built framework. Ruby on rails also happens to be one of my favorite frameworks. In the world of JavaScript, the most popular frameworks are Angular and Ember.


With all of that out of the way, which are the must-learn JavaScript frameworks for 2017?

My response: None.

Don’t start crying just yet. Allow me to explain why.

Learning how to use a framework is a knowledge that will expire pretty quickly. Learning frameworks just to learn them is pretty useless. Rather than learning how to use a framework, you should learn how frameworks work. The knowledge you will gain from this will be absolutely invaluable.

If getting a great job is your reason for wanting to learn a framework, then trust me on this: learning the way frameworks work is much more impressive than knowing just how to use them.

Not only will this knowledge be something to show off, but you will learn how to debug the most complex problems there are to face.

If you learn how frameworks work you will become a much more more impressive developer than one that knows just how to use them.

The knowledge to become a unicorn developer

I believe the skills required to become a more skilled developer go a bit further than simply learning how to use a JavaScript library or framework:

  • Learn the bad parts and good parts of the JavaScript language itself.
  • Learn all of the recent features JavaScript has recently gained.
  • Learn how to build and use the different types of JavaScript data structures.
  • Learn why the JavaScript is single-threaded and how the event-loop works within the language runtimes.
  • Learn how to use your favorite browser’s DevTools.
  • Learn how to load JavaScript as needed rather than everything at once.
  • Learn the part that functional programming plays in JavaScript and how you can use its power.
  • Learn about the libraries that do one thing extremely well.
  • Learn how to leverage the power of CSS to make your JavaScript code smaller, including Flexbox and grid layouts.
  • Learn how to add and use static typing in JavaScript through TypeScript or Flow.
  • Learn how to use a framework only when you actually need it.

Conclusion

Learn how to use a framework only when you actually need it.

I promise that through the knowledge you will gain from the points above, you will become a faster and more efficient developer than you currently are.

What do you think? Let me know! The more we share, the more we learn :)

I hope this article was useful to you. Have a wonderful life!


Written by Victor Dozal who lives and works in Austin, TX. He enjoys building useful things, writing about his journey as an engineer, and consuming lots of coffee. You should subscribe to him on YouTube :)

Need help with your project? Struggling with a problem? I'm at your service.