開掛的React Native

隨著蘋果公司推出iPhone和App Store甩骏,移動開始持續(xù)升溫窗市,各種創(chuàng)新不斷,風頭逐漸蓋過Web饮笛,吸引了大量開發(fā)人員進入移動領(lǐng)域咨察。這無疑使得蘋果公司成為最大的贏家,操控著很多公司的命運福青。

Facebook在Web技術(shù)上非常成功摄狱,深知移動未來的重要性,但又不想受制于蘋果公司无午。于是投入大量的人力和物力媒役,在移動HTML5上攻堅克難,雖取得了不少進展宪迟,但始終不如意酣衷。2012年9月,F(xiàn)acebook表示:“Betting on HTML5 was a mistake.”全力轉(zhuǎn)型Native App開發(fā)次泽。令人沒有想到的是穿仪,兩年之后Facebook居然推出了React Native for iOS技術(shù)席爽,讓人眼前一亮,興奮不已啊片。

大家都知道拳昌,Native App因其性能優(yōu)越和功能強大而笑傲江湖,但終究逃不出Apple的掌心钠龙,多版本維護非常痛苦。HTML5雖然有Web的優(yōu)勢御铃,但因WebView在移動設備的性能和電力等因素的制約碴里,性能總被詬病,難成大器上真。而Hybrid App集Native App和Web優(yōu)點于一體咬腋,還可以相互補短,似乎應該成為大家的選擇睡互。然而它在成熟度根竿、標準化等方面的顧慮,也會是一個不小的問題就珠。

React Native技術(shù)的誕生則普遍被大家接受寇壳,各大公司紛紛介入,給人很大的想象空間妻怎。它的底層引擎是JavaScript Core壳炎,調(diào)用的是原生組件而非HTML5組件(HTML+CSS+JavaScript構(gòu)建的組件)。運行時逼侦,可以做到與Native App媲美的體驗匿辩,同時因為JavaScript代碼可以使用后端強大的Web方式管理,既可以做到高效開發(fā)榛丢,也可以做到快速部署和問題熱修復铲球。React Native App運行在客戶的手機上,而控制端可以在后端晰赞,可以充分發(fā)揮Web的能力稼病,就像一個牽線木偶,任憑你表演宾肺。

——吳其敏溯饵,攜程旅行網(wǎng)框架研發(fā)部負責人,高級研發(fā)總監(jiān)

最近三四年間锨用,國內(nèi)外的前端與全棧開發(fā)者社區(qū)都在堅持不懈地追尋使用JS與HTML丰刊、CSS技術(shù)體系開發(fā)App內(nèi)場景的核心工程技術(shù)。這種技術(shù)增拥,在國內(nèi)很多公司與團隊中啄巧,被通稱為H5寻歧。這種工程類的嘗試最早出現(xiàn)在新聞資訊頁等強排版、弱交互的產(chǎn)品場景中秩仆,因其靈活的布局能力和免發(fā)版的敏捷迭代潛力而大受歡迎码泛。而后在涌現(xiàn)出大批第三方應用市場的浪潮中,也成為了應用市場展示App應用詳情的技術(shù)標配澄耍。在此過程中噪珊,PhoneGap(后來的Apache Cordova)等組件的出現(xiàn)滿足了JavaScript與Android/iOS程序之間的通信需求,及時補全了這種工程方案在系統(tǒng)能力上的短板齐莲。大家在更大范圍地推進這種方案的過程中痢站,卻遇到了一個致命的問題,那就是這種技術(shù)在處理無限滑動列表(如微博的信息流)時选酗,受WebView的影響阵难,表現(xiàn)出了極差的點擊響應、內(nèi)存性能和兼容性芒填。社區(qū)中有不少有識之士提出了模板配置化+原生渲染呜叫,或引入多個WebView運行SPA以緩解內(nèi)存問題等行之有效的方案,但均因一定程度上犧牲了靈活殿衰、敏捷的方案優(yōu)勢朱庆,而無法獲得廣泛采納。這樣的缺陷直接制約了JavaScript in App工程方案的再擴大闷祥。在百度供職時椎工,我曾負責主持Clouda云端一體框架的研發(fā)工作,可說是在社區(qū)一線全程參與了這個演進過程蜀踏。

React Native的出現(xiàn)维蒙,徹底、整潔且智慧地解決了這個痛點果覆,且通過WebKit的引入完整保留了JavaScript語言的完整邏輯性颅痊,通過原生的渲染保持了“不沾手”的順滑體驗和出色的內(nèi)存管理,沒有妥協(xié)地實現(xiàn)了大家需要的JavaScript in App的工程體系能力局待。

——童遙斑响,阿里高德開放平臺總經(jīng)理

要掌握開掛的技術(shù),需要一本好書——今天為大家介紹《React Native入門與實戰(zhàn)》钳榨,目前最棒的一本React Native中文書舰罚。

React Native開啟了開發(fā)原生App的新方式,不僅提高了開發(fā)效率薛耻,同時提高了App的用戶體驗营罢。相比Web App而言,React Native可以使用原生的組件和API,這樣就可以釋放Native的能力和體驗饲漾;相比Native開發(fā)而言蝙搔,前端開發(fā)者可以使用JavaScript開發(fā)原生應用,這樣開發(fā)效率將會得到很大的提高考传。

主要內(nèi)容

本書的內(nèi)容是作者在實踐過程中總結(jié)得到的吃型,一共分為4部分。

第一部分為基礎(chǔ)語法篇僚楞,共兩章內(nèi)容勤晚,主要介紹了React Native的開發(fā)基礎(chǔ)知識。

第1章介紹了React Native的環(huán)境搭建泉褐、React與React Native之間的關(guān)系运翼,以及如何學習ReactNative。

第2章主要介紹了React Native的開發(fā)基礎(chǔ)知識兴枯,包含flexbox布局、JSX語法矩欠,并且詳細介紹了React Native創(chuàng)建項目的過程财剖。

第二部分為API和組件篇,共4章內(nèi)容癌淮,主要介紹了React Native的API躺坟、組件以及Native擴展和組件的封裝。

第3章介紹了React Native常用組件乳蓄,包含View組件咪橙、Text組件、NavigatorIOS組件虚倒、TextInput組件美侦、Touchable類組(TouchableHighlight、TouchableOpacity和TouchableWithoutFeedback)魂奥、

Image組件菠剩、TabBarIOS組件和WebView組件。

第4章介紹了React Native常用的API耻煤,包含AppRegistry具壮、AsyncStorage、AlertIOS哈蝇、ActionSheetIOS棺妓、PixelRatio、AppStateIOS炮赦、StatusBarIOS怜跑、NetInfo、CameraRoll吠勘、VibrationIOS妆艘、Geolocation彤灶、網(wǎng)絡數(shù)據(jù)請求的應用以及定時器和動畫。

第5章介紹了React Native的實現(xiàn)原理以及在原生組件和API上的擴展批旺,并且以一個“圖表”組件為案例進行實戰(zhàn)講解幌陕。

第6章介紹了使用JavaScript封裝React Native組件,主要實現(xiàn)了二級菜單組件汽煮、日歷組件以及初步介紹了開源組件的用法搏熄。

第三部分為App更新和上架篇,共一章內(nèi)容暇赤。

第7章介紹了App的動態(tài)更新和上架過程心例。

第四部分為實戰(zhàn)篇,共3章內(nèi)容鞋囊,介紹了如何使用React Native開發(fā)原生App止后。

第8章介紹了使用React Native和Node.js開發(fā)企業(yè)內(nèi)部通訊錄應用——“百靈鳥”App。

第9章介紹了使用React Native Geolocation API和高德地圖API開發(fā)LBS應用——“附近”App溜腐。

第10章介紹了使用豆瓣開放API開發(fā)一款搜索App译株,主要包含圖書、電影和音樂搜索挺益。

本書包含的代碼及其案例可以到https://github.com/vczero/React-Native-Code下載或者到圖靈社區(qū)http://www.ituring.com.cn/book/1762下載歉糜。

專業(yè)人士推薦

React Native的誕生很好地詮釋了“鑒往知來”。Facebook采用全新的設計理念望众,為App開發(fā)開辟了React Native這一新途徑》瞬梗現(xiàn)在,作者們將這門新技術(shù)帶給了中國的開發(fā)人員烂翰。

——Eric Ye夯缺,攜程旅行網(wǎng)CTO

如果說現(xiàn)在是互聯(lián)網(wǎng)的天下,我猜將來還會是互聯(lián)網(wǎng)的天下甘耿。Native App喳逛、HTML5、Hybrid等移動技術(shù)都將成為過往云煙棵里,有互聯(lián)網(wǎng)思維的移動技術(shù)(如React Native)將會大展身手润文。

——吳其敏,攜程旅行網(wǎng)框架部負責人殿怜,高級研發(fā)總監(jiān)

React Native是一項非常棒的技術(shù)典蝌,它獨特的思路幫助我們找到了一個性能和可維護性的絕佳平衡點。Facebook投入了大量資源在React Native的發(fā)展上头谜,我們已經(jīng)看到很多知名App中都使用了這項技術(shù)。它同時擁有Native App的性能和Hybrid App的可維護性,受到開發(fā)人員熱捧截驮。

本書作者花費大量時間研究React Native對于企業(yè)App的價值笑陈,書中的內(nèi)容對于有一些前端基礎(chǔ)的同學應該很容易理解。希望這本書能幫助降低App開發(fā)的門檻葵袭,我們也希望能和大家多多交流經(jīng)驗涵妥。

——儲誠棟,攜程旅行網(wǎng)前端框架研發(fā)總監(jiān)

移動技術(shù)發(fā)展飛速坡锡,Native與HTML5的競爭也由來已久蓬网。從PhoneGap開始,大家一直在尋找Hybrid的方式來實現(xiàn)App快速開發(fā)鹉勒,同時設法保持良好的用戶體驗帆锋。

2015年Facebook推出的React Native是革命性的技術(shù)框架,突破了Native與HTML5的界限禽额,將近乎Native的流暢體驗和JavaScript的開發(fā)效率完美結(jié)合锯厢。

攜程框架團隊第一時間采用這項技術(shù)并應用到線上App開發(fā)中,其中的實踐經(jīng)驗無疑值得國內(nèi)移動開發(fā)者借鑒脯倒,推薦大家閱讀這本書实辑,一起追求新技術(shù)的價值。

——陳浩然盔憨,攜程旅行網(wǎng)無線研發(fā)總監(jiān)

React Native是React.js的勝利,也是JavaScript以及優(yōu)秀Web開發(fā)體驗的勝利讯沈,更是技術(shù)大融合的勝利郁岩。我相信作者在React Native方面的經(jīng)驗和心得都濃縮在這本書里,而且能夠第一時間看到一本React Native中文書缺狠,感覺如此親切问慎。推薦大家細細閱讀,認真實踐挤茄。

——趙錦江(勾股)如叼,阿里技術(shù)專家

React Native的設計目標是既具有Web的開發(fā)體驗和發(fā)布能力,又具備Native的人機交互體驗穷劈,它在行業(yè)里掀起了一股Native和Web融合探索的熱潮笼恰。本書涉及話題較全面,既介紹了作為基礎(chǔ)的React歇终、組件社证、API,又涉及更深入的組件擴展和封裝评凝,最后三章的真實案例定能讓讀者受益匪淺追葡。

——徐凱(鬼道),阿里技術(shù)專家

作者介紹

王利華

vczero,攜程無線框架高級工程師宜肉,HTML5培訓講師匀钧,主要負責框架組件性能優(yōu)化、新一代框架研發(fā)谬返。2013~2015年在高德地圖負責Node.js服務和JavaScript API相關(guān)的研發(fā)之斯。GitHub地址:https://github.com/vczero。

魏曉軍

攜程框架研發(fā)部研發(fā)經(jīng)理朱浴,負責攜程無線前端框架團隊吊圾。2011年加入攜程,先后從事攜程PC端前端框架翰蠢、數(shù)據(jù)可視化框架项乒、無線端前端框架等開發(fā)工作。現(xiàn)負責攜程無線前端框架的開發(fā)和性能優(yōu)化等工作梁沧。

馮誠祺

攜程框架研發(fā)部高級iOS研發(fā)工程師檀何,負責移動端用戶行為以及性能數(shù)據(jù)的統(tǒng)計SDK、數(shù)據(jù)分析支持廷支。正在修行频鉴,朝著全棧的方向努力著。

【閱讀原文Amazon購買】

閱讀原文

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恋拍,一起剝皮案震驚了整個濱河市垛孔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌施敢,老刑警劉巖周荐,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異僵娃,居然都是意外死亡概作,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門默怨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讯榕,“玉大人,你說我怎么就攤上這事匙睹∮奁ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵痕檬,是天一觀的道長集绰。 經(jīng)常有香客問我,道長谆棺,這世上最難降的妖魔是什么栽燕? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任罕袋,我火速辦了婚禮,結(jié)果婚禮上碍岔,老公的妹妹穿的比我還像新娘浴讯。我一直安慰自己,他們只是感情好蔼啦,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布榆纽。 她就那樣靜靜地躺著,像睡著了一般捏肢。 火紅的嫁衣襯著肌膚如雪奈籽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天鸵赫,我揣著相機與錄音衣屏,去河邊找鬼。 笑死辩棒,一個胖子當著我的面吹牛狼忱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播一睁,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼钻弄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了者吁?” 一聲冷哼從身側(cè)響起窘俺,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎复凳,沒想到半個月后瘤泪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡染坯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年均芽,在試婚紗的時候發(fā)現(xiàn)自己被綠了丘逸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片单鹿。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖深纲,靈堂內(nèi)的尸體忽然破棺而出蘑志,到底是詐尸還是另有隱情女气,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站靴庆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏涌穆。R本人自食惡果不足惜突那,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一侨颈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧芯义,春花似錦哈垢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至绑警,卻和暖如春求泰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背计盒。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工渴频, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人章郁。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓枉氮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親暖庄。 傳聞我的和親對象是個殘疾皇子聊替,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容