“react native”開源了;“react native”是Facebook的跨平臺移動應(yīng)用開發(fā)框架,在2015年的4月就已經(jīng)開源了;“react native”是Facebook早先開源的JS框架React在原生移動應(yīng)用平臺的衍生產(chǎn)物,支持iOS和安卓兩大平臺。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
react native
React Native (簡稱RN)是Facebook于2015年4月開源的跨平臺移動應(yīng)用開發(fā)框架
是Facebook早先開源的JS框架 React 在原生移動應(yīng)用平臺的衍生產(chǎn)物,支持iOS和安卓兩大平臺。RN使用Javascript語言,類似于HTML的JSX,以及CSS來開發(fā)移動應(yīng)用,因此熟悉Web前端開發(fā)的技術(shù)人員只需很少的學(xué)習(xí)就可以進(jìn)入移動應(yīng)用開發(fā)領(lǐng)域。
React Native主要特性如下:
原生的iOS組件
React Native主張“Learn once, write everywhere”而非其他跨平臺工具一直宣揚(yáng)的“Write once, run everywhere”。通過React Native,開發(fā)者可以使用UITabBar、UINavigationController等標(biāo)準(zhǔn)的iOS平臺組件,讓應(yīng)用界面在其他平臺上亦能保持始終如一的外觀、風(fēng)格。
異步執(zhí)行
JavaScript應(yīng)用代碼和原生平臺之間所有的操作都采用異步執(zhí)行模式,原生模塊使用額外線程,開發(fā)者可以解碼主線程圖像、后臺保存至磁盤、無須顧忌UI等諸多因素直接度量文本設(shè)計(jì)布局。
觸摸處理
React Native引入了一個(gè)類似于iOS上Responder Chain響應(yīng)鏈?zhǔn)录幚頇C(jī)制的響應(yīng)體系,并基于此為開發(fā)者提供了諸如TouchableHighlight等更高級的組件。
擴(kuò)展:
React Native的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1)、React Native可將標(biāo)記元素轉(zhuǎn)化為真實(shí)的原生UI元素,利用在任何平臺上所呈現(xiàn)視圖的現(xiàn)有方法
2)、React Native與主UI線程分開工作,所以應(yīng)用程序可以在不犧牲功能的前提下保持最大的性能
3)、React Native創(chuàng)建的應(yīng)用程序允許開發(fā)人員創(chuàng)建和構(gòu)建跨平臺應(yīng)用程序,這些應(yīng)用程序是客戶端的完全本機(jī)應(yīng)用程序,因?yàn)樗褂没趇OS或Android組件構(gòu)建的JavaScript組件。節(jié)省了跨平臺應(yīng)用程序開發(fā)時(shí)間,并且應(yīng)用程序維護(hù)更便宜
4)、在組件開發(fā)方面,Native移動應(yīng)用程序使用大量代碼和類來在UI中進(jìn)行渲染,但是React Native只使用組件名稱并聲明其屬性,它將在UI中呈現(xiàn)這兩個(gè)平臺都為移動應(yīng)用開發(fā)節(jié)省了時(shí)間。
缺點(diǎn):
1)、與其他Android和iOS編程語言相比,React Native還不成熟。它仍處于改進(jìn)階段,這可能會對應(yīng)用程序產(chǎn)生負(fù)面影響,尤其是每次發(fā)布新更新時(shí),開發(fā)人員都必須進(jìn)行大量更改并定期進(jìn)行升級。應(yīng)用程序在升級過程中也會遇到了很多問題。
2)、除了僅編寫代碼之外,開發(fā)人員有時(shí)還需要為與React Native不兼容的組件編寫額外的本機(jī)代碼,有時(shí)候與本機(jī)組件相比,React Native組件變得更差
3)、它缺乏安全穩(wěn)健性,React Native是一個(gè)JavaScript庫和開源框架,它在安全性方面存在重大問題
4)、React Native在最初渲染之前需要花費(fèi)大量時(shí)間來初始化運(yùn)行,因?yàn)镴avaScript線程需要時(shí)間來初始化
【