Convert Figma logo to code with AI

jhen0409 logoreact-native-debugger

The standalone app based on official debugger of React Native, and includes React Inspector / Redux DevTools

10,348
810
10,348
177

Top Related Projects

An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools.

A desktop app for inspecting your React JS and React Native projects. macOS, Linux, and Windows.

13,333

A desktop debugging platform for mobile developers.

3,643

Haul is a command line tool for developing React Native apps, powered by Webpack

Tools for creating, running, and deploying universal Expo and React Native apps

Quick Overview

React Native Debugger is a standalone app for debugging React Native applications. It combines the functionality of React DevTools, Redux DevTools, and Chrome DevTools into a single, powerful debugging environment specifically tailored for React Native development.

Pros

  • All-in-one debugging solution for React Native
  • Integrates React DevTools, Redux DevTools, and Chrome DevTools
  • Supports remote debugging and network inspection
  • Customizable layout and themes

Cons

  • Requires a separate application installation
  • May have performance impact on larger applications
  • Learning curve for developers new to advanced debugging tools
  • Occasional compatibility issues with certain React Native versions

Getting Started

  1. Install React Native Debugger:

    # macOS (using Homebrew)
    brew install --cask react-native-debugger
    
    # Windows / Linux
    # Download the installer from the GitHub releases page
    
  2. Start your React Native app with remote debugging enabled:

    npx react-native run-android
    # or
    npx react-native run-ios
    
  3. Open React Native Debugger and connect to your app:

    • Click "New Window" in the app
    • Ensure the port matches your app's debug port (usually 8081)
  4. In your React Native app, open the developer menu and select "Debug"

  5. You should now see your app's component hierarchy and state in React Native Debugger

For more detailed setup instructions and advanced usage, refer to the project's GitHub repository.

Competitor Comparisons

An extension that allows inspection of React component hierarchy in the Chrome and Firefox Developer Tools.

Pros of React DevTools

  • Official tool developed and maintained by Facebook
  • Supports both React and React Native applications
  • Integrates seamlessly with Chrome DevTools

Cons of React DevTools

  • Limited standalone functionality for React Native debugging
  • Requires additional setup for React Native projects

Code Comparison

React DevTools:

import React from 'react';
import { createDevTools } from 'redux-devtools';
import LogMonitor from 'redux-devtools-log-monitor';
import DockMonitor from 'redux-devtools-dock-monitor';

export default createDevTools(
  <DockMonitor toggleVisibilityKey="ctrl-h" changePositionKey="ctrl-q">
    <LogMonitor />
  </DockMonitor>
);

React Native Debugger:

import { connectToDevTools } from 'react-devtools-core';

connectToDevTools({
  host: 'localhost',
  port: 8097,
});

React Native Debugger offers a more comprehensive solution for React Native development, combining React DevTools, Redux DevTools, and additional features specific to React Native debugging. It provides a standalone application with a user-friendly interface, making it easier to debug React Native applications without the need for additional browser extensions or complex setups.

React DevTools, on the other hand, is a more versatile tool that works well for both React and React Native projects. It integrates seamlessly with browser DevTools and provides a familiar environment for web developers. However, it may require additional configuration and tools for optimal React Native debugging.

A desktop app for inspecting your React JS and React Native projects. macOS, Linux, and Windows.

Pros of Reactotron

  • More extensive plugin ecosystem, allowing for greater customization
  • Better support for Redux and MobX state management debugging
  • Offers a standalone desktop application for a dedicated debugging experience

Cons of Reactotron

  • Requires more setup and configuration compared to React Native Debugger
  • May have a steeper learning curve for beginners
  • Less integrated with React Native's built-in debugging tools

Code Comparison

React Native Debugger:

import { connectToDevTools } from 'react-native-debugger';

connectToDevTools();
// No additional setup required

Reactotron:

import Reactotron from 'reactotron-react-native';

Reactotron
  .configure()
  .useReactNative()
  .connect();

Summary

React Native Debugger offers a more streamlined, out-of-the-box experience for React Native debugging, with tight integration to the React Native ecosystem. It's easier to set up and use, making it ideal for beginners or quick debugging sessions.

Reactotron, on the other hand, provides a more powerful and customizable debugging environment, particularly beneficial for complex applications using state management libraries like Redux or MobX. It offers a standalone desktop application and a rich plugin ecosystem, but requires more initial setup and configuration.

The choice between the two depends on the project's complexity, the developer's familiarity with debugging tools, and the specific debugging needs of the application.

13,333

A desktop debugging platform for mobile developers.

Pros of Flipper

  • More comprehensive debugging platform supporting multiple platforms (iOS, Android, React Native)
  • Extensible plugin architecture allowing custom plugins and integrations
  • Actively maintained by Facebook with frequent updates and improvements

Cons of Flipper

  • Steeper learning curve due to its broader feature set
  • Potentially heavier resource usage, especially for simpler debugging tasks
  • May require additional setup and configuration compared to React Native Debugger

Code Comparison

React Native Debugger:

import { connectToDevTools } from 'react-native-debugger';

connectToDevTools({
  host: 'localhost',
  port: 8081
});

Flipper:

import { addPlugin } from 'react-native-flipper';
import { NetworkPlugin } from 'flipper-plugin-network';

addPlugin(new NetworkPlugin());

Both tools offer powerful debugging capabilities for React Native applications. React Native Debugger is more focused and easier to set up for React Native-specific debugging, while Flipper provides a more extensive set of features and supports multiple platforms. The choice between them depends on the project's complexity, required features, and developer preferences.

3,643

Haul is a command line tool for developing React Native apps, powered by Webpack

Pros of Haul

  • Offers a more customizable and flexible build process for React Native projects
  • Supports webpack configurations, allowing for better integration with existing web development workflows
  • Provides faster builds and hot module replacement for improved development experience

Cons of Haul

  • Requires more setup and configuration compared to the standard React Native packager
  • May have compatibility issues with some React Native libraries or native modules
  • Less actively maintained compared to React Native Debugger

Code Comparison

React Native Debugger:

import { connectToDevTools } from 'react-devtools-core';

connectToDevTools({
  host: 'localhost',
  port: 8097,
});

Haul:

module.exports = {
  entry: './index.js',
  mode: 'development',
  output: {
    filename: 'bundle.js',
  },
};

While React Native Debugger focuses on providing a standalone debugging tool, Haul offers a more comprehensive build system for React Native projects. React Native Debugger's code snippet shows how to connect to the DevTools, while Haul's example demonstrates a basic webpack configuration for bundling a React Native application.

Tools for creating, running, and deploying universal Expo and React Native apps

Pros of expo-cli

  • Provides a comprehensive development environment for React Native
  • Offers a managed workflow with built-in features like OTA updates and easy publishing
  • Supports rapid prototyping and development with minimal configuration

Cons of expo-cli

  • Limited access to native modules and custom native code
  • Larger app size due to included Expo libraries
  • Potential performance overhead compared to bare React Native projects

Code Comparison

react-native-debugger:

import { connectToDevTools } from 'react-native-debugger';

connectToDevTools({
  host: 'localhost',
  port: 8097
});

expo-cli:

import { registerRootComponent } from 'expo';
import App from './App';

registerRootComponent(App);

Summary

react-native-debugger is a standalone app for debugging React Native applications, offering advanced features like Redux DevTools integration and React DevTools. It's focused solely on debugging and doesn't provide a full development environment.

expo-cli, on the other hand, is a complete toolchain for developing, building, and deploying React Native applications. It offers a more streamlined development experience but with some limitations on native module access and customization.

The choice between the two depends on project requirements, development preferences, and the need for native module access. react-native-debugger can be used alongside expo-cli for enhanced debugging capabilities in Expo projects.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

React Native Debugger

Backers on Open Collective Sponsors on Open Collective CI Status

⚠️ This app is currently only supported old Remote Debugger, if you're looking for new debugger support (e.g. Hermes / JSI / New Architecture) of React Native Debugger, please follow discussion#774.

React Native Debugger

Run the redux example of react-navigation with Redux DevTools setup

This is a standalone app for debugging React Native apps:

Installation

To install the app, you can download a prebuilt binary from the release page.

For macOS, you can use Homebrew Cask to install:

< Homebrew 2.6.0

brew update && brew install --cask react-native-debugger

>= Homebrew 2.6.0

brew install --cask react-native-debugger

This puts React Native Debugger.app in your /applications/ folder.

NOTICE: React Native Compatibility

To use this app you need to ensure you are using the correct version of React Native Debugger and react-native:

React Native Debuggerreact-native
>= 0.11>= 0.62
<= 0.10<= 0.61

We used different auto-update feed for v0.10 and v0.11, so you won't see update tips of v0.11 from v0.10.

Install last release of v0.10 (0.10.7)

< Homebrew 2.6.0

brew update && brew cask install https://raw.githubusercontent.com/Homebrew/homebrew-cask/b6ac3795c1df9f97242481c0817b1165e3e6306a/Casks/react-native-debugger.rb

>= Homebrew 2.6.0

brew install --cask https://raw.githubusercontent.com/Homebrew/homebrew-cask/b6ac3795c1df9f97242481c0817b1165e3e6306a/Casks/react-native-debugger.rb

Arch-based distributions

You can install react-native-debugger-bin from Arch User Repository:

git clone https://aur.archlinux.org/react-native-debugger-bin.git
cd react-native-debugger-bin
makepkg -si

# or using AUR helper
paru -S react-native-debugger-bin

Build from source

Please read Development section in docs/contributing.md for how to build the app from source.

Documentation

Documentation (v0.10)

Please visit v0.10 branch.

Credits

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

LICENSE

MIT

NPM DownloadsLast 30 Days