Intro

Lately, React is high up on the ladder when it comes to popularity and developers satisfaction. Over 90% of developers would return to a React based project, which makes this library really stand out. The declarative manner and style it offers make development much faster and simpler experience. This popularity drives the community to build a strong ecosystem around React, which is a topic of this article.

It doesn't matter the position you have in your team, you want to keep up-to-date with the latest trends and news concerning your core technology. The ability to learn and adapt is quite important these days considering the pace the industry is going, lacking these qualities makes you less desirable by the companies.

Considering that you are reading this article, chances are you are in the front-end development. We will talk about the top 8 React libraries that every front-end developer should know about.

Create React App

create-react-app

Create react app is a CLI (Command Line Interface) provided by Facebook. It makes react application setup super easy. It sets up your development environment in a way you can use the latest JavaScript features and optimizes your app for production. It doesn't handle backend logic but rather it focuses on the front-end. It provides built-in scripts for deployment that will create an optimized build of your application. Babel and webpack are configured automatically in the background enabling you to focus on the application logic instead of wasting time on setup and configuration.

Redux

redux

Redux is a state management solution for JavaScript applications. It can be used with any framework, but the most often is used in combination with React thus deserving to be on this list. It enables communication between the components across your application and it is designed to work with React's component model. The values required by the component are provided as props by the Redux. Also, this library worries about the optimization for us and re-renders only what's necessary.

Material UI

material-ui

Material UI is a set of components based on React, that implements the Google Material Design. Nice combination. The amount of stars (~47000) on the GitHub repository makes this library one of the most popular UI libraries out there. A wide range of components are available, they are eye-catching and ready to use out of the box. Also, it provides a set of themes and templates enabling us to fully customize the appearance.

React Bootstrap

react-bootstrap

This is a library that combines the two most commonly used tools in the front-end world these days. This library replaces the Bootstrap JavaScript, meaning that the JQuery dependency is gone. Each component is built from scratch as a React component. The good thing to notice here is that this library relies on the bootstrap core, therefore, making it extremely easy to integrate any part of the Bootstrap UI ecosystem.

React Toolbox

react-toolbox

This is another React UI components library that you can use to implement material design. It's less popular (~9000 stars) than the Material UI library, but this doesn't mean it's not worth mentioning. It's built on top of CSS Modules, webpack, and ES6 thus being extremely flexible and making the integration process with the webpack workflow a breeze.

Enzyme

enzyme

Enzyme is a JavaScript Testing utility for React. It mimics the JQuery API making it easier to assert, manipulate, and traverse the React Components output. It supports all major test runners making the integration process easier. The utility was created by the AirBnB development team and released as an open source a couple of years ago.

React Testing Library

react-testing-library

This is a light-weight solution for testing React components. It contains a set of APIs for working with them thus enabling you to write maintainable tests. The test written using this library will work with actual DOM nodes meaning that our tests will use the components in a similar manner as the user would. It has a fair amount of GitHub stars (~7000) making it less popular than Enzyme, but still worth mentioning.

React Intl

react-intl

Internationalization is a common problem in software development. Luckily, there are tools that aid us in achieving this goal. One of them that does this for React based applications is React Intl. The library was created by Yahoo and offers built-in components and an API to format numbers, dates, and strings, offering pluralization and translations.

Conclusion

Each of the library mentioned has strong functionality and unique features. A lot more libraries are out there but these are the ones standing out in my opinion. I don't have comments on my blog (yet :)) but you are more than welcome to ask questions and start a discussion with me on my twitter profile.

Thank you for reading and see you in the next post.