Library for cross-platform app development.

Last update: May 12, 2022

ReactXP

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

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 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

Prerequisites

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.

Contributing

We welcome contributions to ReactXP. See the CONTRIBUTING file for how to help out.

License

This project is licensed under the MIT License - see the LICENSE file for details

GitHub

https://github.com/Microsoft/reactxp
Comments
  • 1. use react-navigation!

    https://microsoft.github.io/reactxp/docs/components/navigator.html

    my guess is that when you guys built this there is no react-navigation, is it possible to adopt https://reactnavigation.org/ instead of creating one more navigation lib/API, we already have plenty now ;)

    Reviewed by chandu0101 at 2017-04-08 14:07
  • 2. Image Component (Local/Remote) source not rendering?

    As a sibling to the src directory, I created an images directory with a react.png in it (I grabbed a copy from the remote url in the gist, and placed it in the local directory to test it).

    I added the test to MainPanel here is the gist and defined the image style and the RX.Image respectively.

    Here is what I see on both platforms: reactxp-image

    It seems like it's not working with the same source url api for both platforms?

    Reviewed by MovingGifts at 2017-06-23 22:51
  • 3. (How to) Disable GestureView in underlying layers?

    Hello,

    we use a RX.GestureView inside a RX.ScrollView to recognize pan gestures. In case something is rendered above our view (wich can happen without our view knowing), we would like to disable the feature, that the GestureView receives the gestures.

    I expected, there might be a way like state.stopPropagation(), so I could implement an own RX.GestureView in my blurred alpha background view, which absorbs all events.

    bildschirmfoto 2018-10-02 um 18 08 08

    In my case, you are able to move/resize the overlayed views, which is really not desired.

    Looking forward for a suggestion to solve this. Am I missing something?

    Regards, Sascha

    Reviewed by shameister at 2018-10-02 16:15
  • 4. RX.TextInput default value always returns error/warning

    When trying to set a default value on page load, I always get this error: screen shot 2017-09-25 at 6 00 21 pm

    This is the simplest example that produces the error:

    import React from 'react'
    import RX from 'reactxp'
    
    export default class TextInputValue extends RX.Component {
      constructor(props) {
        super(props);
    
        this.state = {
            inputValue: 'hello'
        };
      }
    
      onChangeTextValue = (value) => {
        this.setState({ inputValue: value });
      }
    
      render() {
        return (
          <RX.TextInput
            placeholder="Placeholder"
            value={ this.state.inputValue }
            onChangeText={this.onChangeTextValue}
            // defaultValue={ this.state.inputValue }
            />
        );
      }
    }
    

    I tested as is (with value) alone and also tested with defaultValue alone, but no matter what, I keep getting that error. I would rather not use the defaultValue and instead have the value prop pull in the default text from state. That way I can reuse the same field for inputting text as well as editing it, with the value being assigned its state from inputValue.

    Any idea how to fix this to get rid of the pesky error?

    Reviewed by MovingGifts at 2017-09-25 22:15
  • 5. ReactNative >= 0.44?

    Hey guys, I´ve seen that there is some break changes on react native >= 0.44 but i couldn't find any feed back on when that will be done. I´m waiting for >= 0.45 and just kindle would like to know how that is going on? Any news or an idea when that will happen?

    Tks

    Reviewed by vinils at 2017-08-21 22:43
  • 6. How do I use other React Native libraries etc...in a ReactXP project?

    I'm new to a lot of stuff, I have been playing with ReactXP and like it a lot...

    In general, let's say I have a "pure" React Native folder/project....

    In order to use a library for RN, I would do something like this npm i react-native-elements --save

    But if I do the same for a ReactXP project, it will install the library folder inside node-modules folder. But when I try to use it I get a whole bunch of typescript compile errors when I compile the typescript file that imports the npm-ed library.

    Is there a procedure that I need to use or go throught, to be able to use "regular" React-Native libraries/kits?

    Reviewed by MartinOrtiz at 2017-12-16 21:05
  • 7. RX.FastText for plain text?

    In UWP there are two elements for rendering text: RichTextBlock and TextBlock. The latter is faster, but supports only plain text. Hence there is a proposal to implement this in RNW: https://github.com/Microsoft/react-native-windows/pull/1256

    The original idea was to choose RichTextBlock or TextBlock on the fly, based on the text content: if text has no markup, RNW creates a TextBlock. However it was pointed out that this will cause problems with Narrator: if a TextBlock is swapped with a RichTextBlock while Narrator had a focus on it, the focus will be lost. This is why it was decided to make this feature opt-in.

    We've been discussing two options:

    1. A new flag like <RX.Text fast=true>abc</RX.Text> would tell RNW to dynamically switch between RichTextBlock and TextBlock.
    2. A new element <RX.FastText value="abc"/> would render only plain text and would always create a XAML TextBlock.

    Any thoughts?

    Reviewed by antonkh at 2017-11-07 23:23
  • 8. unable to run TodoList example on android

    hello i execute npm run start-android on TodoList example but stay forever on [17:46:20] Finished 'run' after 6.88 s complete log:

    npm run start-android

    [email protected] start-android C:\Users\Golfredo\Documents\reactxp\TodoList npm install && npm run gulp-android

    npm WARN @react-native-community/[email protected] requires a peer of [email protected]^0.59.0 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected]~0.59.0 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected]^0.57.1 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected]^0.57.1 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of [email protected]^0.57.1 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

    up to date in 24.725s

    1 package is looking for funding run npm fund for details

    [email protected] gulp-android C:\Users\Golfredo\Documents\reactxp\TodoList cross-env NODE_ENV=development node node_modules/gulp/bin/gulp run --platform=android

    [17:46:13] platform: android [17:46:13] developer mode: enabled [17:46:13] source maps: true [17:46:13] Using gulpfile ~\Documents\reactxp\TodoList\gulpfile.js [17:46:13] Starting 'run'... [17:46:13] Starting 'clean'... [17:46:13] Finished 'clean' after 121 ms [17:46:13] Starting 'copy'... [17:46:13] Finished 'copy' after 165 ms [17:46:13] Starting 'build'... [17:46:13] Starting 'copy'... [17:46:14] Finished 'copy' after 75 ms [17:46:14] Starting 'compile-rn'... [17:46:18] Finished 'compile-rn' after 4.74 s [17:46:18] Finished 'build' after 4.82 s [17:46:18] Starting 'apply-aliases'... (node:3028) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead. (Use node --trace-deprecation ... to show where the warning was created) [17:46:19] Finished 'apply-aliases' after 224 ms [17:46:19] Starting 'watch'... [17:46:19] Finished 'watch' after 31 ms [17:46:19] Starting 'noop'... [17:46:19] Finished 'noop' after 958 μs [17:46:19] Starting 'lint'... [17:46:19] Starting 'ts-lint'... C:/Users/Golfredo/Documents/reactxp/TodoList/src/ts/controls/Modal.tsx:85:5 ERROR: 85:5 function-name Method name does not match /^[a-z]\w+$/: UNSAFE_componentWillMount ERROR: 113:5 function-name Method name does not match /^[a-z]\w+$/: UNSAFE_componentWillUpdate

    [17:46:20] Finished 'ts-lint' after 1.39 s [17:46:20] Starting 'gulpfile-lint'... [17:46:20] Finished 'gulpfile-lint' after 116 ms [17:46:20] Finished 'lint' after 1.51 s [17:46:20] Finished 'run' after 6.88 s

    Reviewed by GolfredoPerezFernandez at 2020-06-28 21:50
  • 9. React-Native 0.65 compatibility / Forward-port Accessibility to react-native 0.60 API (#1125)

    React-Native 0.59 -> 0.60 changed a lot of the AccessibilityInfo API, and this does a straight forward-port of existing functionality (screen reader status detection) to the new API.

    Here is the related PR https://github.com/facebook/react-native-website/pull/835

    And the doc with new APIs https://facebook.github.io/react-native/docs/accessibilityinfo

    This depends on the PR here for types I believe https://github.com/DefinitelyTyped/DefinitelyTyped/pull/37486

    There is an opportunity to also expand API coverage to cover the other new accessibility features react-native exposes but if this is desired it might be best to do it separately? Additionally the majority are iOS-specific so if I proposed that change I'd need some guidance.

    Fixes #1319

    Reviewed by mikehardy at 2019-08-09 02:50
  • 10. Expose selection from RN.Text

    In order to be able to do partial select/copy/paste, we'll expose the selected text and event from RNW. We need to expose this via ReactXP so that the application code can use them.

    Reviewed by gmangov at 2018-08-24 22:00
  • 11. Change to the extracted NetInfo package

    This is a follow-up PR to what I started in PR #1059.

    The goal of this PR is to change to the extracted NetInfo package instead of version bundled with React Native. React Native deprecated the bundled version in release v0.59.0 as part of their Lean Core initiative.

    This is still a work-in-progress because this PR doesn't yet support Windows. react-native-netinfo doesn't include Windows support and has changed enough from the code that used to be a part of React Native core that it doesn't work with the react-native-windows codebase. I've started work on porting and updating the NetInfo code from react-native-windows to react-native-netinfo but I'm not sure how long that will take. My progress can be tracked here: https://github.com/sbeca/react-native-netinfo/tree/windows-support

    I wanted to get this PR out in the public before it was ready in case someone else was also working on the issue. I've noticed that @mikehardy posted the following issue very recently so if we're doubling up on work, it would be good to know: https://github.com/react-native-community/react-native-netinfo/issues/100

    Reviewed by sbeca at 2019-05-21 11:19
  • 12. [Feature Request] Trusted Types support

    Problem Statement

    Not sure if this lib is still actively maintained but some of our apps still depend on it and use it

    ReactXP framework should support Trusted Types API so that it can be seamlessly integrated with web applications that enforce Trusted Types for all DOM XSS Injection Sinks (e.g. assignments to Element.innerHTML property) using require-trusted-types-for CSP directive. Trusted Types APIs are now fully supported in web browsers based on Blink engine (Chrome, Edge, Electron and others).

    Proposed solution

    First we need to identify all instances where ReactXS integrates with such methods and propose re-factoring. We need to be careful to keep supporting web browsers without Trusted Types support and, obviously, mobile platforms (iOS and Android).

    We know about these locations so far:

    • Assigning empty string into Element.innerHTML
      • We could either use TrustedTypePolicyFactory.emptyHTML or rewrite using assignment to Element.innerText, call to Element.replaceChildren() and so on.
      • https://github.com/microsoft/reactxp/blob/6b6c56f930aec0bf1250573c691a5c7e6ab05091/src/web/CustomScrollbar.ts#L263
      • https://github.com/microsoft/reactxp/blob/6b6c56f930aec0bf1250573c691a5c7e6ab05091/src/web/CustomScrollbar.ts#L427
      • https://github.com/microsoft/reactxp/blob/6b6c56f930aec0bf1250573c691a5c7e6ab05091/src/web/CustomScrollbar.ts#L432
    • Assigning static HTML into Element.innerHTML
      • We could rewrite using standard DOM manipulation functions (Document.createElement, Element.setAttribute(), ...)
      • https://github.com/microsoft/reactxp/blob/6b6c56f930aec0bf1250573c691a5c7e6ab05091/src/web/CustomScrollbar.ts#L249
    • Assigning dynamic HTML into HTMLIFrameElement.srcdoc
      • This is in extension, we can maybe ignore or pass content through HTML sanitizer such as DOMPurify
      • https://github.com/microsoft/reactxp/blob/6b6c56f930aec0bf1250573c691a5c7e6ab05091/extensions/webview/src/web/WebView.tsx#L101

    References

    Reviewed by tosmolka at 2022-03-22 14:40
  • 13. Bump tmpl from 1.0.4 to 1.0.5 in /samples/hello-world-js

    Bumps tmpl from 1.0.4 to 1.0.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2021-09-21 00:02
  • 14. ReactXP not compatible with react-native 0.65 without patch

    AccessibilityInfo.fetch was finally removed, this PR needs a merge+release for ReactXP to work with react-native 0.65+: #1126

    If anyone else runs into this, there's a patch-package / https://github.com/ds300/patch-package format patch attached on the PR, works

    Reviewed by mikehardy at 2021-08-23 19:16
  • 15. Bump react-native from 0.62.2 to 0.62.3 in /samples/TodoList

    Bumps react-native from 0.62.2 to 0.62.3.

    Release notes

    Sourced from react-native's releases.

    v0.62.3

    This patch release is specifically targetted towards Xcode 12.5. The changes done are tailored to unblock developers still relying on v0.62 of RN.

    Aside from bumping your version from 0.62.2 to 0.62.3, please make sure to add this line to your podfile (or modify it if you already had it):

    use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1')
    

    After which, do all the classic necessary cleans (node_modules, caches, pod folders, etc)(react-native-clean-project is your ally) then do yarn install and a pod install --repo-update (if pod install fails on an error about a Flipper package, just remove the relevant lines from the podfile.lock and run the pod install again).

    The only other commit picked & released along the Xcode 12.5 fixes is:

    • Update validateBaseUrl to use latest regex (commit) which fixes CVE-2020-1920, GHSL-2020-293.

    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history over at react-native-releases.

    Commits
    • 83425fa [0.62.3] Bump version numbers
    • c6f4611 [local] change autolink to match requirements for FlipperFolly working with X...
    • c4ea556 [local] change podfile to rely on the autolink-ios rb file
    • ca09ae8 Update validateBaseUrl to use latest regex
    • 166a5dd Get ReactiveNative compiled with Clang 10 (#28362)
    • 158b558 [local] update detox to work on Xcode 12
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2021-07-20 19:25
  • 16. Bump react-native from 0.59.10 to 0.62.3 in /samples/hello-world-js

    Bumps react-native from 0.59.10 to 0.62.3.

    Release notes

    Sourced from react-native's releases.

    v0.62.3

    This patch release is specifically targetted towards Xcode 12.5. The changes done are tailored to unblock developers still relying on v0.62 of RN.

    Aside from bumping your version from 0.62.2 to 0.62.3, please make sure to add this line to your podfile (or modify it if you already had it):

    use_flipper!('Flipper' => '0.75.1', 'Flipper-Folly' => '2.5.3', 'Flipper-RSocket' => '1.3.1')
    

    After which, do all the classic necessary cleans (node_modules, caches, pod folders, etc)(react-native-clean-project is your ally) then do yarn install and a pod install --repo-update (if pod install fails on an error about a Flipper package, just remove the relevant lines from the podfile.lock and run the pod install again).

    The only other commit picked & released along the Xcode 12.5 fixes is:

    • Update validateBaseUrl to use latest regex (commit) which fixes CVE-2020-1920, GHSL-2020-293.

    To help you upgrade to this version, you can use the upgrade helper ⚛️


    You can find the whole changelog history over at react-native-releases.

    v0.62.2

    This release fixes a few minor issues that were reported by the community. You can view the complete changelog here.

    You can participate in the conversation for the next patch release in the dedicated issue.


    To help you upgrade to this version, you can use the new upgrade helper ⚛️


    You can find the whole changelog history over at react-native-releases.

    v0.62.1

    This release fixes a YellowBox regression in v0.62.0 where the Flipper network inspector causes YellowBox to crash the app due to using base64 images.

    You can view the complete changelog here.

    You can participate in the conversation for the next patch release in the dedicated issue.


    To help you upgrade to this version, you can use the new upgrade helper ⚛️


    You can find the whole changelog history over at react-native-releases.

    ... (truncated)

    Commits
    • 83425fa [0.62.3] Bump version numbers
    • c6f4611 [local] change autolink to match requirements for FlipperFolly working with X...
    • c4ea556 [local] change podfile to rely on the autolink-ios rb file
    • ca09ae8 Update validateBaseUrl to use latest regex
    • 166a5dd Get ReactiveNative compiled with Clang 10 (#28362)
    • 158b558 [local] update detox to work on Xcode 12
    • b9944e5 [0.62.2] Bump version numbers
    • f89c509 Make Vibration.vibrate compatible with TurboModules (#27951)
    • 8858d87 Exclude all FlipperKit transitive dependencies from iOS Release builds (#28504)
    • 4fd9c9d Fix Appearance module when using Chrome Debugger
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    Reviewed by dependabot[bot] at 2021-07-20 17:49
React-Native library for the WidgetKit framework. Integrate a Widget into your App 🍏📱
React-Native library for the WidgetKit framework. Integrate a Widget into your App 🍏📱

react-native-widgetkit React-Native Library for the iOS ?? WidgetKit framework Table of Contents ?? Introduction ??‍?? Installation ??‍ Usage ????‍??

May 6, 2022
A UI library for react native, provides 20+ pure JS(ES6) components, focusing on content display and action control.
A UI library for react native, provides 20+ pure JS(ES6) components, focusing on content display and action control.

Teaset ???? 中文完整文档版 A UI library for react native, provides 20+ pure JS(ES6) components, focusing on content display and action control. Installation

May 11, 2022
Component library for React Native
Component library for React Native

first-born Getting Started These instructions will get you a copy of the project up and running on your local machine for development and testing purp

Feb 14, 2022
UI & API Components Library for React Native

React Native Common Cross Platform React Native UI Toolkit & API Get Started Installation $ yarn add react-native-common or $ npm install react-native

Feb 14, 2022
A framework to test a React Native app during runtime
A framework to test a React Native app during runtime

react-native-diagnose A react runtime diagnose component Rationale Testing native applications is complicated There are features that can only be test

Feb 14, 2022
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

May 11, 2022
Rhinos-app is a react-native app which uses react-native-web to achieve cross-platform design.
Rhinos-app is a react-native app which uses react-native-web to achieve cross-platform design.

Rhinos-app Rhinos-app is a react-native app which uses react-native-web to achieve cross-platform design. Live Demo: web version ?? FEATURES: ?? ?? Ru

Feb 14, 2022
🗺 A simple react-native library to perform cross-platform map actions (Google or Apple Maps)
🗺  A simple react-native library to perform cross-platform map actions (Google or Apple Maps)

react-native-open-maps ?? A simple cross-platform library to help perform map actions to the corresponding device's map (Google or Apple Maps) react-n

May 2, 2022
Cross-platform audio library for React Native
Cross-platform audio library for React Native

This is a cross-platform (Android and iOS) audio library for React Native. Both audio playback and recording is supported. In addition to basic functi

May 8, 2022
Easy, cross-platform credit-card input for your React Native Project! Start accepting payment 💰 in your app today!
Easy, cross-platform credit-card input for your React Native Project! Start accepting payment 💰 in your app today!

React Native Credit Card Input Easy (and good looking) credit-card input for your React Native Project ?? ?? Code: <CreditCardInput onChange={this._on

May 15, 2022
A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app

react-native-idle-timer A cross-platform bridge that allows you to enable and disable the screen idle timer in your React Native app Install npm insta

Mar 28, 2022
cross platform app with react in a monorepo

react-native-web-workspace An minimum boilerplate that has configured a native app running also on the web in the same monorepo. For a thorough discus

Feb 14, 2022
A cross platform React Native app for customer entry to the therapeutic use of psilocybin
A cross platform React Native app for customer entry to the therapeutic use of psilocybin

MushZm MushZm is a cross platform React Native app for customer entry to the therapeutic use of psilocybin by providing information on published paper

Nov 15, 2021
A modern React implementation of the Authorize.net platform's Accept.JS library for easily submitting payments to the Authorize.net platform.

react-acceptjs A modern React implementation of Authorize.net's Accept.JS library for easily submitting payments to the Authorize.net platform. Instal

Apr 28, 2022
A Foundation for Scalable Cross-Platform Apps
A Foundation for Scalable Cross-Platform Apps

Electron React Boilerplate uses Electron, React, React Router, Webpack and React Fast Refresh. Install If you have installation or compilation issues

May 18, 2022
A React environment for cross platform desktop apps
A React environment for cross platform desktop apps

Logo by @elisiri Announcement Sadly I don't have time to dedicate time to this project. Some others have created a fork here to continue the work: htt

May 12, 2022
Build performant, native and cross-platform desktop applications with native React + powerful CSS like styling.🚀
Build performant, native and cross-platform desktop applications with native React + powerful CSS like styling.🚀

React NodeGui Build performant, native and cross-platform desktop applications with React. ?? React NodeGUI is powered by React ⚛️ and Qt5 ?? which ma

May 18, 2022
Build native, high-performance, cross-platform applications through a React (and/or QML) syntax

ReactQML Build native, high-performance, cross-platform universal applications (desktop and mobile) through a React (and/or QML) syntax ?? NOTE: React

Apr 23, 2022
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.

react-native-modal-picker A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sectio

May 8, 2022
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.
A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sections.

react-native-modal-selector A cross-platform (iOS / Android), selector/picker component for React Native that is highly customizable and supports sect

Apr 11, 2022