Which JavaScript framework offers the best documentation

The most popular JavaScript frameworks and libraries

At JavaScript (short: JS) is a scripting language with which dynamic HTML content can be implemented in the web browser. The language can be used for object-oriented as well as for procedural and functional programming. JavaScript does contain predefined objects (i.e. data elements with special properties or methods or functions) for accessing a website, but these are sometimes cumbersome to use. In the meantime, many helpful instructions have been summarized in various JavaScript libraries and frameworks: tools that are supposed to make programming easier. We introduce the best and most famous.

Library vs. Framework

First, however, it is important to keep the terms apart. “Library” and “Framework” are often used synonymously - which is actually wrong. While the transition is actually fluid in many ways, there are fundamental differences between the two.

Library

In terms of programming, a library is basically a Program library - regardless of whether it is a class, component or any other library. Program libraries always contain subprograms that are intended to facilitate programming with auxiliary functions. In contrast to a framework, a library therefore becomes stronger designed for a specific use and has coordinated functions for this purpose. For example, the JavaScript library D3.js is used for data visualization - it can be used to implement small tables, diagrams and statistics as well as complex graphic representations (including animations and interaction options).

Libraries are always integrated by software that accesses the corresponding functions of a program library as soon as it requires a certain function from the range. This is why libraries can only work within a program and cannot be executed independently.

Framework

Also a Framework (English for "framework", "regulatory framework") is not an autonomous program, but rather one special form of a class library. A framework represents the software architecture (i.e. the basic structure) of an application and essentially determines the development process. Frameworks have certain design patterns with different functions (often in the form of several libraries) and are used to develop new, independent applications. An example of this is the Zend framework for PHP, which includes is used in the online shop software from Magento and the web analytics tool Piwik.

Inversion of Control

Another difference between a framework and a library is how they are controlled. In the case of libraries, the code is called up by programmers via the programming interface of a software. Frameworks, on the other hand, do a Reversal of control ("Inversion of Control"): The code is embedded in defined structures of the framework and called as soon as it is needed. In summary, it can be said that libraries are called by the program, whereas a framework makes specifications for the program.

JavaScript libraries and frameworks

The core of JavaScript is a rather simple programming language that is particularly suitable for use within the browser. However, many programmers have problems with the interface to the website: the DOM (Document Object Model). This is exactly where JavaScript frameworks and libraries come in: They offer developers work simplifications in this and other fields of programming. The JavaScript extensions presented in the next sections can all be downloaded free of charge.

jQuery

The extensive jQuery library is the most widely used JavaScript library. One of the reasons for this is that it is easy to write code across browsers and that there are many plug-ins for it. The open source library is part of many content management systems such as WordPress, Drupal or Joomla !. jQuery serves primarily as a convenient Interface to the DOM and offers various functions: With CSS3 selectors, website elements can be selected and manipulated very easily. JQuery is particularly valued because of the possibility of integrating Ajax requests (HTTP requests without reloading the website).

Advantages of jQuery Disadvantages of jQuery
Ajax support Can be very slow compared to CSS
Very popular Prone to spaghetti code
Extensive library Some of the new JavaScript functions have made it redundant
Easy to use  
Numerous plug-ins  

jQuery UI

JQuery UI is a free extension for jQuery. It is used to design and implement a user interface (English: "User Interface" or "UI" for short) - for example, of websites or web apps. The focus is on the easy design of effects and interactions. The functional scope of jQuery UI includes the implementation of interaction options (such as drag-and-drop, enlargement or reduction of website elements, etc.), animations and effects as well as widgets (such as autocomplete, slider, data picker, etc.). You can use the ThemeRoller graphic editor to create your own themes, but also to use and adapt existing ones - thanks to the modular structure, only required components are implemented.

Advantages of jQuery UI Disadvantages of jQuery UI
Easy handling through widgets Only slow development
ThemeRoller requires jQuery

Dojo Toolkit

The Dojo Toolkit is especially useful for Realization of web applications and dynamic web content at. As one of the oldest JavaScript libraries that is still relevant on the market, it offers a wide range of functions - the most important components of the toolkit are the main program (Dojo) and Dijit, a construction kit for graphical user interfaces. In addition, elements can be built into the website to be created with the help of ready-made widgets. Dojo can also handle both the DOM and Ajax.

Benefits of Dojo Toolkit Disadvantages Dojo Toolkit
Easy handling through widgets Not that easy to learn
Ajax support Slow advancement
Comprehensive, modular library  

React

React was first used in 2011 in Facebook's news feed. In 2013 it was released on an open source basis. It's another JavaScript library that you can use Create user interfaces can. The special thing about it is that React can not only be used in the website client, but can also be used on the server or in app development. This is due to the use of a virtual DOM, which also makes testing web applications easier. In addition, the JavaScript library convinces many developers with one-direction-data-flow: This technique ensures stable code, as changes in hierarchically lower-level code cannot influence the higher-level code. Changes can only have an impact in the other direction.

Advantages of React Disadvantages of React
Virtual DOM Difficult to learn
One-way data flow  
Server-side rendering  
Can be used for mobile apps  

Zepto

Zepto is a real one lightweight: While jQuery is impressive because of its size, this is also a factor that scares off some developers. The most popular JavaScript library is too bulky for some users. The minimalist Zepto is much slimmer and should therefore load faster and use less space, which is why it is mainly used for mobile apps. In order to keep the file size low, Zepto saves on compatibility with older browsers, for example. To enable Ajax and animations, you have to use additional modules.

Benefits of Zepto Disadvantages Zepto
Very slim Does not support older browsers
Easy to learn Ajax and animations only possible with additional modules
  Hardly any advantages over jQuery

CreateJS

Not just one, but several libraries: CreateJS is a suite that consists of four different libraries: EaselJS (graphics & interactivity), TweenJS (animations), SoundJS (audio) and PreloadJS (preloading). These in turn are not dependent on one another. This means that you don't have to implement all four libraries in a project, although you only need one, for example. In addition, a number of tools are offered that simplify working with the JavaScript libraries. The focus is on Development of HTML5 and Flash applications. In general, the CreateJS team works closely with Adobe, which is why there are tools that ensure that the suite works seamlessly with Adobe products.

Advantages of CreateJS Disadvantages of CreateJS
Independent libraries Small community
Additional tools  
Integration with Adobe Animate  

JavaScript libraries at a glance

  jQuery jQuery UI Dojo Toolkit React Zepto CreateJS
Publishing year 2006 2007 2005 2013 2010 2012
Maintainer JS Foundation JS Foundation Dojo Foundation Facebook Thomas Fuchs gskinner.com
License WITH WITH BSD / AFL WITH WITH WITH
GitHub contributors approx. 270 about 300 about 100 approx. 1,100 about 180 about 40
particularities most famous library Focus on GUI Focus on web apps Virtual DOM Minimalistic Integration with Adobe Animate

Popular JavaScript frameworks

There are significantly more JavaScript libraries than frameworks. The latter are particularly suitable Forcomplex web applications. If developers get involved with the concepts and specifications of the respective framework, they can work with it very effectively.

AngularJS

The framework from Google has by far the largest community among the JavaScript frameworks. AngularJS is used - similar to its main competitor, Facebook's library React - to create single-page web applications (web apps that only consist of an HTML document). Because of the MVVM approach (Model-View-ViewModel), in particular, web applications can be developed that are strongly designed for interaction with users. (The manufacturers of the JS framework prefer to categorize AngularJS - semi seriously - as WMW: Model-View-Whatever) AngularJS renders the web application on the client side. The framework is based on jQuery Lite - a slimmed-down variant of the well-known JavaScript library jQuery.

Advantages of AngularJS Disadvantages of AngularJS
Very large community Has now been replaced by Angular
Part of the MEAN software stack High entry barriers

Angular

Angular - sometimes also called Angular 2 - is the successor to AngularJS. The JS framework is still primarily intended for the development of single-page web applications. However, Google made some very strong changes in the second version. The biggest difference is likely to be that you no longer use JavaScript, but TypeScript used for programming. However, since the Microsoft programming language is based on JavaScript and contains it completely, this does not result in any direct restriction in JS development. In addition, Angular has now been adapted so that developing applications across multiple platforms (desktop, mobile, tablet) is no problem.

Advantages of Angular Disadvantages Angular
More possibilities thanks to TypeScript No easy migration from AngularJS to Angular
Cross-platform development Even higher entry barriers than the predecessor

Ember.js

Ember.js is also a client-side framework that is used for the implementation of single-page web applications, but can also be used to create desktop applications. A distinguishing feature to AngularJS is that the makers of Ember.js involve the community even more intensively in the development processes of the framework and publicly discuss significant changes to the framework with it before they are implemented. Ember.js is marketed as the framework that you can use ambitious web applications created - accordingly, it is primarily aimed at developers who already have experience with the design of web applications.

Benefits of Ember.js Cons of Ember.js
Developed by the open source community Very demanding, especially for beginners
Can also be used for desktop applications  

Vue.js

Vue.js is also a JavaScript framework for developing single-page web applications that is reminiscent of Angular and React. The developers of the relatively young and up-and-coming project deliberately designed Vue.js to that it is comparatively easy for beginners to get started. For example, it is possible to include templates in HTML. In addition, Vue.js is said to be much more flexible than many other frameworks, which usually rigidly dictate the way in which the framework is used.

Advantages of Vue.js Disadvantages of Vue.js
Quick to learn Little complex
Supports HTML & CSS Comparatively small community
Flexible development opportunities  

meteor

Meteor - sometimes also called MeteorJS - is a JS framework that is particularly suitable for cross-platform development. It enables developers Build both web and mobile apps with the same code. Another advantage: Changes in the code can be forwarded directly to clients thanks to the specially developed Distributed Data Protocol (DDP). In addition to the free framework, the manufacturers of Meteor also offer Galaxy: This is a paid platform. Developers can use the cloud service to publish and host their projects. The JavaScript framework runs on the basis of Node.js - therefore it is also very useful when developing with Meteor to have knowledge of the development environment. With Meteor you can create backend and frontend in one piece without changing the language - a revolutionary concept that has not yet caught on.

Advantages of the meteor Cons meteor
Cross-platform development Only works with MongoDB and not with any other type of database
Hosting platform Galaxy Change of the backend necessary
Can be combined with Angular, React and other frameworks / libraries Search engine and performance issues

Overview of JavaScript frameworks

  AngularJS Angular Ember.js Vue.js meteor
Publishing year 2009 2016 2011 2014 2012
Maintainer Google Google Ember Core Team Evan You Meteor Development Group
License WITH WITH WITH WITH WITH
GitHub contributors approx. 1,600 approx. 570 about 700 about 700 approx. 370
architecture MVVM / MVW MVC MVVM MVVM MVVM
particularities Can also be used for mobile and desktop apps Can also be used for mobile and desktop apps Can also be used for desktop applications Easy training Combines backend and frontend

Useful tools for many areas

Frameworks and libraries can make working with JavaScript a lot easier. The ones presented above are only a small part of the tools available. In addition to GitHub, the website www.javascripting.com is a good source for other JavaScript frameworks, libraries and plug-ins. There you can find suitable JavaScript extensions for various purposes.

Similar articles

Modern web development: basics and tools

The trend in web development is moving away from static web offers towards interactive content. Even though HTML and CSS are still the basic structure of every website, web developers are increasingly using server-side programming languages ​​such as PHP to create dynamic websites. In addition, client-side scripting languages ​​such as JavaScript offer the possibility of ...

Node.js introduction: An overview of the JavaScript runtime environment

With the software platform Node.js you use JavaScript on the server side and benefit from the possibilities of asynchronous, event-based programming when developing server applications. We will give you an overview of the modular structure of Node.js, explain how you can install third-party modules using the integrated package manager npm or your own program modules ...

MooTools: The compact JavaScript framework

No other programming language has left its mark on web development as clearly as JavaScript in recent years. Developed in 1995 as a Java alternative for the Netscape browser, today it is difficult to find a web application that works entirely without the script language. Nevertheless, critics rightly complain that JavaScript lacks a class system and the language as a whole is too ...

JHipster: The framework suite for modern web applications

The use of frameworks has become an integral part of modern web development. The design of back and front ends based on ready-made basic structures saves a lot of time, which can consequently be used for other areas. The website generator JHipster is an interesting solution that uses several tools to create server and client-side components. Which...

Internet Programming Languages: The Best Languages ​​for the Web

Do you want to learn one or more web programming languages? The first challenge is to choose one. After all, there are hundreds of programming languages ​​- but not all of them are suitable for web development. So that it is easier for you to make a decision and to tackle your web project, we will briefly introduce you to the most popular Internet programming languages.