微信小程式是一個建立不到兩年的新興科技生態體系。得益於中國科技發展的規模和速度,一百五十萬人*的小程式開發者社群已經做出了非常實用的前端開發框架,進一步提高了小程式的開發效率。 (*資料來源:騰訊 - 2018年7月)
在國內舉辦了兩次微信開發者聚會後,我們發現越來越多的創業團隊和個人有著一個共同的疑問:
製作微信小程式的最佳工具是什麼?
本文將試圖來回答這個問題。
微信創業者和開發者聚會 上海,中國 2018年9月 — www.lewagon.com/zh-CN
毫無疑問的是,在2018年,我們需要比前一年更快地釋出小程式。以下幾個框架為小程式上市提供了更快的速度和更好的互操作性。
讓我們來看看這些選擇:
MINA,預設的小程式開發框架
微信團隊於2016年釋出的MINA是微信小程式預設的開發框架。它提供了兩種檢視語言(WXML和WXSS),還有基於JavaScript的邏輯層。資料繫結和內建事件偵聽器讓開發人員能夠專注於資料處理和視覺效果的動態呈現。整個框架很大程度上受到了VueJS啟發,學習起來相對較快。 (我們之前在這篇文章中分享過“企業家如何製作自己的微信小程式”)
?技術指南: developers.weixin.qq.com/miniprogram…
雖然MINA框架的開發還遠未到成熟階段,但它憑藉著著龐大的社群,眾多線上問答和詳細的更新日誌,吸引了許多開發人員。 注:2018年8月,微信團隊引入了該框架的NPM支援和Cloud BaaS1。
TinaJS,“將MINA發揮到極致”
TinaJS是為小程式製作而釋出的最新前端框架之一。TinaJS很大程度上借鑑了MINA的設計並擴充套件了它的功能、解決了工作流程中的一些不流暢之處。
?技術指南: github.com/tinajs/tina
你會喜歡它的地方:
-
如果你已經瞭解MINA API,使用TinaJS會非常簡單
-
狀態管理選項:Tina-Redux中的Redux或從Vuex汲取靈感的Tinax
-
使用更優雅的路由擴充套件了預設的Mina路由器
-
單個檔案元件/頁面
-
精心編寫的技術文件
-
釋放了Webpack的潛能,比如CSS前處理器等功能
缺點:儘管Tina的設計中有許多偉大的想法,但MINA的更新可能會迅速縮小兩者的差距,使Tina不再具有優勢。
WePy,領域中的先驅
由GCaufy編寫的WePy是一個由騰訊官方支援的框架。WePy是小程式框架的先驅,早在2016年微信小程式測試版釋出的時候它就出現了。從那時起,數百名活躍的貢獻者和一個極有活力的開發者社群就開始通過Github和微信小組合作,把WePY塑造成一個強大的工具包。
?技術指南: github.com/Tencent/wep…
你會喜歡它的地方:
-
像Vue一樣的開發風格
-
具有巢狀,命名槽,元件道具等強大元件
-
現代Javascript:使用Babel,整個API包含在promises中
-
使用Node JS:一個功能強大的構建系統,可以使用typescript,css前處理器,html模板,節點環境變數
-
支援Redux進行狀態管理
-
利用開源:NPM工作流程使得開發者能夠利用GitHub上的所有資源
-
具有Scaffolding的命令列介面
-
跨平臺開發:可用於Web和支付寶迷你應用程式!
缺點:很少! WePy很容易上手,並且與所有現代開發流程緊密相關。
整體上來說,使用WePy寫的程式碼在可重用性,可維護性,效能等方面都表現較好。很多人都認為這個框架提高了生產力,帶來了更好的產品!
MPVue:適用於VueJS開發人員
美團點評(中國線上團購領域獨角獸公司)在2018年3月前後釋出了這個開源框架。顧名思義,它的附加價值是使用Vue.JS開發小程式,因此編寫時用的是跨平臺語言。有了MPVue,你可以利用Webpack將Vue原始碼用於Web或微信小程式開發。MPVue已被中國的廣大Vue.JS社群迅速採用。
?技術文件: github.com/Meituan-Dia…
你會喜歡它的地方:
-
不僅僅是一種開發風格; MPVue採用了Vue.js核心!
-
VueJS開發人員喜歡的Vue元件“單個檔案”設計
-
對NPM的支援
-
從H5(Web)到微信小程式,MPVue有著最先進的外掛集,提高了程式碼的可重用性
缺點:這是一個新生的框架,相關技術文件和問答論壇資源有限,讓我們期待MPVue的團隊在未來半年裡內趕上。
Taro:為React開發者服務
作為微信小程式框架家族的最新成員,Taro是針對ReactJS社群開發的前端框架!它的主要優勢在於開發者只需一份React.JS原始碼,便可編譯出Web應用程式,微信小程式甚至原生應用程式。這是MPVue的最大的競爭對手。
?技術文件: nervjs.github.io/taro/docs/R…
你會喜歡它的地方:
-
框架內部都是熟悉的React!包括JSX,Redux狀態管理等元件
-
致力於提供完整的跨平臺開發,儘管仍處於早期階段
-
支援ES7 / 8及更新版本(可配置)
-
包含CSS預編譯器,如Sass
-
Taro命令列介面可以加快你的工作流程......例如:
$ taro build --type weapp --watch
$ taro build --type h5 --watch
複製程式碼
- 你可以在一個程式碼庫中同時使用Taro元件和MINA元件
如何選擇開發框架? 以下是Le Wagon的建議……
首先要說明的是,MINA是微信開發環境新手的首選框架。在開始使用上述任何開源解決方案之前,你必須先做上一兩個“基本款”的小程式,瞭解微信開發環境有哪些可用的操作。 假設你的小程式已經找到了產品市場契合點,你現在需要釋出或維護大量原始碼,那麼請考慮這篇文章中提到的幾個高階工具包。
1.如果你想要速度:
考慮使用WePy來快速完成任務!它的CLI,開源元件和開發風格將提高你的工作效率。
2.如果你需要互操作性:
如果你團隊的技術棧是VueJS為主,建議使用VueJS;如果是使用React更多,那就選擇Taro。顯然目前它們還並不完美,但毫無疑問的是,它們各自的開發者社群將在2019年把它們推向新的高峰。
本文原創,著作權歸作者所有。商業轉載請聯絡
thibault(at)lewagon.org
獲得授權,非商業轉載請註明連結及出處。