In this publication we will review the five most interesting and promising
JavaScript frameworks of the first half of 2016. The review brings together various types of libraries that provide different functionality - from creating UI components to isomorphic JavaScript. It will not be a deep and detailed technical analysis; rather, it is a brief introduction to the key features.
Below is a list of our frameworks:
Now, it's time to take a closer look at them.
Polymer

Let's start with
Polymer . It was created by Google and the reason for its occurrence was the desire to use its own web components. If you are not familiar with this term, visit
this site . It will open the world of web components to you and help you understand why crowds of web developers consider them the future of the Internet.
')
Speaking of the future, Polymer uses technologies that are not yet present in modern browsers, such as
Shadow DOM ,
Custom Elements, and many others. For everything to work, Polymer offers polyfills. We can say that Polymer is a collection of
polyfills and
syntactic sugar .
Now let's talk about the available UI elements. This is how
the Polymer
item catalog looks like:

The second element of this table is a paper element, which is a set of visual elements of Google Material Design (for example: controls, layouts, transitions and scrolling effects). Go to this demo page to see what it looks like.
A step-
by- step
guide for a beginner , helps you learn the basics of Polymer and create your first application
Aurelia
Aurelia was created by former AngularJS developer and, according to him, “Aurelia has the first of its kind“ adaptive ”data binding, which allows two-way data binding between JavaScript and DOM (including web components).“ It sounds interesting.
Here is a list of basic functions:
- Written on ES 2016 . No external dependencies other than polyfills;
- Instead of taking a monolithic framework approach, Aurelia consists of smaller modules ;
- Use of web components ;
- Two-way databinding ;
- Tested ;
- Support a large number of languages . Aurelia uses ES5, ES 2015, ES 2016 and TypeScript.
The documentation is quite detailed and contains code samples that can help you understand the whole concept. You can also watch the video tutorial, which can be found on the main page.
Aurelia is pretty extensible. Since Aurelia is just a series of components, you can always change to those that match your application. You can change the router or the binding system, or the monitoring functionality, in general, anything you want.
Meteor

Meteor framework is so-called
isomorphic javascript . In general, this term means "JavaScript applications that run on both the client and the server side." Thus, you can write your code once and use it both on the server for static page rendering and on the client.
Meteor is an open source JavaScript framework written in
Node.js. Nowadays, it is difficult to find a user who doesn’t wrinkle whenever he sees a web page that is reloaded every time after changing the settings. The good news is that Meteor was originally designed to create real-time applications. User actions or changes in the database cause immediate changes, and this behavior does not require any additional code. That's just how Meteor works.
This framework simplifies the development process by eliminating the need to know a bunch of different programming languages. Front-end, back-end and databases are managed only by JavaScript.
Meteor is easy to learn and easy to dive into. Run a few commands in the terminal and you will get a working application. If you don't believe me, check out this getting started
guide . In addition, it is possible to deploy a project to the server using one simple command.
As you can see, Meteor is a very friendly framework for novice developers and looking at how it is supported by the community, everyone from experienced to novice professionals should try it.
Webix
Webix is a JavaScript and
HTML5 framework that helps you create cross-platform web applications with a responsive interface. It consists of more than 70 components, from simple sliders to large widgets. You can find the list of components along with the API on
this page .
Webix developers paid special attention to users of mobile devices, providing the ability to create an application that will look and work fine, no matter what device you are using. Applications work perfectly on Android, IOS, Windows 8 and on Firefox OS. They also added the ability to use
Material Design .
Webix
Development Center contains several useful tools. For example, there is the
Skin Bulider and
Form Builder , which allows you to create forms by defining the required fields, location, and automatically generate code for your form. There is even a
visual designer that allows you to create drag-and-drop applications and then receive the generated code. Here's what it looks like:
The documentation page is full of information for developers of different levels. There you will find quick start instructions, tutorials, etc. If you want to start programming as soon as possible, you can try this playground.
React

Another framework that was built by the Internet giant Facebook.
One of the most important features is high
performance , which is achieved through the use of a virtual DOM. A virtual DOM displays only data. Which makes it easier to identify changes.
Another feature is the use of the
JSX language. This is an XML-like language that is optional and does not require the use of
React . Go to the project website to see the difference between writing components in JSX and JavaScript. In the first couple it may look confusing, but you should pay attention to it.
Data stream. Usually, when you use MVC frameworks, you encounter a situation where views interact with each other, which leads to difficulties in keeping data in sync and makes your application more complex.
React is a good choice if you plan to create reusable UI components. It is easy to get parts of the previously used code and redo it. Go to the
documentation page to find out how everything works.
Conclusion
In the field of web development, there will always be a need to follow trends. Today, web components and isomorphic JavaScript are things that need special attention when planning the next project.
Hope this article was helpful and will help you make a decision.
The author: Ivan Petrenko
- First
Reddit promotion service:
Reddit Upvotes