Photo by Adeolu Eletu on Unsplash
調查時間爲2019年05月上旬進行css
目前開發小程序可選方案有如下幾種方式:html
原生開發因爲設計問題須要管理大量文件致使開發過程不流暢(如建立一個組件須要新建三份文件編寫代碼);更多的問題是JS新特性不支持、css樣式不支持Less/Sass,也不能靈活運用npm包管理(儘管新版本提供了支持);細說就是上面那些問題,對於平常開發的前端工程師來講倒是須要重視的,這類問題得不到解決,開發及維護成本是高昂的!現代的前端工程師平常開發場景已常常常使用ES6/7的新特性(甚至有些習慣使用TypeScript),而後要讓這些人回頭使用老舊的方法寫代碼,只能說工做成本過高了。結論:不推薦用原生開發,除非你的程序足夠簡單。前端
原生開發的缺點構建式開發都能解決,並且還提供經常使用的語境,更能使前端工程師更快更高效地進行開發工做(基於MVVM框架開發的語境)。下面是一些收集來的開發環境:vue
wepy
一個最受歡迎的小程序框架。基於vue開發風格。mpvue
是一個使用 Vue.js 開發小程序的前端框架。基於vue開發風格。taro
是一套遵循React
語法規範的多端統一開發框架。基於react開發風格mpvue
可能文檔不是那種容易閱讀的類型,沒看下去先棄置;微信團隊開發的wepy
寫的文檔就挺好的較爲易於閱讀,框架把原生開發的多文件結構改成了單文件並提供使用一些JS的新特性(基於Babel),不得不提的缺點是它沒法循環渲染自定義組件(雖然在1.7.2-alpha4
已經支持),還有一點,在wepy
官方的倉庫中找關於循環渲染自定義組件的issues時發現另外一個問題:數據多的時候性能較差的狀況(具體看wepy是否能夠做爲一個正式項目的工具使用? 項目規模起來後如何優化? (issues#1673));而恰好@kdong007在issues中提到taro
解決了wepy
的問題讓我對taro
提起了興趣。雖然不懂reart也考慮嘗試一波;taro
是一套遵循React
語法規範的多端統一開發框架,能一鍵生成能夠在微信小程序/H5/ReactNative等端運行的代碼,還支持TypeScript自家也有taro-ui
UI庫,文檔易讀容易定位問題,多個庫的版本管理也不像wepy
那樣不統一。在v1.3.0-beta-0
以後還支持React Hook
方式編碼,讓我這個React新人也想嚐嚐鮮!react
除了開發環境,UI庫的支持選擇也是很重要的,目前使用較爲普遍的有如下這些:git
weui-wxss
WeUI WXSS是騰訊官方UI組件庫WeUI的小程序版,提供了跟微信界面風格一致的用戶體驗iview-weapp
iView是TalkingData發佈的一款高質量的基於Vue.js組件庫,而iView weapp則是它們的小程序版本vant-weapp
Vant Weapp 是有贊移動端組件庫 Vant 的小程序版本,二者基於相同的視覺規範,提供一致的 API 接口,助力開發者快速搭建小程序應用。minui
基於規範的小程序 UI 組件庫,自定義標籤組件,簡潔、易用、工具化taro-ui
一套基於 Taro 框架開發的多端 UI 組件庫weui-wxss
,iview-weapp
,vant-weapp
和minui
都是基於原生開發的UI組件庫,想用於wepy
環境下能夠參考一波minui
推薦的處理辦法(min-cli文檔 - 結合WePY)。主要是兩點:UI組件庫文件放在小程序項目目錄下;在頁面設置config.usingComponents={'van-button':'../components/vant/button/index'}
來註冊組件。若是你還抱有疑問,能夠圍觀這個issues。至於taro-ui
必須和taro
組合使用,環境相對封閉可是功能無可挑剔,畢竟能生成至weapp/H5/RN。github
結語:睇餸吃飯,兄弟!按本身須要來選擇用什麼方式開發小程序吧!祝各位好運!我就繼續研究一下這個taro
怎樣搞,哈哈XDnpm