95points

React

React
vs

React review: 20 facts and highlights

React
95
points
React

Why is React better than the average?

General info

1.Uses JSX for templating
React
JSX is a templating engine that allows the developer to write markup directly in their code, which is then live- or pre-compiled to plain JavaScript. This eliminates the separation between view markup and code and offers speed improvements over string-based templating languages.
2.Integrates with other MV* Frameworks
React
Can be used to replace a part of another framework without removing the remaining features.
3.Supports composed (partial) views
React
Allows for nesting view templates into top-level views from within a template.
4.Published under Apache License
React
The Apache License is a very permissive license which allows all uses, including business use, without warranty.
5.versions of Internet Explorer supported

8

Legacy browser support can be important for corporate projects and projects with a large user base consisting of Internet Explorer users.
6.Has integrated input validation
React
Built-in utilities to help validate client input before it gets processed or sent to a server. While this does not replace server-side validation, it can vastly improve the user experience.

Plugins

1.Has a popular plugin to support animation
React
Has a plugin which includes facilities to easily create view animations.

Libraries & Packages

1.Is DOM manipulation library agnostic
React
Does not require or seriously encourage the use of a specific library (like jQuery, Zepto or MooTools) to handle DOM manipulation and can be used with one the developer prefers.
2.Works with AMD libraries such as require.js
React
Asynchronous Module Definition libraries allow for easy modular, clean programming. If a framework does not work well with such libraries, it might have some other means to modularize its components and resolve dependencies, like Dependency Injection.
3.Officially supports Bower dependency management
React
Bower is an easy-to-use, npm-like package manager for frontend apps.

Data binding

1.Supports one-way data binding
React
Views can be bound to update automatically when an observable object changes.
2.Models are plain JavaScript objects
React
This makes for easier data transfer between the app and REST Services or the LocalStorage. It also reduces complexity from getter and setter functions.
3.Allows the use of view mixins
React
Mixins are a programming technique that allows different objects to share common behaviour without the need for object-oriented inheritance.
4.Can be extended by a popular plugin to have two-way databinding
React
Can be extend to support models and views updating each other. This adds more filesize but allows for more flexibility.

Performance

1.minified file size without dependencies

78KB

Smaller file size means faster load times.
2.Templates can be pre-compiled on the server
React
Supports a template engine that can be pre-rendered on the server. This possibly improves page speed, especially on devices with low computing power.
3.Can be rendered on the server
React
This greatly improves search engine crawlability. This possibly improves page speed, especially on devices with low computing power.
4.Updates the DOM asynchronously
React
Model changes do not immediately result in view updates but are queued and dispatched as a group. This can be a lot more performant than instant view updates.
5.Integrates well with third party libraries to enable Promises/A+ support
React
Allows the use of libraries like jQuery Deferred to support promises. Promises are a popular alternative to callbacks when dealing with server responses.

Follow Versus on Instagram

Follow @versusdotcom

Which are the best MV* frameworks?

Show all
This page is currently only available in English.