Recently, ReactJS has been picking up rapid popularity with all of the new changes to the major MVVM frameworks. They held their first ReactJS conference in Menlo Park, CA this past January, and to say the least, everything they said not only made sense, but it also sounded brilliant. Coming from the top guys at Facebook, they say that each “Component” of the site has it’s own state and properties. When you are working on a Component you know exactly what “state” variables are sent to it. This ideology instills confidence when making coding changes.
The main ideology of React is that each component receives “state” from its parent component, and this traversal of components is one way. Meaning, when state is updated in a component, everything below the component also receives a new state, and is updated accordingly. The state/data has a one-directional downward flow, and everything gets updated that needs to get updated when a change is made. Some of you may be thinking, isn’t this resource intensive? I originally thought the same thing. Through some development tests it accomplishment similar things being done in AngularJS, and EmberJS much quicker and leaner than anticipated.
The reason for the performance gains with ReactJS is due to it’s “Virtual DOM”. Although some of you may be thinking, “didn’t JQuery also have ability to create a “Virtual DOM”, why wasn’t that fast?” The answer to this is that ReactJS has built an “Incremental” Virtual DOM updating procedure into their framework. This means that only elements that need to be updated will get updated. The rendering time is reduced substantially, and no more repainting/re-rending entire layouts.
ReactJS is a fairly new framework, and as with all new frameworks, much is left to be learned, and with that, glory to be given to those who pursue. Risks are usually high with new frameworks, but the ReactJS concepts seem like a no-brainer, and after developing with ReactJS we’ve already seen development speeds increase, and quality assurance time spent decrease. The ReactJS community is also a huge help. On the chats and forums, I’ve seen very little “Learn to use the search function” responses from the ReactJS guys. They are very interested in growing their framework, and with a name like Facebook to back them up; it’s only a matter of time before people venture out and more people see the need for a competent framework.