In order to answer this burning question, we’re providing you with a newbie-proof definition of what JS frameworks actually are.
Table of Contents:
- Chapter 5: Resource Roundup
Think of building websites and web apps like building a house—when you set out to build a house, you could create all of your own building materials from scratch and start building without any schematics, but that approach would be incredibly time-consuming and doesn’t make a lot of sense. It’s more likely that you would purchase pre-manufactured building materials (wood, bricks, countertops, etc.) and then assemble them based on a blueprint to fit your specific needs.
JS libraries like jQuery are used by plugging library code into the rest of your site’s code when needed.
If you want to use a jQuery template for an autocomplete feature, for instance, you would insert the appropriate jQuery code, which then retrieves the feature from the jQuery library and displays it on your user’s web browser.
In other words, when a front-end developer uses a library like jQuery, the developer is using jQuery code to “call” the jQuery library, which then provides the requested content.
When you’re trying to define framework in the context of library vs framework, think of it like this: when you use JS frameworks the process is more holistic—a framework doesn’t just offer an individual solution to a coding problem, it provides a structure (like a skeleton or a scaffolding…or a framework) that organizes the parts of your site where the framework is implemented.
While some frameworks are designed to live underneath all of your site or web app’s code, other frameworks—like the increasingly popular Vue (see below)—allow for incremental use.
This means you can apply the framework to as much or as little of your website or web app as you want. As more frameworks have adopted this incremental model, JS frameworks have become an increasingly flexible way to provide structure when appropriate, while still giving front-end developers the freedom to hand-code when necessary.
Vue is a framework that was released in 2014, but has become increasingly popular over the last few years. In 2017, Vue’s star ranking (user “likes”) on GitHub reached 40,000 (up from 26,000 in 2016), vaulting into the number one spot ahead of second place React (at 28,000 stars).
Like Vue, React is designed for incremental implementation (meaning it’s another tool that lets you use it as little or as much as you need), and it also comes with a reputation having a supportive developer community.
Finally, Angular is a complete 2016 rewrite of the Google-backed framework AngularJS. At number three on bestofjs’ 2017 list, an “Angular jobs” search on Indeed brings up over 14,000 jobs listings as of this writing. Angular has a somewhat steeper learning curve than frameworks like Vue (Angular uses a framework-specific JS variant language called TypeScript, which you’ll also have to get familiar with if you want to learn Angular), but as you can see from the job listings, its a preferred standard for many employers.