在9月16日的掘金小程式大會上,Taro 正式釋出了 1.0 版本。
作為一個多端統一開發框架,Taro 1.0 版本為廣大開發者帶來了許多激動人心的特性,幫助開發者們更方便快捷地開發多端應用。
前進的腳步沒有停下,歷時一個多月,Taro 1.1 版本正式來襲!
從 1.0 到 1.1,期間產生了 500 餘次 Commit,釋出了 23 個版本,Taro 一直保持高速的迭代頻率,只為不斷打磨,為它注入更多優秀的特性,讓更多開發者受益。
Taro 1.1 正式來襲
更豐富的平臺轉換支援
自從微信小程式誕生以來,小程式的優勢大家有目共睹,各大網際網路廠商開始摩拳擦掌,紛紛佈局小程式領域,其中勢頭最勁的當屬百度智慧小程式和支付寶小程式。對於前端而言,既是機遇,因為平臺愈多,帶來的機會愈多;也是挑戰,因為不同的平臺總會各有差異,為每個平臺維護一份程式碼,成本顯然太高。
為了降低多端應用的開發成本,在已全面支援 微信小程式 的基礎上,Taro 在 1.1 版本中加入了對 百度智慧小程式 和 支付寶小程式 的支援。
支援百度智慧小程式
升級到 1.1 版本後,即可獲得將現有專案轉換成百度智慧小程式的能力。
使用如下命令進行百度智慧小程式端編譯預覽及打包:
# npm script$ npm run dev:swan$ npm run build:swan# 僅限全域性安裝$ taro build --type swan --watch$ taro build --type swan# npx 使用者也可以使用$ npx taro build --type swan --watch$ npx taro build --type swan複製程式碼
選擇百度智慧小程式模式,需要你下載並開啟百度開發者工具,然後在專案編譯完後選擇專案根目錄下 dist
目錄進行預覽。
目前已有使用 Taro 開發的首款百度智慧小程式 “京東好物街” 正式上線,可以使用百度 APP,掃描以下二維碼進行體驗:
支援支付寶小程式
支付寶小程式的轉換方式與百度智慧小程式一致。
你可以使用如下命令進行支付寶小程式端編譯預覽及打包:
# npm script$ npm run dev:alipay$ npm run build:alipay# 僅限全域性安裝$ taro build --type alipay --watch$ taro build --type alipay# npx 使用者也可以使用$ npx taro build --type alipay --watch$ npx taro build --type alipay複製程式碼
選擇支付寶小程式模式,需要你下載並開啟支付寶小程式開發者工具,然後在專案編譯完後選擇專案根目錄下 dist
目錄進行預覽。
新增平臺標識
在加入 百度智慧小程式 和 支付寶小程式 支援後,目前 Taro 已經提供了對 5 個平臺的支援,分別是 微信/百度/支付寶/React Native/H5,為了方便開發者書寫平臺差異化程式碼,Taro 為每個平臺提供了平臺標識,並可以通過 process.env.TARO_ENV
來獲得,其取值分別如下
weapp
,代表微信小程式h5
,代表 H5rn
,代表 React Nativeswan
,代表百度智慧小程式,1.1 版本新增alipay
,代表支付寶小程式,1.1 版本新增
開放多端 UI 庫打包能力
在 1.0 版本中,Taro 的 build
命令新增了 --ui
引數,來將按照一定規則組織的程式碼打包成可以在 Taro 中使用的多端 UI 庫。 並且,基於這一功能,Taro 推出了首個可以跨多端使用的多端 UI 庫 Taro UI。
為了完善 Taro 生態,擴充套件 Taro 社群,在 1.1 版本中開放了多端 UI 庫的打包能力,並提供了詳細的開發指南。
同時 Taro 也提供了官方的多端 UI 庫示例,這是一個完整規範的 UI 庫開發例子,包含必要的專案改造以及測試套件,基於這個示例,開發者可以快速地開發一個多端 UI 庫專案。
還有更多
在 1.0 版本中,Taro 提供了對 微信小程式、H5 以及 React Native 的支援,而 1.1 版本,在原有支援的基礎之上,對每一個平臺進行不斷完善,讓其更加豐富完整。
微信小程式
F
呼叫this.setState
時,JSON Diff 演算法 Bug 修復F
修復this.setState
回撥裡再呼叫this.setState
的 BugA
新增componentWillPreload
生命週期,用於資料預載入A
支援在同一作用域對 JSX 賦值F
多層 Map 迴圈巢狀包含條件判斷時問題修復F
中文字元被編譯成 unicode 碼問題修復F
三元表示式解析問題修復A
提升字串模板的效能
H5
A
H5 支援分包配置F
修復 H5 後臺頁面依然執行生命週期的問題F
修復 PUT 、DELETE 等請求 body 為物件時無法傳送 body 的問題A
增加setTabBarStyle
與setTabBarItem
APIA
增加arrayBufferToBase64
與base64ToArrayBuffer
APIA
編譯打包支援將公共 npm 包抽離成 lib 庫
React Native
A
支援 TypeScriptF
修復專案初始化後 less 編譯報錯A
新增 config.window.navigationStyle 配置A
新增showNavigationBarLoading
與hideNavigationBarLoading
APIA
增加arrayBufferToBase64
與base64ToArrayBuffer
APIF
修復樣式支援警告A
watch 模式時程式碼按需編譯F
修復同一資料夾下多個JS檔案樣式引用錯誤F
app.json 的 expo 配置改為可覆蓋A
支援Taro.pxTransform
F
iconPath 和 selectedPath 的為同一個路徑導致的重複引用的報錯A
在 config 中新增 rn 的 expo 配置A
支援 deviceRatio 自定義
更完整的功能迭代記錄請參閱 CHANGELOG
未來規劃
Taro 將會繼續保持高效迭代,以滿足日益增長的多端開發需求
目前已經確認的開發計劃可以參見 Taro 版本開發計劃。
小程式轉 Taro 程式碼開啟內測
值得注意的是,激動人心的小程式轉 Taro 程式碼功能已經開發完成,進入內測階段,可以通過如下命令安裝到 canary
版本,進行體驗
$ npm i -g @tarojs/cli@canary複製程式碼
歡迎針對這一功能,提供寶貴意見,意見入口請戳 ???
同時,為了幫助 Taro 更好地成長,讓 Taro 更好地回饋所有開發者,歡迎您給 Taro 提供優秀想法,或者直接貢獻程式碼。