Simple and Declarative: React simply expresses how your app should look at any given point in time, and React will automatically manage all user interface updates when you’re underlying data changes. It is quite easy to create interactive User Interfaces as you can design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug.
[See Also: Introduction to Mesos]
One Way Data Flow: React uses a mechanism which is expressed as “properties flow down, actions flow up”. This is a mechanism where properties, a set of immutable values, are passed to a component’s rendered as properties in its HTML tag. A component cannot directly modify any properties passed to it but can be passed call back functions that do modify values.
Virtual DOM makes it awesome for SEO: React creates an in-memory data structure cache, computes the resulting differences and then updates the browser’s displayed DOM efficiently. This allows the programmer to write code as if the entire page is rendered on each change while the React libraries only render subcomponents that actually change.
Architecture beyond HTML: The basic architecture of React applies beyond rendering HTML in the browser. For example, Facebook has dynamic charts that render to <canvas> tags and Netflix and PayPal use isomorphic loading to render identical HTML on both the serving client. These applications are based on React.js and this is what makes these operations possible.
Easy to Update: The beauty of REeact.js really shines when your data changes over time. It takes a different approach which is based on the process called “reconciliation”. This is an approach that makes it easier to build apps because the re-render is so fast (around 1ms for TodoMVC), the developer does not need to explicitly specify data bindings.
Does not use Templates: React approaches building user interfaces differently, as opposed to web application user interfaces that are traditionally built using templates of HTML directives, it breaks them into components (i.e. it uses a real, full featured programming language to render views). This is seen as an advantage as by unifying your makeup with its corresponding view logic, React can actually make views easier to extend and maintain.
It is not an MVC framework: React is a library for building composable user interfaces. It encourages the creation of reusable User Interface components which present data that changes over time.
Everything you need to know about outsourcing technology development
Access a special Introduction Package with everything you want to know about outsourcing your technology development. How should you evaluate a partner? What components of your solution that are suitable to be handed off to a partner? These answers and more below.