5 Tools for Faster Development in React
Published: 2019-08-12 15:43:01

###5 tools to speed the development of your React UI components and applications.

React is great for quickly developing an application with a beautiful interactive UI. React components are a great way to create isolated and reusable building blocks for developing different applications.

While some [best practices](https://blog.bitsrc.io/how-to-write-better-code-in-react-best-practices-b8ca87d462b0) help develop a better application, the right tools can make the developments process faster. Here are 5 (+) useful tools to speed the development of your components and applications.

You are welcome to comment and suggest your own.

## 1. Bit

![](https://cdn-images-1.medium.com/max/2642/1*QG7SZrh2BFdFXFjkCP2lMg.png)

[Bit](https://bit.dev) is a popular open-source tool for sharing and building with components.

It lets you encapsulate components with all their files and dependencies, and run them anywhere across applications. Teams can easily share components and collaborate to build modular applications faster together.

All the components your team shared become instantly available to discover and choose from in the [bit.dev](https://bit.dev) component cloud. You can organize components in collections, search components by parameters like bundle-size and dependencies, and quickly view rendered examples with your eyes.

![](https://cdn-images-1.medium.com/max/2000/1*HNrykRFyylLT_oTiiBDn1Q.gif)

With [Bit](https://bit.dev) you don’t need to add more repos, tools or refactor anything just to share components. Using a couple of simple CLI commands you turn the components in your project or library into reusable building blocks your team can share and use anywhere to build your applications.

![](https://cdn-images-1.medium.com/max/2000/1*gJJ8TKLAYWhX90zWB0UMWA.png)

The components you share with NPM or Yarn from the bit.dev registry, and you can use [Bit](https://bit.dev) to develop and update components right from any consuming project or application. This means more code reuse with less overhead.

<center><iframe width="560" height="315" src="https://www.youtube.com/embed/E5lgoz6-nfs" frameborder="0" allowfullscreen></iframe></center>

Using [Bit](https://bit.dev), you can develop multiple applications faster, collaborate as a team and use your components as building blocks for new features and projects.



## 2. [StoryBook](https://storybook.js.org/) / [Styleguidist](https://react-styleguidist.js.org/)

Storybook and Styleguidist are environments for rapid UI development in React. Both are great tools for speeding development of your Reacts apps.

There are a few important differences between the two, which can also be combined to complete your component development system.

With Storybook you write *stories* in JavaScript files. With Styleguidist you write *examples* in Markdown files. While Storybook shows one variation of a component at a time, Styleguidist can show multiple variations of different components. Storybook is great for showing a component’s states, and Styleguidist is useful for documentation and demos of different components.

Here’s a short rundown.


[Storybook](https://github.com/storybooks/storybook) is a rapid development environment for UI components.

It allows you to browse a component library, view the different states of each component, and interactively develop and test components.

![](https://cdn-images-1.medium.com/max/4312/1*8T0opytn0oYuEMpd8PRTsw.gif)

StoryBook helps you develop components in isolation from your app, which also encourages better reusability and testability for your components.

You can browse components from your library, play with their properties and get an instant impression with hot-reload on the web. You can find some popular examples [here](https://storybook.js.org/examples/).

Different plugins can help make your development process even faster, so you can shorten the cycle between code tweaking to visual output. StoryBook also supports [React Native](https://facebook.github.io/react-native/) and [Vue.js](https://vuejs.org/).


React [Styleguidist](https://github.com/styleguidist/react-styleguidist) is a component development environment with hot reloaded dev server and a living style guide that lists component propTypes and shows editable usage examples based on .md files.

![](https://cdn-images-1.medium.com/max/2412/1*9V2nSEgH1VUbmXd5Dq-hnA.gif)

It supports ES6, Flow and TypeScript and works with Create React App out of the box. The auto-generated usage docs can help Styleguidist function as a documentation portal for your team’s different components.

* Also check out [**React Live](https://github.com/FormidableLabs/react-live)** by Formidable Labs. This component rendering environment is also used in [Bit’s live component playground](https://bit.dev/bit/movie-app/components/hero).

## 3. [React devTools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)

![](https://cdn-images-1.medium.com/max/2000/1*9XrmfPqh_naIBlTi7dv3Hw.gif)

This official React Chrome devTools [extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) allows you to inspect the React component hierarchies in the Chrome Developer Tools. It is also available as a [FireFox Add-On](https://addons.mozilla.org/en-US/firefox/addon/react-devtools/).

Using React devTools you can inspect and edit a component props and state, while navigating through your component hierarchy tree. This feature lets you see how component changes affect other components, to help design your UI with the right component structure and separation.

The extension’s search bar can enables you to quickly find and inspect the components you need, to save precious development time.

![](https://cdn-images-1.medium.com/max/2000/1*GAPOIeQHhPFS5D0ccHHy7w.gif)

Check out the [standalone app](https://github.com/facebook/react-devtools/tree/master/packages/react-devtools) which works with Safari, IE and React Native.

## 4. [Redux devTools](http://extension.remotedev.io/)

![](https://cdn-images-1.medium.com/max/2000/1*RESAzFvlkgBlU4IgRGQjaA.gif)

This [Chrome extension](https://github.com/zalmoxisus/redux-devtools-extension) (and [FireFox Add-On](https://addons.mozilla.org/en-US/firefox/addon/remotedev/)) is a development time package that provides power-ups for your Redux development workflow. It lets you inspect every state and action payload, re-evaluating “staged” actions.

You can integrate [Redux DevTools Extension](https://github.com/zalmoxisus/redux-devtools-extension) with any architecture which handles the state. You can have multiple stores or different instances for every React component’s local state. You can even “time travel” to cancel actions (watch this [Dan Abramov](undefined) [video](https://www.youtube.com/watch?v=xsSnOQynTHs)). The logging UI itself can even be customized as a React component.

## 5. Boilerplates & Kick-Starters

While these aren’t exactly devTools, they help to quickly setup your React application while saving time around build and other configurations. While there are many [starter-kits](https://reactjs.org/community/starter-kits.html) for React, here are some of the best.

When combined with pre-made components (on [Bit](https://bitsrc.io) or other sources), you can quickly create an app structure and compose components into it.

### [Create React App](https://github.com/facebook/create-react-app) (50k stars)

![](https://cdn-images-1.medium.com/max/2000/1*2aquNYnmp7YHa2TeefS9Ew.gif)

This widely used and popular project is probably the most efficient way to quickly create a new React application and get it up and running from scratch.

This package encapsulates the complicated configurations (Babel, Webpack etc) needed for a new React app, so you can save this time for a new app.

To create a new app, you just need to run a single command.

    npx create-react-app my-app

This command create a directory called my-app inside the current folder.
Inside the directory, it will generate the initial project structure and install the transitive dependencies so you can simply start coding.

### [React Boilerplate](https://github.com/react-boilerplate/react-boilerplate) (18k stars)

This React boilerplate template by [Max Stoiber](undefined) provides a kick-start template for your React applications which focuses on offline development and is built with scalability and performance in mind.

It’s quick scaffolding helps to create components, containers, routes, selectors and sagas — and their tests — right from the CLI, while CSS and JS changes can be reflected instantly while you make them.

Unlike create-react-app this boilerplate isn’t designed for beginners, but rather to provide seasoned developers with the tools to manage performance, asynchrony, styling, and more to build a production-ready* *application.

### [React Slingshot](https://github.com/coryhouse/react-slingshot) (8.5k stars)

This wonderful project by [Cory House](undefined) is a React + Redux starter kit / boilerplate with Babel, hot reloading, testing, linting and more.

Much like React Boilerplate, this starter-kit focuses on the developer experience for rapid development. Every time you hit “save”, changes are hot-reloaded and automated tests are being run.

The project even includes an example app so you can start working without having to read too much through the docs.

* Also check out [**simple-react-app](https://github.com/Kornil/simple-react-app) **which is explained in [this post](https://medium.com/@francesco.agnoletto/i-didnt-like-create-react-app-so-i-created-my-own-boilerplate-190a7dd5d74).