There are many Javascript frameworks, so when we need to choose what technology to use in the frontend of a new project, we face an important decision that will greatly influence the future of our application. In this cases it is important to choose technologies that complement and facilitate development. Since Facebook made public ReactJS, an open source Javascript library with great benefits in performance and modularity, things changed.
It is important to note that ReactJS is a library focused on visualization. Facebook proposes an architecture to model the rest of the application, called Flux, that does not go accompanied by a Framework. This may seem strange, but it allows React to be much more flexible, promoting a very clear flow of data and events, and facilitating the planning and development of complex apps.
Flux, the architecture that recommends Facebook to complement with React, focuses on the flow of information that stops being bidirectional to become a one-way flow. This feature, instead of the typical bidirectional flow in modern Frameworks, makes it easier to plan and detect errors in complex applications, where information flow can become very complex, resulting in errors that are difficult to locate. Now well, the secret of ReactJS to have a very high performance, is that it implements Virtual DOM. Instead of rendering the whole DOM in each change, it makes the changes in a copy in memory and uses a comparative algorithm that applies changes exclusively in the parts which vary. This may sound like a lot of work, but in practice it is much more efficient than the traditional method. There are more steps to plan and program, but it offers a better user experience and a very linear planning.
If we are starting a project we can build on the Flux architecture, but if we already have an ongoing project using an MVC Framework as AngularJS we can keep AngularJS as controller and ReactJS to take care of the views. This makes sense since ReactJS has a superior performance at the moment to manipulate the DOM, which has a big impact when dealing with long lists that constantly change in our visualization.
Concluding, ReactJS seems to mean a rather big change. Maybe at first it can be awkward by the syntax, but it can be overcome quickly, specially taking in consideration that the learning curve is very short.
In TISA we possess the resources and tools to help you maximize your resources, implementing reliable and efficient solutions with the highest quality, making use of our methodology as the key to the success of your projects. Contact us to know more about how We could help you on your next project.
About Emiliano
Emiliano is a Software Engineer with more than 7 years of experience developing Web and Mobile applications for some of the most important Fortune 500 companies
Nowadays Emiliano specializes as Engineer on the Mobile department of TISA, looking for implementing the latest technologies and frameworks to be used in future projects.
Beyond his technical knowledge and passion for the technology Emiliano enjoys playing Volleyball, Swimming and going to the Gym, he also like reading books and playing online video games.