Anthony Anthamatten

React Development

React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript library for building user interfaces based on components. It is maintained by Meta (formerly Facebook) and a large community of developers and companies.

Charts and colorful infographics
React is a great framework for creating reusable UI components

What I like about React

Here are a few reasons I like React as a front-end framework.

Virtual DOM

React uses a virtual Document Object Model (DOM). It is an in-memory tree structure that updates the UI efficiently.

Performance

Due to the virtual DOM which only modifies parts of the UI, you may see performance improvements.

Reusable Components

There are many cases where you do the same thing on multiple pages. Take a table design with a certainly look and feel with similar functionality, you can code it once and use it any place you need it.

Simplicity

React and the JSX (JavaScript Syntax Extension) are fairly easy to understand which is why many front-end developers like it.

Considerations

There are a few things to consider before choosing React for a project. 

Multiple Libraries

State-management, navigation, and other aspects of UI design, especially for large-scale applications require a number of different packages. Hence, you have to look in a lot of different places to learn about them and manage.

JSX Complexity

The mix of HTML and JavaScript in JSX makes React more complicated to learn and it may be unappealing to some developers. The basics are fairly straightforward, but bigger apps could lead you down some rabbit holes that may cost more development time.

SEO Issues

While not exclusively unique to React, search engines have issues indexing dynamically generated websites. It requires expertise to create a properly accessible site.

Spaghetti Organization

Again, not exclusive to React, but the organization of a React project, especially a large one can be a mess if not done without thoughtful consideration.

Conclusion

React is a fine framework for UI development. It is easy to slap components together and say, “Wow, that is cool.” However, for larger projects that will grow over time, it is my experience that this can get unwieldy if not thought out. You may find yourself rewriting a lot of hunting for things than needs to be spent.

Additional Resources

  • Visit the React website for more information: React.dev
  • React training for beginners: Udemy.com