Skip to content
Library for cross-platform app development.
TypeScript JavaScript
Branch: master
Clone or download

Latest commit

berickson1 Update ScrollView docs (#1184)
* Update ScrollView docs

Update to reflect changes in 1a924ac
Latest commit 0a6ecb9 Feb 18, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Update ScrollView docs (#1184) Feb 18, 2020
extensions Replace TSLint on ESLint (#1175) Jan 13, 2020
samples Fixing windows builds of todolist by switching to path-posix (#1178) Jan 14, 2020
src Adding autocapitalize to web/RX.TextInput Jan 31, 2020
.eslintrc.json Replace TSLint on ESLint (#1169) Jan 8, 2020
.gitignore Fixed drag & drop handlers for RN windows (#377) Dec 9, 2017
.npmignore Replace TSLint on ESLint (#1169) Jan 8, 2020
.npmrc Start to use npm's package-lock feature. Aug 8, 2018
.travis.yml Replace TSLint on ESLint (#1169) Jan 8, 2020 [TS] Improve dev experience on mobile (#1078) Apr 15, 2019
LICENSE Updated License file as per Microsoft legal group. Apr 6, 2017 Replace TSLint on ESLint (#1169) Jan 8, 2020 Replace TSLint on ESLint (#1169) Jan 8, 2020
azure-pipelines.yml Replace TSLint on ESLint (#1169) Jan 8, 2020 Added source files. Apr 6, 2017
index.ios.js Added source files. Apr 6, 2017
index.js Added source files. Apr 6, 2017
index.macos.js Basic MacOS support for ReactXP and reactxp-video. (#245) Sep 1, 2017 Added source files. Apr 6, 2017
package-lock.json Replace TSLint on ESLint (#1169) Jan 8, 2020
package.json Replace TSLint on ESLint (#1169) Jan 8, 2020
tsconfig.json Replace TSLint on ESLint (#1169) Jan 8, 2020


GitHub license npm version Build Status Build Status npm downloads PRs Welcome Gitter

ReactXP is a library for cross-platform app development using React and React Native.

Why ReactXP

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.

Getting Started

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


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 mode
  • npm run build:web - builds the Web version of the app for production to the dist-web folder
  • npm 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 installed
  • npm run start:android - runs the Android version of the app and attempts to open your app on a connected Android device or emulator
  • npm run start:windows - runs the Windows version of the app
  • npm start:rn-dev-server - runs react native (RN) development server


ESLint rules

TSLint will be deprecated some time in 2019

If 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

You can’t perform that action at this time.