React Native is a cross-platform development framework for developing native mobile applications, including iOS and Android apps. The framework is open-sourced and is supported by a developer community, hosting a number of React Native plugins that you can use. For example, Expo go.
To develop fully Native apps, you do not need additional programming skills for iOS or Android or maintain two different codebases. React Native provides platform-specific versions of components such that a single codebase can be shared across platforms.
Things to be noted
During build, WaveMaker platform will convert the WaveMaker markup to React Native markup. So, there is no change in the existing WaveMaker markup. But, not all widgets and widgets properties are supported. Click here to check widget support.
There is no change in the way of defining variables. Databases and corresponding variables are not supported. Click here, to check the Variable support.
All UI and Variable event callbacks work as it is. Web browser APIs are not supported. HTML DOM manipulating JS libraries (jQuery etc.,) will not work when app is installed in a phone. Adding a JS library is not supported.
Themes are supported. Click here to learn about how to generate themes.
Prefabs are supported. But, following limitations are applicable
- HTML DOM and API to manipulate it, should not be used.
- As a prefab can be used in a web app, Cordova based mobile app or a React Native based mobile app. Stylsheet of a prefab has to be divided into two parts by the line
/*REACT_NATIVE_STYLES*/. After this line, styles for React Native environment can be placed.
- Adding a JS file is not supported
- Widgets that are not supportetd by WaveMaker React Native runtime, are discarded.