The JavaScript ecosystem is huge and keeps fostering. Tons of libraries, frameworks and tools are being coded up and deployed in projects to make dynamic websites. While some are fizzling in demand and use, others are growing more popular.
Below are 21 libraries/frameworks all JavaScript developers consider for their project.
N/B: You don't need to know all of these. In fact, knowing just React or Vue is enough to build full websites.
- ANGULAR JS
Angular is one of the oldest JavaScript libraries till date. Wait, Angular is actually a Framework, not a Library. It allows you create single-paged, client-side web applications. Angular is written in TypeScript and backed by Google.
Some of the popular companies who use Angular are Google (obviously), PayPal and iTunes.
- VUE JS
Very similar to React, Vue is a front-end framework used to create single-paged applications with the popular component-based architecture. The upside with using Vue is that you write smaller amount to code compared to other UI libraries. Vue JS is growing stronger by the day, and is getting adopted at a quick rate.
- UNDERSCORE JS
Underscore is a lower level JavaScript library. Lower level in that it’s very close to vanilla JavaScript. All it does is provide you with some helpers and tools to create web applications faster.
- BABYLON JS
I have a confession to make; I really love the name of this particular library.
For the game developers, this name might not be a new one. Babylon is a full fledged 3D video game engine for creating complex and web-based 3D Video games.
- REACT
This is probably the one you were all waiting for. React is one of the most popular JavaScript library in existence. You see those similar and cool looking buttons, or perhaps those nice looking navigation bars, or some cool modals you just can’t stop marvelling at?
Chances are they were all made with React. React is a component-based UI library which allows you create reusable UI elements (components) for your website. It is used by many companies, including Facebook, of course.
For those of you looking to learn React, HTML to React is a brilliant course to go from knowing just HTML to knowing React.
- EMBER
Ember is a powerful JavaScript framework which helps developer to create websites without having to worry about the nitty-gritty of the process.
It includes everything you need to create rich UIs and combine them to form a powerful and highly scalable website.
- BACKBONE JS
Another cool name!
Backbone.js is a very simple and straightforward JavaScript library and framework. Its biggest distinguishing feature is the fact that it can fit within a single JavaScript file. Backbone is a great option for those looking to build simple websites.
- CLIPBOARD JS
As its name already implies, Clipboard allows you copy data from your site right off the bat! No need to install any additional dependency.
- BABEL
Some of us may be already be aware of the story of the tower of Babel in the bible. Creating a language division amongst the builders to cut of communication and create discordance.
Well this tool is the solution to that problem, in the context of JavaScript. When creating code, browser compatibility is open an issue to consider. Older web browsers tend to be dropped in favour of newer ones, but not all users update. There are still machines and devices out there that are running old versions of web browsers.
Babel is a JavaScript compiler which compiles your JS code to ES5 compliant nature. This means your code can run on new browsers such as Edge as well as older ones, such as IE 9.
- SVELTE
Svelte is a complete new approach to building user interfaces. While traditional frameworks like React and Vue are browser based, Svelte shifts that work into a compile step that happens when you build your app.
- LETTERING JS
Lettering is an interesting JavaScript library for texts. You can style and layout individual texts on your page, including implementing some cool transitions and animations. Lettering JS is a jQuery plug-in. Hence, it requires jQuery to work.
- CHARTIST JS
Ah, here is something for the data analysts!
Chartist is a nice JavaScript library for creating simple, responsive and customizable charts for your website. Chartist uses SVG to render them; hence, your charts can also obey custom CSS rules.
- DROPZONE JS
Dropzone allows you implement “drag and drop” features on your website. It is also highly customizable with custom code. It’s lightweight, doesn’t depend on any other library (like jQuery).
- THREE JS
Aha! Something to make some cool, eye-catching stuff.
Three js is an immensely popular JavaScript 3D library for creating visual effects on your website. It is a great option for those looking to create 3D visualizations without the need for heavy-duty game engines.
- jQUERY
jQuery is one of the oldest yet most popular JavaScript libraries still in existence. You’ve probably already heard of the DOM, which stands for Document Object Model. jQuery is perfect and quite reputed for manipulating the DOM. You can also dothings like HTML events, animations and effects, CSS manipulation, and AJAX calls.
- LODASH
When you think of this library, you think of utilities. Lodash is an immensely useful library which contains and provides utility functions which you call into your code to perform a specific task. Saving your time you would have wasted in writing it yourself.
- PIXI JS
Named after the popular movie animation studio Pixar, Pixi is an open source 2D engine used to create beautify, eye-catching animations on your website. Pixi uses WebGL, and uses HTML canvas if the former is not supported.
PixiJS is made of multiple consumable components that can be installed in your project with NPM/Yarn
- D3 JS
D3.js is a JavaScript library for manipulating documents based on the nature of data received.
It stands for “Data Driven Documents”, which kind of explains its task. The library uses pre-built functions to select DOM elements, create SVG objects, style them and add transitions and other effects. These objects can also be styled using pure CSS.
- SOCKET.IO
You should know that by default, the connection between the browser and web server is closed once the server responds with data. So how do you keep the connection open so data can seamlessly flow bi-directionally without having to make new requests in the process?
Socket.io, based on web sockets, is a JavaScript libabry which enables event-based two-way communication between the browser and the web server. It utilizes a node.js server.
https://socket.io/
- MATH JAX
Ah, good old maths.
As its name suggests, MathJAX simply allows you to include mathematics in your pages. This includes special math notations and symbols. MathJax automatically formats the mathematical symbols and equations that you enter in HTML and problem components using LaTeX notation into beautiful math. A MathJax equation can appear with other text in the paragraph (inline) or on its own dedicated line (block).
- MODERNIZR
Modernizr is a libary of tests. Features like CSS transform, web sockets, CSS transitions and animations can be tested on the browser using special properties from Modernizr.
There are over 260 features which can be tested using this utility.
Which of these are your favourite? Let me know in the comments.
P/S: I recently launched my Web Development Beginners Guide eBook for Absolute Beginners. Check it out here - Web Development - The Beginners Guide
Top comments (7)
Every developer should "know OF" them...but you don't actually need to know how to use all of them.
Long lists like these terrify a lot of newbie devs who think they can't build a site if they haven't learned them all. The reality is you don't need any of these to build websites, but they can come in handy. In the case of the frameworks they can even be the core of the project.
Some of the ones on your list are outdated and shouldn't be specifically learned nowadays. Once you have Javascript figured out you can easily pick them up if you MUST deal with them for some sort of project.
Specifically:
Angular/Vue/React are three ways to build full scale sites. Along with their own extensions they are 3 somewhat different framework structures and a dev should perhaps focus on one, rather than try to learn them all. Get decent at one and the other two should be easy to pick up.
The rest of them are things people play with for fun or use when a project specifically requires it, so they're not necessities, but can come in handy.
Web dev is a large ecosystem nowadays and it's often hard to decide what tools to use, but let's help out the newbies by guiding them down a few paths rather than tossing the universe map at them and going "have fun finding your way".
I would agree, there is no way any dev could really know ALL of the JS libraries.
I would also agree with the 3 major ones you picked. In other special cases I could see some of the more obscure ones being used but if you are familiar with Vanilla JS and a few other libraries you shouldn't have much trouble picking the others up as needed.
Angular and AngularJs are NOT the same!
When are people going to stop calling Angular as AngularJs!
AngularJs is practically dead, my company is currently rebuilding all our AngularJs Apps in Angular.
Angular is totally different and much more powerful.
This article, like many others is misleading and should be corrected.
Syncfusion library missing here syncfusion.com/javascript-ui-controls
Full stack Web developer learning and Newsletter resources plz.
I use only jQuery, MathJAX and D3 from this list. Frameworks are not essential for simple sites.
What about GoJS? Perhaps it would be also interesting example? We did a in-depth research here: synergycodes.com/gojs-ebook/