The report should provide an in-depth analysis and overview of the chosen technology, including its usage, benefits, and drawbacks. The length of the report should be at least one page but not exceed two pages.
React JS
React JS is one of the numerous JavaScript libraries that exist to be utilized for constructing user interface within websites. It was developed by Jordan Walke at Facebook (now referred to as Meta) back in 2013, and as time went by, it became mainstream and is now nearly the most used web framework worldwide (barely beaten by NodeJS).
What makes React JS unique is that it works in a single-paged manner; which sounds misleading at first because it infers that you only have access to a single page as a developer, and that is not the case; React JS allows you to create one template, and then apply it to other pages and change what’s needed accordingly (hence being called a Single Page Application). It also utilizes a component structure allowing you to create certain functions (such as a “like” button with its own functionality) and being able to reuse them at ease whenever needed.
One of the main advantages of using React JS is having access to one of the best syntax extensions for JavaScript: JSX.
JSX (also known as JavaScript XML) basically makes JavaScript work in a really similar way to HTML; making it way easier to use. The fact it’s HTML-like improves its readability drastically, and makes it easier to troubleshoot and work with.
Moreover, React JS uses virtual DOM to implement updates in an efficient-manner; so whenever a change occurs within an object, React first updates the virtual DOM, and proceeds to compare it with the current real DOM, then updates only the necessary parts, which is far more efficient than updating the whole thing every time. Now what does this mean in layman terms? It basically means that whenever a button is clicked that is meant to take the user to another page, the React Router stops it from having to make a new request to the server every time, and instead fulfills that request on its own; this results in a way quicker and slicker experience in the website.
React also supports cross-platform development, which makes developing applications for platforms such as iOS and Android way easier.
What makes React JS really special, however, is that it is an open source framework; giving the hundreds of thousands of users access to it to view and modify it at will. React JS requires no licensing fees which makes it accessible for both personal and commercial projects alike. It also means that there’s a huge community that is invested into improving React JS for everyone else and welcoming in new users whether it’s with tutorials, resources, or customized libraries; no matter what type of code you’re working on, you’re bound to find a third-party library that’ll help you get it done more efficiently.
React JS has many usages such as dynamic web applications, which benefit from React’s ability to update certain objects within a website frequently and in real-time; making it really beneficial for websites like social media platforms and news sites. It is also used for mobile applications thanks to the mentioned-earlier cross-platform support which allows most oft he codebase be shared across different platforms. React JS is also used for E-commerce platforms because of its ability to seamlessly update user interactive sections such as shopping carts and their wishlists.
All of the mentioned above benefits have made it a no-brainer for many of the well-known big companies to use React JS; such as: Facebook, Dropbox, Shopify, Discord, Twitter, and many others.
All of the mentioned benefits come with setbacks however; it is with no doubt that React JS has such a steep learning curve due to its unique component-based structure and its JSX syntax, and many other concepts that your average layman isn’t usually familiar with. The ecosystem of React JS also grows insanely quickly, making it hard for people to keep up with, especially larger teams that rely on rigid structures to get their work done. Another thing to mention is that while React JS being component-based makes it easy to reuse your code, it can also get messy really quickly, and to which people end up resorting to external tools to help with that, which in result only makes the code increase in complexity.
Despite all of these disadvantage though, people are still more than willing to continue using React JS; since the benefits prominently outweigh the setbacks, and I can only see more and more people get into it in the future.