React Native筆記1簡介

ReactNative移動跨平臺開發(fā),是一個前端框架,在學(xué)習(xí)ReactNative之前先了解一下背景


原生應(yīng)用開發(fā),web應(yīng)用開發(fā),混合應(yīng)用開發(fā)

React:基礎(chǔ)框架,主要是設(shè)計一些實現(xiàn)的理念,不能用來做網(wǎng)頁的開發(fā)和移動應(yīng)用的開發(fā)

React起源于Facebook公司,起初用于Instagram網(wǎng)站開發(fā)。React是一個用于構(gòu)建用戶界面的JavaScript庫,不是一個MVC框架,提出了一種新的開發(fā)模式和理念,它強調(diào)的是“用戶界面”。

React.js:在React的基礎(chǔ)之上發(fā)展出來的,專門做網(wǎng)頁開發(fā)的

ReactNative:專門做移動應(yīng)用開發(fā)的

接下來我們了解一下React特點:

1、作為UI:React可以作為MVC中的View層進行使用,并且在已有項目中很容易使用React開發(fā)新功能

2、虛擬DOM:虛擬DOM是React最重要的特性,實現(xiàn)了優(yōu)化視圖的渲染和刷新。以前沒有ajax技術(shù)的時候,web頁面從服務(wù)器端整體渲染出html輸出到瀏覽器進行渲染,同樣的,用戶的一個改變頁面的操作也會刷新整個頁面來完成,直到有了ajax出現(xiàn),實現(xiàn)頁面局部刷新,帶來的高效和分離讓web開發(fā)者們驚嘆不已。但隨之的問題是,復(fù)雜的用戶交互及展現(xiàn)需要通過大量的DOM操作來完成,這讓頁面的性能以及開發(fā)的效率又出現(xiàn)了新的瓶頸,如何進行高性能的復(fù)雜DOM操作通常是衡量一個前端開發(fā)人員技能的重要指標。

時至今日,談到前端性能優(yōu)化,減少DOM元素、減少reflow和repaint、編碼過程中盡量減少DOM的查詢等手段是大家耳熟能詳?shù)?,而頁面任何UI變化都是通過整體刷新來完成的,而React之所以快,是因為它不直接操作DOM,而是引進虛擬DOM的實現(xiàn)來解決這個問題。

基于React進行開發(fā)時所有的DOM構(gòu)造都是通過虛擬DOM進行,每當數(shù)據(jù)變化時,React都會重新構(gòu)建一個完整的虛擬DOM樹,虛擬DOM樹是內(nèi)存數(shù)據(jù),React通過自己實現(xiàn)的DOM Diff算法將當前虛擬DOM樹和上一次的DOM樹進行對比,得到兩個DOM結(jié)構(gòu)的差異,然后僅僅將需要變化的部分進行實際的瀏覽器DOM更新。達到最小化重繪。避免不必要的DOM操作,解決了這兩個公認的前端性能瓶頸,實現(xiàn)高效DOM渲染。

3、組件化:對于React而言,開發(fā)者從功能的角度出發(fā),將UI分成不同的組件,每個組件都獨立封裝。在React中,你按照界面模塊自然劃分的方式來組織和編寫你的代碼,對于評論界面而言,整個UI是一個通過小組件構(gòu)成的大組件,每個組件只關(guān)心自己部分的邏輯,批次獨立,React組件應(yīng)具有如下特征:可組合、可重用、可維護

4、數(shù)據(jù)流:React實現(xiàn)了單向的數(shù)據(jù)流,相對于傳統(tǒng)的數(shù)據(jù)綁定,React更加靈活、便捷。

React學(xué)習(xí)準備:

1、前端基礎(chǔ)知識:html、css、JavaScript

2、JSX語法知識

3、ES6相關(guān)知識

4、React中文網(wǎng)站:http://www.css88.com/react/index.html

React 和ReactNative的關(guān)系

1、React用于Web應(yīng)用開發(fā)。ReactNative采用React方式進行移動應(yīng)用開發(fā)。

2、ReactNative采用React語法,用于進行JavaScript跨終端應(yīng)用開發(fā)。既擁有原生Native的交互體驗,又能夠保留React自由的開發(fā)效率。使用靈活的HTML和CSS布局,使用React語法構(gòu)建組件,然后同時運行在IOS和Android平臺上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容