react-joyride vs react-shepherd
React Tour Libraries Comparison
1 Year
react-joyridereact-shepherdSimilar Packages:
What's React Tour Libraries?

React tour libraries are tools designed to create guided tours for web applications, enhancing user onboarding and interaction by providing step-by-step instructions or highlights of features. These libraries help developers implement user-friendly interfaces that can lead to improved user engagement and satisfaction. By visually guiding users through the application, they can quickly understand how to use various features, which is particularly beneficial for complex applications or new users unfamiliar with the interface.

Package Weekly Downloads Trend
Github Stars Ranking
Stat Detail
Package
Downloads
Stars
Size
Issues
Publish
License
react-joyride351,3937,158498 kB185 months agoMIT
react-shepherd32,36613,169216 kB542 months agoMIT
Feature Comparison: react-joyride vs react-shepherd

Customization

  • react-joyride:

    React Joyride offers extensive customization options, allowing developers to easily modify the appearance and behavior of tooltips. You can customize styles, animations, and even the content of the tooltips, making it easy to fit the tour into your application's design language.

  • react-shepherd:

    React Shepherd provides a flexible API for customizing the tour experience, including the ability to define custom buttons, styles, and animations. It allows for more granular control over each step of the tour, enabling developers to create a tailored experience that aligns with the application's branding.

Ease of Use

  • react-joyride:

    React Joyride is designed for quick integration and ease of use, making it suitable for developers who want to implement tours without extensive setup. Its straightforward API and built-in features allow for rapid development and deployment of user tours.

  • react-shepherd:

    React Shepherd requires a bit more configuration compared to Joyride, but it offers a more structured approach to defining tour steps. This can be beneficial for larger applications where a more organized setup is necessary, though it may have a steeper learning curve.

Accessibility

  • react-joyride:

    React Joyride includes basic accessibility features, but developers may need to implement additional considerations to ensure a fully accessible experience for all users. It supports keyboard navigation and screen readers to some extent, but further customization may be needed.

  • react-shepherd:

    React Shepherd places a strong emphasis on accessibility, providing built-in support for keyboard navigation and ARIA attributes. This makes it a better choice for applications that prioritize inclusivity and need to meet accessibility standards.

Step Management

  • react-joyride:

    React Joyride allows for dynamic step management, enabling developers to programmatically control the flow of the tour based on user interactions or application state. This flexibility can enhance the user experience by adapting the tour to the user's journey.

  • react-shepherd:

    React Shepherd offers a more structured approach to step management, allowing developers to define detailed configurations for each step. This includes options for when to show or hide steps based on user actions, making it suitable for complex applications.

Community and Support

  • react-joyride:

    React Joyride has a vibrant community and is well-documented, making it easier for developers to find support and resources. The library is actively maintained, which ensures that it stays up-to-date with the latest React features and best practices.

  • react-shepherd:

    React Shepherd also has a supportive community, though it may not be as large as Joyride's. It is well-documented and maintained, providing developers with the necessary resources to implement guided tours effectively.

How to Choose: react-joyride vs react-shepherd
  • react-joyride:

    Choose React Joyride if you need a highly customizable tour experience with a focus on ease of use and quick setup. It offers a rich set of features for creating dynamic tours, such as the ability to control the flow of the tour programmatically and customize the appearance of tooltips easily.

  • react-shepherd:

    Choose React Shepherd if you require a more structured approach to creating guided tours with a focus on accessibility and a robust API. It provides a more comprehensive set of options for managing tour steps and is particularly suited for applications that need detailed control over the tour's behavior and user interactions.

README for react-joyride

React Joyride

CI Quality Gate Status Coverage

Joyride example image

Create awesome tours for your app!

Showcase your app to new users or explain functionality of new features.

It uses react-floater for positioning and styling.
And you can use your own components too!

View the demo here (or the codesandbox examples)

Read the docs

Talk about it on the Discussions board.

Setup

npm i react-joyride

Getting Started

import Joyride from 'react-joyride';

export class App extends React.Component {
  state = {
    steps: [
      {
        target: '.my-first-step',
        content: 'This is my awesome feature!',
      },
      {
        target: '.my-other-step',
        content: 'This another awesome feature!',
      },
      ...
    ]
  };

  render () {
    const { steps } = this.state;

    return (
      <div className="app">
        <Joyride
          steps={steps}
          ...
        />
        ...
      </div>
    );
  }
}

If you need to support legacy browsers you need to include the scrollingelement polyfill.


Sponsored by

Frigade

React Joyride is proud to be sponsored by Frigade, a developer tool for building better product onboarding: guided tours, getting started checklists, announcements, etc.


Development

Setting up a local development environment is easy!

Clone (or fork) this repo on your machine, navigate to its location in the terminal and run:

npm install
npm link # link your local repo to your global packages
npm run watch # build the files and watch for changes

Now clone https://github.com/gilbarbara/react-joyride-demo and run:

npm install
npm link react-joyride # just link your local copy into this project's node_modules
npm start

Start coding! 🎉