Taro 原理


 

原生開發的一些痛點:

  • 原生開發對Node、預編譯器、webpack支持不好,影響開發效率和工程構建流程

  • 微信定義了一個不倫不類的語法,不如正經學vue、react,學會了全端通用,而不是只為微信小程序

  • vue/react生態里有太多周邊工具,可以提高開發效率,比如ide、校驗器、三方庫。。。

  • 微信那個ide和專業編輯器相比實在不好用

Taro介紹

Taro 是一套針對以上的痛點和限制,同時遵循 React 語法規范的 多端開發 解決方案

使用 Taro,我們可以只書寫一套代碼,再通過 Taro 的編譯工具,將源代碼分別編譯出可以在不同端(微信/百度/支付寶/字節跳動/QQ小程序、快應用、H5、React-Native 等)運行的代碼

Taro原理

Taro將JSX編譯成小程序模板,由於babel的核心編譯器Babylon是支持對JSX的語法解析,因此可以通過它幫着構造AST(虛擬語法樹),

我們需要專注的就是把AST進行轉換,得到需要的新的AST,再將AST進行遞歸遍歷,生成小程序的模板

最核心的技術把源代碼編譯成AST,再將AST轉換操作得到目標代碼

在Taro中,我們通過編譯時的處理以及運行時的適配來轉換成小程序代碼

編譯時的處理:

Babel

運行時框架 @tarojs/taro

編譯出來后,不能直接在小程序中運行,小程序需要運行時的適配來幫助我們把代碼運行在小程序里。運行時的適配主要是生命周期的轉換,還有一些事件的處理。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM