A skeleton project for both Android and iOS, using Facebook's React Native. Contains the usual set up create-react-native-app as well as some other goodies.
When you work for companies most of your code belongs to them. Some of us get tired of starting from a blank slate on every new gig. It was time for me to make a skeleton project that is open source and uses the things that I usually include.
- iOS Development
- XCode + command line tools
- NPM/Node
- CocoaPods (via brew)
- Android Development
- Android Studio
- Android SDK (w/ build tools 25+)
- Patience
- JavaScript Layer
- Absolute imports (via babel-root-slash-import)
- Style color manipilation (via color)
- Date/Time manipulation (via momentjs)
- Gradients (via react-native-linear-gradient)
- Global store (via redux w/ react-redux bindings and redux-thunk)
- Persistant redux store (via redux-persist w/ migrations) w/ reset capability
- Local network (e.g. wifi) dev bundle loading
- Common styling and a responsive grid system
- Splash screen on start w/ image
- Static image packaging and use
- Android
- Gradle wrapper (of course)
- One configuration closure for app info (e.g. version, build, sdk, etc).
- Launcher icon and res customization per build type (e.g. debug/release)
- Native->RN environment and application information bridge
- Customization points for RN's view managers
- Default fonts included (Roboto)
- iOS
- Base project set up
- RN bundling in dev/simulator mode
- Native->RN environment and application info bridge
- Same default fonts as in Android (Roboto)
- Start up android studio
- Import react-native-skeleton/android/build.gradle as a project
- Turn off 'configure on demand'
- Settings->Build,Execution,Deployment->Compiler
- Uncheck 'configure on demand'
- Install Xcode, command line tools, and CocoaPods
- Go to $PROJECT_ROOT/ios
- Run 'pod install'
- Open project in xCode
- Run it
- Some form of type system (e.g. flowtype or typescript)
- More bridges
- Stress testing via volunteers
Please submit feature requests, bugs, comments, etc via github's issue tracker