5 reasons to go for React
One of the questions we are often asked is why Essence uses React? The top reason that comes in mind is clarity of thought. React has a small but very well defined grammar. React lets you build quite complex UIs without losing code clarity. So, if you’ve just started your adventure with React.js, let us share another 5 specific reasons why the Essence team uses React.js:
Components
React components help you break your project into smaller parts. Smaller meaning they are defined to do one thing and do it very well. When designing interfaces, with React you break down the common design elements (buttons, form fields, layout components, etc.) into reusable components with well-defined interfaces. That way, the next time you need to build some UI, you can write much less code. This means faster development time, fewer bugs, and fewer bytes down the wire.
The functional philosophy
When evaluating a new framework/language/library the underlying principles are the most important things to consider. React models the UI as a pure function of your model. Being purely functional makes it very easy to reason about your UI, makes it very componentised, testable, and predictable. This will naturally lead to fewer bugs and better code maintainability. React allows the developer to write pure functions that hook into React’s VirtualDom so that they can perform the minimum amount of changes to the real Dom nodes. This functional philosophy that underpins React is what achieves performance.
The virtual DOM
The virtual DOM is used for efficient re-rendering of the DOM. Virtual DOM is built on top of standard DOM. It still utilizes the standard DOM, but it does so as little as possible and very efficiently. Front end performance is improved by avoiding direct contact with DOM and working only with lightweight JavaScript objects that mimic the DOM tree. Using the virtual DOM, React abstracts away the DOM from you, giving a simpler programming model and better performance.
It’s easy to learn & use
If you’re proficient with JavaScript, you could start writing React code in a matter of days or even hours. Adopting React for your project or app isn’t a risky all-or-nothing decision. React works well alongside most existing code bases and integrates well with existing UI frameworks. You can move your legacy projects to React incrementally, rather that rewriting everything. It also works great for teams, enforcing healthy UI and workflow patterns.
Growing interest from developers
Data gathered recently by Stack Overflow in the 2016 Developer Survey results suggests that interest shown in React technology has increased by 311.3% since last year, making React the top trending tech on Stack Overflow. The same study reports that 66% of developers are using React and want to continue using it. Another 9.2%, who are not using React, expressed interest in developing with it.
React isn’t a niche technology. It’s already used by big organizations and businesses. Facebook was the place where React was created. And it’s actively used on Facebook website, Instagram and WahtsApp. Meanwhile, other big names are joining the React fan group: Netflix, Squarespace, HipChat, Flipboard and others.
Mihaela, on behalf of Essence team