docs/en/framework/ui/react-native/running-on-web.md
//[doc-seo]
{
"Description": "Run your ABP React Native application in the browser using ABP Studio or Expo Web with local HTTPS."
}
//[doc-params]
{
"Architecture": ["Monolith", "Tiered", "Microservice"]
}
//[doc-nav]
{
"Previous": {
"Name": "Overview",
"Path": "framework/ui/react-native"
},
"Next": {
"Name": "Running on Device",
"Path": "framework/ui/react-native/running-on-device"
}
}
Running the React Native app in a browser is the fastest way to test login, navigation, and API integrations. No emulator, Cloudflare tunnel, or manual backend configuration is required.
{{ if Architecture == "Microservice" }}
apps/mobile/react-native/{{ else }}
react-native/{{ end }}
Install dependencies once with yarn install or npm install in that folder.
Solutions created with ABP Studio include a Default run profile in the Solution Runner.
{{ if Architecture == "Monolith" }}
{{ else if Architecture == "Tiered" }}
{{ else }}
{{ end }}
Run the Initialize Solution task from the Tasks tab if you have not already. For React Native solutions, this task also creates local SSL certificates (localhost.pem and localhost-key.pem) in the React Native folder using mkcert. These certificates are required by the Default profile's local SSL proxy.
When you start the Default profile, ABP Studio runs these main applications:
https://localhost:8443 and forwards to Expo Web on port 8081npx expo start --web and opens https://localhost:8443 in your browserThe solution template already adds https://localhost:8443 to backend CorsOrigins and RedirectAllowedUrls, so no manual backend configuration is required.
{{ if Architecture != "Microservice" }}
{{ end }}
You can enter admin as the username and 1q2w3E* as the password to log in.
If you are not using ABP Studio, use Expo Web with a local HTTPS proxy as described in the Expo local HTTPS development guide.
mkcert localhost
yarn web
8443 matches the ABP Studio Default profile):npx local-ssl-proxy --source 8443 --target 8081 --cert localhost.pem --key localhost-key.pem
Alternatively, run yarn create:local-proxy and set SOURCE_PORT=8443 if your template uses a different default port.
https://localhost:8443 in your browser.To test on an Android emulator, iOS simulator, or physical device, continue with Running on Device.