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 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.
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 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.