Preparation for Setting up the environment
-
React Native Chinese platform
-
Development tools Front-end development software: Visual Studio Code
Mobile terminal development software: Xcode, Android Studio
-
Knowledge reserves
NodeJS React Es6,Es7
Introduce the React Native
React Naitve is a framework for developing Android and iOS apps. The main programming language is JavaScript. It not only has Native user experience but also retains the development efficiency of React.
Before React Native, we used to choose one of these three mobile technologies (Native App, HTML5, Hybrid) for development.
Native App
: Develop native applications with the best natural performance and powerful functions. However, the development and maintenance of multi-platform version takes a lot of manpower and resources (iOS version iteration review takes time).HTML5
: Despite the advantages of the Web: flexible layout capabilities, the potential for rapid iteration without release, and excellent cross-platform features. In the news and other strong typesetting, weak interaction display App. However, due to the performance constraints of WebView on mobile devices, it has always been difficult to become a big success.Hybrid App
: JS+Native the two mainly call each other, from the development level to achieve “one development, multiple operation” mechanism, become truly suitable for cross-platform development. Hybrid App has both the advantages of good user experience of Native App and low-cost cross-platform development of Web App using HTML5. However, there are many problems in this method: offline data cannot be accessed, devices cannot be accessed, and remote updates cannot be made.React Native
: The underlying engine is JavaScript Core, but calls native components instead of HTML5 components. This provides a performance experience comparable to that of Navive App, and because JavaScript code can be managed in a powerful Web way on the back end, it can be developed efficiently, deployed quickly and problems can be hot fixed.
React Native pros and cons:
- advantages
- Cross-platform development: With React Native, we can use the same core business logic code to create Native applications that run on Web, Android, and iOS.
- Hot update, App can iterate quickly: real-time hot deployment;
- Learn once,write everywhere: React Native does not require a Native code to support multiple platforms, so it is not write once,run anywhere;
-
disadvantages
- React Native is only supported on iOS
iOS7
Above, Android only supportsAndroid4.1
The above; - Development cost is high, not friendly to novice, debugging is not friendly;
- Some complex interfaces and operations cannot be implemented by RN (consider hybrid development of Native +React Native);
- You are advised to develop a fixed version
- React Native is only supported on iOS
-
React Native vs Flutter vs Weex