hufkens / react-native-vanilla

Most fundamental cross-platform project template based on react native. Includes latest iOS, tvOS, Android, Android TV, Web, Tizen, LG webOS, macOS/OSX and Windows platforms

Home Page:https://www.npmjs.com/package/react-native-vanilla

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React Native Vanilla

build universal cross-platform apps with react native




iOStvOSAndroid TVmacOSWindows
AndroidWebTizenLG webOS
...

npm version npm downloads License MIT All Contributors PRs Welcome

Most fundamental multi-platform project template based on react native. Includes latest iOS, tvOS, Android, Android TV, Web, Tizen, LG webOS, macOS/OSX and Windows platforms

  • Ideal starting point for advanced multi-platform projects.
  • Uses latest vanilla native project templates including Xcode with Swift and Android with Kotlin support
  • Includes bleeding edge dependencies configured to work with each other


Features:

Development platform

OS Support
Mac YES
Windows YES
Linux untested

Requirements

Stack / Libraries

  • React 16.5.1 react library
  • React Native 0.57.1 for building native apps using react
  • Babel 7.x.x for ES6+ support

Get Started

1. Prerequisites

The recommended way to run specific version of Node and NPM is to use NVM:

nvm install node 8.11.4
nvm alias default node 8.11.4

Tested / Recommended Node configurations:

Node Version NPM Version
8.11.4 5.6.0

2. Installation

On the command prompt run the following commands

$ git clone git@github.com:pavjacko/react-native-vanilla.git

$ cd react-native-vanilla

$ npm run setup

Architecture

Folder Structure

.
├── assets                   # Cross platfrom assets
├── docs                     # Documentation files
├── platforms                # Platform specific projects / code
│   ├── android              # Android platform project
│   ├── androidtv            # Android TV convigured platform project
│   ├── ios                  # iOS Xcode platform project
│   ├── macos                # macOS Electron platform project
│   ├── tizen                # Tizen platform project
│   ├── tvos                 # tvOS Xcode platform project
│   ├── web                  # Webpack based project
│   ├── webos                # Web OS platform project
├── src                      # Source files
├── tests                    # Automated tests
├── utils                    # Tools and utilities
├── LICENSE
└── README.md

iOS

  • Latest swift based Xcode project
  • Cocoapods Workspace ready
  • Swift 4.1 Support

Requirements

Project Configuration

Feature Version
Swift 4.1
Deployment Target 11.4

Run

npm start
npm run ios

Android

  • Latest Android project
  • Kotlin Support
  • Support for Gradle 4.9
  • Support for Android JSC (improved support for JavascriptCore like ES6 syntax)

Requirements

Project Configuration

Feature Version
Gradle 4.9-RC1
Android Gradle 3.3.0-ALPHA3
Kotlin 1.2.50
Target SDK 27
JSC org.webkit:android-jsc:r224109

Run

NOTE: make sure you have 1 android device connected or 1 emulator running

npm start
npm run android

tvOS

  • Latest swift based Xcode project
  • Cocoapods Workspace ready
  • Swift 4.1 Support

Requirements

Project Configuration

Feature Version
Swift 4.1
Deployment Target 11.4

Run

npm start
npm run tvos

Android TV

  • Latest Android project
  • Kotlin Support
  • Support for Gradle 4.9
  • Support for Android JSC (improved support for JavascriptCore like ES6 syntax)

Requirements

Project Configuration

Feature Version
Gradle 4.9-RC1
Android Gradle 3.3.0-ALPHA3
Kotlin 1.2.50
Target SDK 27
JSC org.webkit:android-jsc:r224109

Run

NOTE: make sure you have 1 android device connected or 1 emulator running

npm start
npm run androidtv

Web

  • Supports Chrome, Safari, Firefox, IE10+

Requirements

  • no extra requirements required

Project Configuration

Feature Version
Webpack 3.11.0
react-native-web 0.9.1
Babel Core 7.1.2

Run

npm run web

open browser URL: http://localhost:8080


Tizen

  • Latest Tizen project
  • Support for Tizen 4.0

Requirements

Project Configuration

Feature Version
Tizen Studio 2.5
Tizen SDK 4.0
react-native-web 0.9.1
Babel Core 7.1.2

Run

npm run tizen:build
  • Open project in Tizen Studio <PROJECT_ROOT>/tizen
  • Run app

LG webOS

  • Latest LG webOS Project

Requirements

Project Configuration

Feature Version
cli-webos 0.0.2
react-native-web 0.9.1
Babel Core 7.1.2

Run

  • launch webOS emulator
npm run webos:build
npm run webos:install

macOS

  • support for OSX/macOS
  • Based on Electron

Requirements

  • n/a

Project Configuration

Feature Version
electron 2.0.0
react-native-web 0.9.1
electron-builder 20.28.2

Run

npm run macos

Windows

  • support for Windows 10+
  • Based on Electron

Requirements

  • Windows dev environment

Project Configuration

Feature Version
electron 2.0.0
react-native-web 0.9.1
electron-builder 20.28.2

Run

npm run windows

Distribute

npm run windows:dist

Contributors


Pavel Jacko

📖

Daniel Marino Ruiz

📖

Sander Looijenga

📖

David Rielo

📖

Discussions

coming soon


Community

Special thanks to open-source initiatives this project utilises, notably:


LICENSE

MIT

About

Most fundamental cross-platform project template based on react native. Includes latest iOS, tvOS, Android, Android TV, Web, Tizen, LG webOS, macOS/OSX and Windows platforms

https://www.npmjs.com/package/react-native-vanilla

License:MIT License


Languages

Language:JavaScript 48.4%Language:Kotlin 40.8%Language:Ruby 3.9%Language:HTML 2.9%Language:Swift 1.8%Language:Shell 1.5%Language:CSS 0.4%Language:TypeScript 0.2%Language:Python 0.2%