手机app开发可选技术——React Native
百度百科
React Native是Facebook于2015年開源的跨平臺移動應用開發框架,是Facebook早先開源的JS框架React在原生移動應用平臺的衍生產物,支持IOS和安卓兩大平臺。RN使用Javascript語言,類似于HTML的JSX,以及CSS來開發移動應用,因此熟悉WEB前端開發的技術人員只需要很少的學習就可以進入移動應用開發領域。
React Native使你能夠在Javascript和React的基礎上獲得完全一致的開發體驗,構建世界一流的原生APP。
React Native著力于提高多平臺的開發效率——僅需學習一次,編寫任何平臺。
主要特性:
原生的IOS組件
React Native主張“Learn once,write everywhere”而非其他跨平臺工具一直宣揚的:Write once,run everywhere。通過React Native,開發者可以使用UITabBar、UINavigationController等標準的IOS平臺組件,讓應用界面在其他平臺上亦能始終保持如一的外觀、風格。
異步執行
JavaScript應用代碼和原生平臺之間所有的操作都采用異步執行模式,原生模塊使用額外線程,開發者可以解碼主線程圖像、后臺保存至磁盤、無需顧忌UI等諸多因素直接度量文本設計布局。
觸摸處理
React Native引入了一個類似于IOS上Responder Chain響應鏈處理機制的相應體系,并基于此為開發者提供了諸如TouchableHighlight等更高級的組件。
各路資料、詳解
React Native,是一個混合移動應用開發框架。
React Native是目前流行的跨平臺移動應用開發框架之一。在開發應用時,我們可以選擇使用原生,純基于Web或者使用混合方法(即使用原生和基于Web的技術的組合)。可以使用Apache Cordova(或Adobe PhoneGap)等開源平臺編寫HTML,CSS和JavaScript的跨平臺混合應用。這些應用在原生Web視圖(瀏覽器)中運行,所以看著就像Web應用,不過可以使用JavaScript和一些Apache Cordova插件調用原生功能和API。所以可以使用類似于Web應用而非原生應用的用戶界面上架到Apple Store或Google Play的應用。或者,可以使用c#,XAML和CSS使用Xamarin來編寫原生應用。對于用HTML5,CSS和JavaScript編寫的非原生移動Web應用,還可以配套使用jQuery Mobile等框架。
React Native采用不同的方法進行混合移動應用開發。它不會生成UI組件,而是基于React,React Native是一個用于構建基于Web的交互界面的JavaScript庫,因此會有更豐富的UI 體驗效果,同時也能夠很好地調用底層框架的UI使用。React Native已經成為一種流行的移動開發技術,它提供了一個使用JavaScript構建原生跨平臺移動應用的強大框架,在需要時,我們也可以使用Objective-C,Swift或Java來編寫原生代碼來橋接。
使用React Native有利有弊從積極的方面來說,React Native已經成為受支持的開源社區的熱門,可以使用一組技術(如JSX,React Native組件和JavaScript)為IOS和Android構建移動應用。這反過來有助于在發布新版本時使IOS和Android應用保持同步。但是,React Native仍在不斷發展,當要在當前不需要React Native提供的功能(例如如何進行UI導航或使用地圖)時決定使用哪些庫時,可能會造成混淆。此外,根據應用的復雜程度,可能需要編寫區別于平臺的代碼來解決移動平臺的差異。對于復雜的應用,可能要編寫自定義組件或深入了解IOS和Android(例如,出于性能原因或將React Native添加到現有原生應用所需的但不支持的UI組件)。
配置React Native環境
React Native的核心語言是JavaScript,特別是ECMAScript 6(ES6)。因此,需要熟悉ES6的一些最新功能。此外,在開始開發第一個React Native應用之前,需要安裝必備的工具,比如IDE,JavaScript庫等等。另外,還需要了解核心的React Native API。
目前來看,開發IOS原生應用只能用macOS系統。由于大多數移動應用都會涉及到Android和IOS兩端,因此應該考慮使用Mac來開發React Native移動應用。
在創建項目之前,你需要安裝一些東西,主要包括:
Android Studio和Xcode工具
安裝最新版本以構建和發布應用。對于Android開發,確保為要運行的Android API版本配置正確的模擬器。
JavaScript IDE或文本編輯器
不需要使用Xcode或Android Studio來編寫JavaScript代碼,真正需要的只是一個文本編輯器。比如使用Atom(由GitHub開發),Sublime Text或喜歡的任何優秀文本編輯器。
JavaScript或React Native 包
安裝一些工具來管理React Native軟件包以及三方庫,包括
從nodejs.org下載node.js:為了讓JavaScript運行時允許訪問npm,這是一個由node.js項目創建的便捷工具,可用于管理開源軟件包。確保下載node.js的最新LTS(長期支持)版本。此下載中還包括一個名為Metro bundler的開發服務器,它在調試時能夠提供實時更新渲染。
下載create-react-native-app:可以使用此工具開始開發。它可以創建一個基礎項目。
下載常用的第三方庫。React Native提供了很多基礎組件,與原生API使用相比會更加簡單。常規的移動應用使用可能包括相機,管理狀態,并具有導航,地圖,圖標和復選框。這都可以從React Native社區獲取對應組件。
此外,可以到React Native Elements獲取需要的其他UI組件元素。在開發一個完整功能的app時,需要用到上面提到的UI組件。用這個方法來安裝以前的packages
React Native Debugger:這是一個非常棒的調試器,同時他還是一個獨立的應用,里面能用到的工具包括React Inspector和Redux DevTools。配置好環境后可以連接到應用(注意:一次只能調試一個應用),可以很方便的實時查看React Native應用的狀態,調試必備工具。
結論
React Native是一個充滿活力并且不斷發展的框架和社區。但React Native并不像原生應用開發那樣成熟。所以必須為Android,IOS和React Native的開發保持穩定的環境,包括所有相關的開發工具。對于React Native中不存在的組件,可以Google搜索,就可以找到所需內容,請記住所選的第三方庫可能會更改或維護可能會停止或被放棄,這是一個要考慮的主要風險。
React Native并不適合所有人或每個項目。這需要考慮創建和維護React Native代碼,工具,開發環境和技能集的時間,精力和成本,而不是僅僅關注原生代碼。
React Native驚喜
1、即使你不懂如何使用Java或Kotlin開發Android,或者不懂如何使用Swift或Objective-c來開發IPad或IPhone應用也不要緊,因為React Native幾乎不需要和它們打交道。
2、如果你想同時開發Android和IOS應用,只要你的開發人員懂前端,懂JavaScript和React就夠了,也能開發移動應用。
特性
1、底層采用Facebook開發的React技術。
React是一個視覺框架,使用JavaScript來構建網頁和移動網頁。
2、React Native內置了大量的原生組件,這比Web App有著更強大的性能。
3、React Native開發的APP可以運行在IOS平臺和Android平臺。
優點
1、完全采用JavaScript語言
2、跨平臺,尤其是Android和IOS兩端
3、React Native具有強大的社區,有著眾多的開發者提供了各種類型的組件
缺點
1、復雜的狀態管理、頁面切換。即使你會React ,也會覺得它的頁面切換有點繞。
2、創建新的原生組件復雜。如果你要創建一個之前從未出現的原生組件,難度直線上升。不僅需要懂得Android開發,還要懂得IOS開發。
總結
以上是生活随笔為你收集整理的手机app开发可选技术——React Native的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea运行sql文件
- 下一篇: 真相,为什么大厂一边裁员,一边招人?