
Security News
Meet Socket at Black Hat and DEF CON 2025 in Las Vegas
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Cross-platform abstraction layer for writing React-based applications a single time that work identically across web, React Native, and Electron distribution
ReactXP is a library for cross-platform app development using React and React Native.
With React and React Native, your web app can share most of its logic with your iOS and Android apps, but the view layer needs to be implemented separately for each platform. We have taken this a step further and developed a thin cross-platform layer we call ReactXP. If you write your app to this abstraction, you can share your view definitions, styles and animations across multiple target platforms. Of course, you can still provide platform-specific UI variants, but this can be done selectively where desired.
The samples directory contains a minimal “Hello World” app that demonstrates some basic ReactXP functionality. You can use this as a starting point. Just follow the build instructions in the README file.
Also included in the samples directory is the RXPTest app which attempts to exercise all of the functionality of ReactXP. It is a good source to consult for sample usage of APIs, components, and props.
You can read more about ReactXP and its APIs from the ReactXP official Documentation.
Use the command-line tool called create-rx-app to create a starter project.
npm install create-rx-app -g
create-rx-app AppName
or
npx create-rx-app AppName
By default the project will be created in TypeScript. However if you prefer JavaScript instead, add --javascript
when creating the project.
This will create a directory called AppName inside the current working directory. Inside AppName, this will generate the initial project structure and install all of its dependencies. Once this installation is done, there are some commands you can run in the project directory:
npm run start:web
- runs the Web version of the app in the development modenpm run build:web
- builds the Web version of the app for production to the dist-web foldernpm run start:ios
- runs the iOS version of the app and attempts to open in the iOS Simulator if you're on a Mac and have it installednpm run start:android
- runs the Android version of the app and attempts to open your app on a connected Android device or emulatornpm run start:windows
- runs the Windows version of the appnpm start:rn-dev-server
- runs react native (RN) development serverIf you plan to migrate your projects from TSLint to ESlint and want to continue using the rules to automate search common problems in ReactXP usage, you can use eslint-plugin-reactxp.
We welcome contributions to ReactXP. See the CONTRIBUTING file for how to help out.
This project is licensed under the MIT License - see the LICENSE file for details
FAQs
Cross-platform abstraction layer for writing React-based applications a single time that work identically across web, React Native, and Electron distribution
The npm package reactxp receives a total of 540 weekly downloads. As such, reactxp popularity was classified as not popular.
We found that reactxp demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Meet Socket at Black Hat & DEF CON 2025 for 1:1s, insider security talks at Allegiant Stadium, and a private dinner with top minds in software supply chain security.
Security News
CAI is a new open source AI framework that automates penetration testing tasks like scanning and exploitation up to 3,600× faster than humans.
Security News
Deno 2.4 brings back bundling, improves dependency updates and telemetry, and makes the runtime more practical for real-world JavaScript projects.