This is the repo of a mobile app for ZEIT's Now platform built with React Native.
If you want to contribute, here's how to work with the project:
- Make sure you have React Native installed (
npm install -g react-native-cli)
- Clone the repo
react-native startto start the packager
react-native run-iosto start the app in the simulator
Today extensions and Apple Watch companion app are built with Swift. Why? Well, for the Watch it's not possible to use React Native. As for Today widgets, while it is possible to build Today widgets with React Native, iOS puts an insane memory limit of 16MB on Today extensions, most of which will be eaten up by RN and I didn't want to worry about it.
Also it was all part of my ongoing effort to learn Swift
Swift <-> JS
All the necessary data is still passed to extensions from JS, but the extensions themselves are native. Today widgets use Shared App Groups and Watch uses Watch Connectivity to pass authentication data to the Watch.
CocoaPods and .xcworkspace
Watch app uses CocoaPods, so if you want to launch the app from Xcode, you should use the
.xcworkspace instead of
.xcproject to open the project.
There's most likely a bunch of them, especially in Swift sections since I don't know Swift that well. If you find any, please report them and they shall be fixed. Also contributions are very welcome :)
- Deployment details screen on tap
- Cache latest state and show it on startup before loading from network. This is already beind done on the Watch so it's only fair main app has it
- Flow types improvements
- Android version. It's basically good to go but there's gonna be mandatory Android bugs to sort out
- Today extension auth handling
- Fastlane (?)
This is not an official ZEIT software.
It just uses ZEIT's APIs, some of which is copied from Now Desktop and isn't documented on the official website.
If you have any questions or issues with this app, please don't bug people of ZEIT about it and just file an issue on this repo.