- Taro多端開(kāi)發(fā)權(quán)威指南:小程序、H5與App高效開(kāi)發(fā)實(shí)戰(zhàn)
- 李佩忠編著
- 2466字
- 2021-05-19 18:01:13
前言
2017年1月9日,微信小程序正式上線。自此,這種觸手可及、用完即走的小程序產(chǎn)品引起廣泛關(guān)注。
在此后的一段時(shí)間里,數(shù)個(gè)產(chǎn)品均發(fā)布了自己的小程序平臺(tái),其中包括支付寶小程序、百度小程序、字節(jié)跳動(dòng)小程序等。各小程序平臺(tái)間存在或多或少的差異,如語(yǔ)法差異、規(guī)范差異等,對(duì)于開(kāi)發(fā)者而言,開(kāi)發(fā)各端小程序是非常浪費(fèi)精力的,因?yàn)楦鞫诵〕绦蛑g存在的差異是少量的,我們希望編寫(xiě)同一套代碼,在編譯時(shí)抹平各端差異,從而提升開(kāi)發(fā)效率,降低開(kāi)發(fā)成本。
除了小程序,產(chǎn)品可能還需要在H5、iOS、Android端運(yùn)行。能否在兼顧小程序的同時(shí)編譯生成H5、iOS、Android應(yīng)用呢?畢竟在React的生態(tài)里,有一個(gè)框架——React Native支持使用React開(kāi)發(fā)iOS、Android應(yīng)用。經(jīng)過(guò)很多開(kāi)發(fā)者的不停探索,催生出了很多優(yōu)秀的多端開(kāi)發(fā)框架,其中就有Taro。
Taro誕生已有兩年多時(shí)間,在這兩年多時(shí)間里,Taro一直保持高速成長(zhǎng)狀態(tài)。從1.x版本到3.x版本,Taro經(jīng)歷了大的版本迭代與重構(gòu),正是因?yàn)樵创a的不斷重構(gòu)與架構(gòu)調(diào)整,才使得更多的開(kāi)發(fā)者加入其中,共同迭代升級(jí)Taro,有越來(lái)越多的公司選擇使用Taro開(kāi)發(fā)多端統(tǒng)一應(yīng)用。
多端開(kāi)發(fā)“封神榜”上,一定會(huì)有Taro的名字。
閱讀建議
本書(shū)從基礎(chǔ)知識(shí)切入,循序漸進(jìn),由淺入深。在掌握Taro基礎(chǔ)知識(shí)以后,你可以嘗試使用Taro去開(kāi)發(fā)一些小的案例,書(shū)中也提供了一些小案例用于理解某些開(kāi)發(fā)中常用的知識(shí)點(diǎn)。最后通過(guò)開(kāi)發(fā)一個(gè)閑置換App,帶讀者一窺從項(xiàng)目搭建,到需求評(píng)審與開(kāi)發(fā),再到性能優(yōu)化,最終部署上線的整個(gè)流程。
本書(shū)作為市面上首本Taro開(kāi)發(fā)參考書(shū),首先需要覆蓋絕大多數(shù)開(kāi)發(fā)工作中所使用的知識(shí)點(diǎn),將這些知識(shí)點(diǎn)穿成線。其次需要帶讀者一起了解Taro原理,知其然且知其所以然才能讓我們?cè)陂_(kāi)發(fā)工作中游刃有余。本書(shū)一共12章,各章內(nèi)容介紹如下:
第1章 介紹了Taro的誕生背景、基本理念及主要特性。同時(shí)介紹了使用Taro進(jìn)行開(kāi)發(fā)前需要掌握的ES 6常用語(yǔ)法知識(shí)、Taro腳手架及規(guī)范約定。學(xué)完本章,相信大家會(huì)對(duì)使用Taro開(kāi)發(fā)多端應(yīng)用有一個(gè)基本認(rèn)識(shí)。
第2章 介紹了JSX語(yǔ)法基礎(chǔ)。同時(shí)介紹了組件化開(kāi)發(fā)基本思想、組件生命周期、組件中事件的處理,以及如何綁定事件、如何解決this指向性問(wèn)題等。了解單個(gè)頁(yè)面開(kāi)發(fā)以后,我們可以嘗試將多個(gè)頁(yè)面有機(jī)組合,這時(shí)就需要使用路由功能了。路由系統(tǒng)將各個(gè)模塊通過(guò)路徑和路徑參數(shù)編織成網(wǎng),路由操作允許你在網(wǎng)的節(jié)點(diǎn)之間穿梭。最后以表單控件串聯(lián)起了本章學(xué)習(xí)的重要內(nèi)容,舉一反三。
第3章 介紹了組件設(shè)計(jì)基本原則。介紹了組件關(guān)系、組件之間的通信即狀態(tài)同步問(wèn)題。還介紹了組件和服務(wù)端數(shù)據(jù)交互與通信使用的API,同時(shí)介紹了如何使用攔截器在請(qǐng)求發(fā)出前或響應(yīng)到來(lái)后做一些特殊處理。最后介紹了Ref在開(kāi)發(fā)過(guò)程中的使用方法。
第4章 介紹了項(xiàng)目中常用的兩種集中狀態(tài)管理方案,分別為Redux與MobX。在新版本的Taro中建議使用Hooks結(jié)合context管理狀態(tài)。
第5章 介紹了Hooks相關(guān)知識(shí)。Hooks賦予了函數(shù)組件管理內(nèi)部狀態(tài)和處理副作用的能力,使得組件與數(shù)據(jù)得以拆分,同時(shí)解決了狀態(tài)難以復(fù)用的問(wèn)題。
第6章 介紹了如何使用Taro同步開(kāi)發(fā)多端應(yīng)用,開(kāi)發(fā)之前需要根據(jù)項(xiàng)目具體需求和設(shè)計(jì)稿合理配置項(xiàng)目配置文件。開(kāi)發(fā)多端應(yīng)用過(guò)程中,可供選擇的方案有3種,可根據(jù)模塊開(kāi)發(fā)需求選擇合適方案。然后介紹了如何修改配置以支持多端同步調(diào)試與打包。
第7章 介紹了Taro UI的使用,使用Taro UI不僅能降低開(kāi)發(fā)成本,還能保證多端樣式統(tǒng)一。
第8章 介紹了Taro中較難理解但是頗有用途的一個(gè)特性——插件機(jī)制。插件機(jī)制提供給開(kāi)發(fā)者眾多能力,例如,自定義業(yè)務(wù)相關(guān)插件輔助業(yè)務(wù)開(kāi)發(fā)、自定義命令拓展Taro命令行工具、自定義Hooks處理自定義處理邏輯,甚至可以借助該功能拓展編譯規(guī)則,從而使Taro支持更多端應(yīng)用的編譯工作。工作中用好Taro插件機(jī)制能在很大程度上提高開(kāi)發(fā)及構(gòu)建效率。
第9章 介紹了Taro項(xiàng)目性能優(yōu)化的知識(shí)。我們可以通過(guò)Prerender預(yù)渲染提升渲染速度,利用虛擬列表解決大數(shù)據(jù)列表的性能問(wèn)題,同時(shí)可以自定義組件更新重渲染條件從而達(dá)到優(yōu)化目的。還介紹了Taro多端開(kāi)發(fā)的實(shí)現(xiàn)原理,通過(guò)講解Taro 1.x源碼,介紹了Taro的基本原理。
第10章 介紹了微信小程序、支付寶小程序、React Native的開(kāi)發(fā)環(huán)境搭建的相關(guān)內(nèi)容,通過(guò)Taro編譯不同端應(yīng)用以提升開(kāi)發(fā)效率。
第11章 介紹了使用Taro開(kāi)發(fā)H5、微信小程序、React Native端應(yīng)用的流程,從項(xiàng)目搭建到多端適配,完整講解了使用Taro開(kāi)發(fā)多端應(yīng)用的方法和需要注意的問(wèn)題,最后介紹了不同端打包發(fā)布的流程,從0到1打造多端應(yīng)用。
第12章 介紹了Taro的發(fā)展及如何使用Taro 3進(jìn)行多端開(kāi)發(fā)。
通過(guò)閱讀本書(shū),希望讀者能對(duì)多端開(kāi)發(fā)方案有一定認(rèn)識(shí),能夠使用Taro開(kāi)發(fā)多端應(yīng)用。
讀者反饋
本書(shū)作為市面上首本全面講解Taro的圖書(shū),在寫(xiě)作過(guò)程中,我深感開(kāi)創(chuàng)者的不易,因自身水平有限,書(shū)中難免會(huì)有疏漏,懇請(qǐng)讀者指正。你可以通過(guò)郵箱flana_zhong@163.com與我聯(lián)系,或者關(guān)注我的微信公眾號(hào)“JavaScript全棧”私信我,看到反饋后我會(huì)第一時(shí)間回復(fù)。
示例代碼下載
本書(shū)實(shí)戰(zhàn)部分代碼托管在GitHub上,訪問(wèn)地址為https://github.com/HeyiMaster/taro-book,源碼僅供參考學(xué)習(xí),建議結(jié)合書(shū)中源碼片段學(xué)習(xí)。
致謝
我堅(jiān)信成就自己最好的方式就是幫助他人。我樂(lè)于分享,無(wú)論是技術(shù)還是生活,在將我所掌握的知識(shí)、生活技能等通過(guò)文字或視頻形式傳遞給他人的時(shí)候,我都非常開(kāi)心。正是因?yàn)榉窒砗烷_(kāi)源,我有幸結(jié)識(shí)了Taro團(tuán)隊(duì)的很多小伙伴,他們?yōu)門(mén)aro付出了很多,犧牲了很多周末時(shí)間,推掉了很多個(gè)朋友聚會(huì),擠壓了陪伴家人的時(shí)間。同時(shí)我在想,為什么目前市面上還沒(méi)有一本工具書(shū)介紹Taro,讓更多開(kāi)發(fā)者聽(tīng)到Taro的聲音?
因?yàn)橐恢编笥谖墓P不好,擔(dān)心寫(xiě)出的內(nèi)容不能很好地將Taro的精華傳授于讀者,所以踟躕不前。直到電子工業(yè)出版社編輯李秀梅老師找到我,給予了我很多鼓勵(lì),加上疫情在家無(wú)法外出,可以全身心投入寫(xiě)作,我才決定開(kāi)始本書(shū)的寫(xiě)作。
在此,特別感謝Taro團(tuán)隊(duì)小伙伴老李、立哥、帥哥的答疑解惑,同時(shí)特別感謝電子工業(yè)出版社李秀梅編輯不厭其煩地糾正書(shū)稿中的錯(cuò)誤。真心感謝你們,是你們的支持和鼓勵(lì)讓這本書(shū)得以面世。
最后,感謝我的父母,是你們含辛茹苦將我養(yǎng)育成人。也感謝我的妻子嚴(yán)霜,是你的支持與理解讓我順利完成寫(xiě)作。
讀者服務(wù)

微信掃碼回復(fù):40906
◎ 獲取本書(shū)配套源碼資源
◎ 獲取作者提供的各種共享文檔、線上直播、技術(shù)分享等免費(fèi)資源
◎ 加入本書(shū)讀者交流群,與作者互動(dòng)
◎ 獲取博文視點(diǎn)學(xué)院在線課程、電子書(shū)20元代金券
- 玩轉(zhuǎn)我的iPhone 4
- 液晶和等離子體電視機(jī)原理與維修
- 通信系統(tǒng)仿真設(shè)計(jì)與應(yīng)用
- Photoshop移動(dòng)UI界面設(shè)計(jì)實(shí)用教程
- 中文版Premiere Pro CC 2018基礎(chǔ)培訓(xùn)教程(全彩版)
- 通信網(wǎng)絡(luò)智能管道架構(gòu)與技術(shù)實(shí)現(xiàn)
- 如影隨形:無(wú)處不在的無(wú)線電波
- 光纖通信(第4版)
- 第一行代碼:Android(第3版)
- 5G低時(shí)延通信中的非正交多址接入關(guān)鍵技術(shù)
- 信息通信網(wǎng)絡(luò)建設(shè)安全管理概要
- 高可靠性電子產(chǎn)品工藝設(shè)計(jì)及案例分析
- 通信專(zhuān)業(yè)實(shí)務(wù):傳輸與接入(無(wú)線)
- 數(shù)字電視有線傳輸原理與維修(第2版)
- 通信光纜與電纜線路工程(第2版)