Server-driven mobile apps with React Native
See the codeHyperview is a new hypermedia format and React Native client for developing server-driven mobile apps.
See the Hyperview website for more information about Hyperview and Hyperview XML.
This repo contains a React Native implementation of the Hyperview Client. It can either be integrated into an existing React Native app, or used to create a self-contained RN app.
The Hyperview client only has the following required dependencies:
More importantly, the client is designed to be incorporated into an existing React Native project, and thus has the following peer dependencies:
This repo contains an example XML server that serves Hyperview XML to showcase the available features. It also contains a demo Expo project that can connect to the example XML server, or any other Hyperview endpoint.
Enable corepack once (it provides the Yarn version pinned in package.json):
corepack enable
Then, from the demo/ directory:
yarn
Note: you only need to run this step once.
From the demo/ directory:
yarn server
This will start an HTTP server listening on port 8085.
This step depends on whether you want to run the demo app in the iOS simulator, on an Android Virtual Device, or on a physical mobile device.
From the demo/ directory:
yarn ios
This will compile and install the demo app in the iOS simulator (first run takes a few minutes). It will then start the Expo development server to load the demo app.
From the demo/ directory:
adb reverse tcp:8085 tcp:8085
yarn android
This will compile and install the demo app in the emulator (first run takes a few minutes). It will then start the Expo development server to load the demo app.
The demo uses a local Expo development build, not Expo Go. Plug in the device (Developer Mode on iOS, USB debugging on Android). Make sure your mobile device and development machine are connected to the same Wi-Fi network.
From the demo/ directory:
BASE_URL="http://X.X.X.X:8085" yarn ios --device
or
BASE_URL="http://X.X.X.X:8085" yarn android --device
[!NOTE] Replace
X.X.X.Xwith the IP of your machine. This is needed in order for your physical device to be able to request the example XML files from your development machine.
This compiles Hyperview onto the device (first run takes a few minutes) and starts Metro. Metro displays a QR code in the terminal.
http://X.X.X.X:8081 in the development launcher. Google Camera will not open the QR code.As you're developing new features in the Hyperview library, you can use the demo app along with this special command to help you quickly test your changes:
From the demo/ directory (in a separate terminal):
yarn sync
This command will copy all the files from the hyperview/src directory, into the demo/node_modules/hyperview/src directory, and watch for any more changes.
You can also pass as an additional argument the root path of your own react-native app where you've installed hyperview to perform the same sync/watch operation. e.g.
yarn sync ../projects/my-cool-app
Tip
You may stop this with Ctrl + C
If Metro opens Expo Go instead of the Hyperview demo, uninstall Expo Go from the simulator or device and run yarn ios or yarn android again.
Physical iOS device builds require Automatic Signing with a Personal Team in Xcode. A paid Apple Developer account is not required.
Overall
Maintained
Code review
npm
Latest release
Releases this year
412 followers · starred Jul 2022
544 followers · starred Dec 2018
843 followers · starred Dec 2022
766 followers · starred Aug 2026
Server-driven mobile apps with React Native
See the codeHyperview is a new hypermedia format and React Native client for developing server-driven mobile apps.
See the Hyperview website for more information about Hyperview and Hyperview XML.
This repo contains a React Native implementation of the Hyperview Client. It can either be integrated into an existing React Native app, or used to create a self-contained RN app.
The Hyperview client only has the following required dependencies:
More importantly, the client is designed to be incorporated into an existing React Native project, and thus has the following peer dependencies:
This repo contains an example XML server that serves Hyperview XML to showcase the available features. It also contains a demo Expo project that can connect to the example XML server, or any other Hyperview endpoint.
Enable corepack once (it provides the Yarn version pinned in package.json):
corepack enable
Then, from the demo/ directory:
yarn
Note: you only need to run this step once.
From the demo/ directory:
yarn server
This will start an HTTP server listening on port 8085.
This step depends on whether you want to run the demo app in the iOS simulator, on an Android Virtual Device, or on a physical mobile device.
From the demo/ directory:
yarn ios
This will compile and install the demo app in the iOS simulator (first run takes a few minutes). It will then start the Expo development server to load the demo app.
From the demo/ directory:
adb reverse tcp:8085 tcp:8085
yarn android
This will compile and install the demo app in the emulator (first run takes a few minutes). It will then start the Expo development server to load the demo app.
The demo uses a local Expo development build, not Expo Go. Plug in the device (Developer Mode on iOS, USB debugging on Android). Make sure your mobile device and development machine are connected to the same Wi-Fi network.
From the demo/ directory:
BASE_URL="http://X.X.X.X:8085" yarn ios --device
or
BASE_URL="http://X.X.X.X:8085" yarn android --device
[!NOTE] Replace
X.X.X.Xwith the IP of your machine. This is needed in order for your physical device to be able to request the example XML files from your development machine.
This compiles Hyperview onto the device (first run takes a few minutes) and starts Metro. Metro displays a QR code in the terminal.
http://X.X.X.X:8081 in the development launcher. Google Camera will not open the QR code.As you're developing new features in the Hyperview library, you can use the demo app along with this special command to help you quickly test your changes:
From the demo/ directory (in a separate terminal):
yarn sync
This command will copy all the files from the hyperview/src directory, into the demo/node_modules/hyperview/src directory, and watch for any more changes.
You can also pass as an additional argument the root path of your own react-native app where you've installed hyperview to perform the same sync/watch operation. e.g.
yarn sync ../projects/my-cool-app
Tip
You may stop this with Ctrl + C
If Metro opens Expo Go instead of the Hyperview demo, uninstall Expo Go from the simulator or device and run yarn ios or yarn android again.
Physical iOS device builds require Automatic Signing with a Personal Team in Xcode. A paid Apple Developer account is not required.
Overall
Maintained
Code review
npm
Latest release
Releases this year
412 followers · starred Jul 2022
544 followers · starred Dec 2018
843 followers · starred Dec 2022
766 followers · starred Aug 2026