11 Open Source JavaScript Libraries for Web Developers

by Janeth Kent Date: 17-06-2020 javascript libraries opensource resources scripts webdev

Undoubtedly, JavaScript is one of the most used programming languages nowadays. Thanks to it, we have access to different features offered in the websites we visit regularly and which make our browsing experience much more pleasant, simple and entertaining.

The browsers we use have their own JavaScript engines integrated, in order to take full advantage of their benefits and try to offer the user, a higher performance in web applications that implement it in a comprehensive way.

User interfaces, dynamic web pages, animations, frameworks for application development that require updating information in real time and many more things are possible with this language.

Among those many things, there are libraries created to meet very specific objectives, which will help us to provide our projects with very interesting features, so it's worth having them there at hand.

In this article we have compiled a list of the best dynamic javascript and open source libraries for front-end projects.


1. Math.js


Although the standard JavaScript language contains quite a few mathematical functions, it is by no means complete. 

One feature that is often overlooked is that of complex numbers. Math.JS provides a relatively easy to use API whose basic usage looks like this:

const a = math.complex(2, 3)
print(a.re) 2
print(a.im) 3

The accuracy of floating numbers is another issue in JavaScript runtimes. Math.JS solves this problem by providing a fixed-point floating number implementation - simply set the desired accuracy, and increase its decimal number:

math.bignumber('2.3e+500') BigNumber, 2.3e+500

Keep in mind that BigNumber and its various classes are not a panacea for all digital problems. Fixed-point arithmetic is known to be much slower than hardware-accelerated floatation mathematics - if you don't have a good reason to use higher precision, it's better to do without it.


02. Leaflet


Leaflet is an open source JavaScript library for interactive web maps. It is lightweight, simple and flexible, and is probably the most popular open source cartographic library at the moment. The brochure was prepared by Vladimir Agafonkin (now of MapBox) and other contributors.


03. Anime.js


Anime.JS provides a convenient implementation of the keyframe animation pattern. Specify start state, end state and a facilitation function - the library and browser will use CSS transformations to ensure your animations run at optimal speed.


04. Hotkeys


Providing a keyboard-based interface makes the products more attractive to advanced users. Hotkeys takes care of the often very complicated details of keyboard management, leaving you to focus on implementing business logic. Less than ten lines of code are needed to start!


05. Easy Toggle State


Activating and deactivating GUI elements on a scheduled basis is an old but recurring task. The easy switching status provides an orderly way to perform the endless task of grouping items and turning them on and off without breaking a sweat.

06. AutoNumeric

D3 creates data links between arbitrary DOM objects and elements stored in the code behind them. This means that the appearance of the website can be flexibly customized according to the data stored.

D3 differs from traditional diagram libraries in that it does not provide any templates. If, for example, you want to create a pie chart, it is best to start by entering rectangles and adding data links to calculate the height and others.

The library shines when extremely complex and/or animated visualizations are required and preparation time is not a problem. A popular example would be the coroplet maps, commonly used in election reports. This, of course, is a small overview - more tutorials can be found here.

08. Element


Element differs from the rest by being sponsored by several large web companies based in both China and the US.

From a technical point of view, Element is - in general - a well-supported collection of GUI widgets based on Vue 2.0. Import it into your web project, add the specific tabs and "hack" it as if it were the jQuery user interface.

One area where the product really shines is where the date and time are displayed. The following excerpt creates a set of controls that allow the user to specify a period of months:

start-placeholder="Start month"  	  
end-placeholder="End month">  	

Unfortunately, starting with the element requires some manual work. The most convenient way involves downloading the starter kit and running it within a Node.JS environment.


09. HighCharts


Although open source JavaScript diagram libraries are in common use, some jobs require the additional "client support security" offered by commercial software. In this case, HighCharts is a safe bet.

The product, which has been on the market for years, has long been diversified to include display solutions for Android, mapping and the stock market.

Launching a HighCharts diagram is simple. Invokes the chart() function, along with a <div> label and an object containing more descriptions:

Highcharts.chart('container', {  	
chart: {  		
scrollablePlotArea: {  			
minWidth: 700  		

Highcharts differs from its competitors in that it can obtain its data from a variety of sources. A clear example is the following, which uses a CSV file hosted on a third-party server:

data: {  		
csvURL: 'https://cdn.jsdelivr.net/gh/  
highcharts/[email protected]/samples/data/  
. . .  },

10. Underscore.js


Although libraries like jQuery are popular, they add significant amounts of code to your product. Underscore.js offers a small, well-aged selection of APIs, making it an ideal choice for web projects where space is at a premium.


11. Hammer


Touch recognition can be a tedious process. Hammer.js simplifies this task: it specifies the areas to be touched, and waits for events to fall into its listening functions.

You may also like:


12. Finance.js


Programming depreciation and other similar financial mathematical processes is not difficult, but it is annoying. Finance.JS adds a mathematical object to your browser - providing convenient access to various commonly used financial calculations.

13. Bideo.js


Purists might see a full-screen video as the most decadent and useless of backgrounds. Some designs, however, benefit greatly from this - in that case, use Bideo.js to take the stress out of handling the video.

by Janeth Kent Date: 17-06-2020 javascript libraries opensource resources scripts webdev hits : 11166  
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN END DEVELOPMENT.


Related Posts

How to create PDF with JavaScript and jsPDF

Creating dynamic PDF files directly in the browser is possible thanks to the jsPDF JavaScript library. In the last part of this article we have prepared a practical tutorial where I…

How to make your own custom cursor for your website

When I started browsing different and original websites to learn from them, one of the first things that caught my attention was that some of them had their own cursors,…

Node.js and npm: introductory tutorial

In this tutorial we will see how to install and use both Node.js and the npm package manager. In addition, we will also create a small sample application. If you…

How to connect to MySQL with Node.js

Let's see how you can connect to a MySQL database using Node.js, the popular JavaScript runtime environment. Before we start, it is important to note that you must have Node.js installed…

JavaScript Programming Styles: Best Practices

When programming with JavaScript there are certain conventions that you should apply, especially when working in a team environment. In fact, it is common to have meetings to discuss standards…

Difference between arrow and normal functions in JavaScript

In this tutorial we are going to see how arrow functions differ from normal JavaScript functions. We will also see when you should use one and when you should use…

JavaScript Arrow functions: What they are and how to use them

In this article we are going to see what they are and how to use JavaScript Arrow Functions, a new feature introduced with the ES6 standard (ECMAScript 6). What are Arrow…

How to insert an element into an array with JavaScript

In this brief tutorial you will learn how to insert one or more elements into an array with JavaScript. For this we will use the splice function. The splice function will not…

What is the difference between primitives types and objects in JavaScript?

In this short tutorial we are going to look at the differences between primitive types and objects in JavaScript. To start with, we're going to look at what primitive types…

How to get DOM elements with JavaScript

When you access any element of the DOM, it is usual to save it in a variable. This is something that at first might seem very simple, but if you…

How to reverse an array in JavaScript

In this tutorial we are going to see how you can change the order of the elements of an array so that they are inverted. You could use a loop…

How synchronize the scroll of two divs with JavaScript

In case you have two divs of different sizes you may sometimes want to scroll both at the same time but at different speeds depending on their size. For example,…

We use our own and third-party cookies to improve our services, compile statistical information and analyze your browsing habits. This allows us to personalize the content we offer and to show you advertisements related to your preferences. By clicking "Accept all" you agree to the storage of cookies on your device to improve website navigation, analyse traffic and assist our marketing activities. You can also select "System Cookies Only" to accept only the cookies required for the website to function, or you can select the cookies you wish to activate by clicking on "settings".

Accept All Only sistem cookies Configuration