Skip to content

Scope of react native macos

Tom Underhill edited this page Oct 28, 2020 · 2 revisions

This page briefly describes the scope of the react-native-macos project. Many questions have been posted asking "How do I do X?" where "X" is outside the scope of the project.

The purpose of react-native-macos is to extended react-native core by adding platform support for macOS. The scope of react-native-macos is similar to react-native iOS in core: the project provides the JavaScript/native bridging capabilities, a set of core platform API's projected to JavaScript, and a set of core Components such as View, ScrollView, ImageView, Text, and TextInput. This project strives to have a high degree of parity between react-native iOS and react-native macOS. It is not a goal of react-native-macos or react-native core to provide access to every API or UI component available on the platform.

The primary entry point of a react-native application is its root view: RCTRootView. Like react-native core, react-native-macos is not concerned with the App code outside of the RCTRootView. Therefore, it does not have components or APIs that govern windows, the system menu bar, etc. In core, the react-native init command line tool creates a native application based on a template providing the basics to hosts a single RCTRootView: a ViewController, AppDelegate and Storyboard. The react-native-macos-init command line tool provides that same convenience for macOS. But the beyond this templated code, this project is un-opinionated about the App code hosting the RCTRootView.

Clone this wiki locally