What is expo-dev-client?
The expo-dev-client package allows developers to create custom development clients for their Expo projects. This enables a more flexible and tailored development experience, including the ability to add custom native code and use third-party libraries that are not included in the standard Expo Go app.
What are expo-dev-client's main functionalities?
Custom Development Client
This feature allows you to create a custom development client that can be tailored to your specific needs. This is useful for adding custom native code or third-party libraries that are not available in the standard Expo Go app.
import { createDevClient } from 'expo-dev-client';
createDevClient();
Integration with Expo CLI
You can start your project with the custom development client using the Expo CLI. This command launches the development server and opens the project in your custom client.
expo start --dev-client
Support for Custom Native Code
This feature allows you to integrate custom native code into your Expo project. You can use NativeModules to access native functionality that you have added to your custom development client.
import { NativeModules } from 'react-native';
const { CustomModule } = NativeModules;
CustomModule.customMethod();
Other packages similar to expo-dev-client
react-native
React Native is a framework for building native apps using React. It allows for the integration of custom native code and third-party libraries, similar to expo-dev-client. However, it does not provide the same level of integration with the Expo ecosystem.
expo
The expo package provides a set of tools and services for building and deploying React Native applications. While it offers a lot of functionality out of the box, it does not support custom native code or third-party libraries that are not included in the standard Expo Go app, which is where expo-dev-client comes in.
ignite-cli
Ignite CLI is a React Native project boilerplate that includes a set of tools and best practices for building React Native apps. It allows for custom native code and third-party libraries, but it does not offer the same level of integration with the Expo ecosystem as expo-dev-client.
expo-dev-client
adds various useful development tools to your debug builds:
Expo documentation refers to debug builds that include expo-dev-client
as development builds.
Documentation
You can find more information in the Expo documentation.
Issues
If you encounter any issues using this package in your project, please report your issue here.
Contributing
Contributions are very welcome! Please refer to guidelines described in the contributing guide.