官术网_书友最值得收藏!

前言

2017年1月9日,微信小程序正式上線。自此,這種觸手可及、用完即走的小程序產品引起廣泛關注。

在此后的一段時間里,數個產品均發布了自己的小程序平臺,其中包括支付寶小程序、百度小程序、字節跳動小程序等。各小程序平臺間存在或多或少的差異,如語法差異、規范差異等,對于開發者而言,開發各端小程序是非常浪費精力的,因為各端小程序之間存在的差異是少量的,我們希望編寫同一套代碼,在編譯時抹平各端差異,從而提升開發效率,降低開發成本。

除了小程序,產品可能還需要在H5、iOS、Android端運行。能否在兼顧小程序的同時編譯生成H5、iOS、Android應用呢?畢竟在React的生態里,有一個框架——React Native支持使用React開發iOS、Android應用。經過很多開發者的不停探索,催生出了很多優秀的多端開發框架,其中就有Taro。

Taro誕生已有兩年多時間,在這兩年多時間里,Taro一直保持高速成長狀態。從1.x版本到3.x版本,Taro經歷了大的版本迭代與重構,正是因為源碼的不斷重構與架構調整,才使得更多的開發者加入其中,共同迭代升級Taro,有越來越多的公司選擇使用Taro開發多端統一應用。

多端開發“封神榜”上,一定會有Taro的名字。

閱讀建議

本書從基礎知識切入,循序漸進,由淺入深。在掌握Taro基礎知識以后,你可以嘗試使用Taro去開發一些小的案例,書中也提供了一些小案例用于理解某些開發中常用的知識點。最后通過開發一個閑置換App,帶讀者一窺從項目搭建,到需求評審與開發,再到性能優化,最終部署上線的整個流程。

本書作為市面上首本Taro開發參考書,首先需要覆蓋絕大多數開發工作中所使用的知識點,將這些知識點穿成線。其次需要帶讀者一起了解Taro原理,知其然且知其所以然才能讓我們在開發工作中游刃有余。本書一共12章,各章內容介紹如下:

第1章 介紹了Taro的誕生背景、基本理念及主要特性。同時介紹了使用Taro進行開發前需要掌握的ES 6常用語法知識、Taro腳手架及規范約定。學完本章,相信大家會對使用Taro開發多端應用有一個基本認識。

第2章 介紹了JSX語法基礎。同時介紹了組件化開發基本思想、組件生命周期、組件中事件的處理,以及如何綁定事件、如何解決this指向性問題等。了解單個頁面開發以后,我們可以嘗試將多個頁面有機組合,這時就需要使用路由功能了。路由系統將各個模塊通過路徑和路徑參數編織成網,路由操作允許你在網的節點之間穿梭。最后以表單控件串聯起了本章學習的重要內容,舉一反三。

第3章 介紹了組件設計基本原則。介紹了組件關系、組件之間的通信即狀態同步問題。還介紹了組件和服務端數據交互與通信使用的API,同時介紹了如何使用攔截器在請求發出前或響應到來后做一些特殊處理。最后介紹了Ref在開發過程中的使用方法。

第4章 介紹了項目中常用的兩種集中狀態管理方案,分別為Redux與MobX。在新版本的Taro中建議使用Hooks結合context管理狀態。

第5章 介紹了Hooks相關知識。Hooks賦予了函數組件管理內部狀態和處理副作用的能力,使得組件與數據得以拆分,同時解決了狀態難以復用的問題。

第6章 介紹了如何使用Taro同步開發多端應用,開發之前需要根據項目具體需求和設計稿合理配置項目配置文件。開發多端應用過程中,可供選擇的方案有3種,可根據模塊開發需求選擇合適方案。然后介紹了如何修改配置以支持多端同步調試與打包。

第7章 介紹了Taro UI的使用,使用Taro UI不僅能降低開發成本,還能保證多端樣式統一。

第8章 介紹了Taro中較難理解但是頗有用途的一個特性——插件機制。插件機制提供給開發者眾多能力,例如,自定義業務相關插件輔助業務開發、自定義命令拓展Taro命令行工具、自定義Hooks處理自定義處理邏輯,甚至可以借助該功能拓展編譯規則,從而使Taro支持更多端應用的編譯工作。工作中用好Taro插件機制能在很大程度上提高開發及構建效率。

第9章 介紹了Taro項目性能優化的知識。我們可以通過Prerender預渲染提升渲染速度,利用虛擬列表解決大數據列表的性能問題,同時可以自定義組件更新重渲染條件從而達到優化目的。還介紹了Taro多端開發的實現原理,通過講解Taro 1.x源碼,介紹了Taro的基本原理。

第10章 介紹了微信小程序、支付寶小程序、React Native的開發環境搭建的相關內容,通過Taro編譯不同端應用以提升開發效率。

第11章 介紹了使用Taro開發H5、微信小程序、React Native端應用的流程,從項目搭建到多端適配,完整講解了使用Taro開發多端應用的方法和需要注意的問題,最后介紹了不同端打包發布的流程,從0到1打造多端應用。

第12章 介紹了Taro的發展及如何使用Taro 3進行多端開發。

通過閱讀本書,希望讀者能對多端開發方案有一定認識,能夠使用Taro開發多端應用。

讀者反饋

本書作為市面上首本全面講解Taro的圖書,在寫作過程中,我深感開創者的不易,因自身水平有限,書中難免會有疏漏,懇請讀者指正。你可以通過郵箱flana_zhong@163.com與我聯系,或者關注我的微信公眾號“JavaScript全棧”私信我,看到反饋后我會第一時間回復。

示例代碼下載

本書實戰部分代碼托管在GitHub上,訪問地址為https://github.com/HeyiMaster/taro-book,源碼僅供參考學習,建議結合書中源碼片段學習。

致謝

我堅信成就自己最好的方式就是幫助他人。我樂于分享,無論是技術還是生活,在將我所掌握的知識、生活技能等通過文字或視頻形式傳遞給他人的時候,我都非常開心。正是因為分享和開源,我有幸結識了Taro團隊的很多小伙伴,他們為Taro付出了很多,犧牲了很多周末時間,推掉了很多個朋友聚會,擠壓了陪伴家人的時間。同時我在想,為什么目前市面上還沒有一本工具書介紹Taro,讓更多開發者聽到Taro的聲音?

因為一直囿于文筆不好,擔心寫出的內容不能很好地將Taro的精華傳授于讀者,所以踟躕不前。直到電子工業出版社編輯李秀梅老師找到我,給予了我很多鼓勵,加上疫情在家無法外出,可以全身心投入寫作,我才決定開始本書的寫作。

在此,特別感謝Taro團隊小伙伴老李、立哥、帥哥的答疑解惑,同時特別感謝電子工業出版社李秀梅編輯不厭其煩地糾正書稿中的錯誤。真心感謝你們,是你們的支持和鼓勵讓這本書得以面世。

最后,感謝我的父母,是你們含辛茹苦將我養育成人。也感謝我的妻子嚴霜,是你的支持與理解讓我順利完成寫作。

讀者服務

微信掃碼回復:40906

◎ 獲取本書配套源碼資源

◎ 獲取作者提供的各種共享文檔、線上直播、技術分享等免費資源

◎ 加入本書讀者交流群,與作者互動

◎ 獲取博文視點學院在線課程、電子書20元代金券

主站蜘蛛池模板: 瑞安市| 普兰县| 乐业县| 万州区| 蒙山县| 高阳县| 铜陵市| 延川县| 湖口县| 吐鲁番市| 郁南县| 望都县| 瓦房店市| 莲花县| 阳新县| 金沙县| 武安市| 牙克石市| 泰顺县| 枞阳县| 枞阳县| 九龙坡区| 六盘水市| 兴义市| 佛坪县| 当雄县| 重庆市| 米易县| 南溪县| 屏东市| 衡水市| 资阳市| 湘潭市| 昌图县| 扎鲁特旗| 兴安盟| 仙居县| 门头沟区| 葵青区| 越西县| 临安市|