作者 | 滄海
責編 | Elle
現在小程序開發是越來越火了,除了微信小程序,還有阿里、百度等,都在自己的APP中內置了小程序。而且現在市場上對于小程序的需求也是很多的,跟專門的APP比起來,開發成本低,功能也相近,一般情況而言,可以使用微信官方自己的框架開發,但市面上也有很多定制化的小程序框架,為了方便大家開發的技術選型,特此給大家匯總如下:
小程序開發框架
1.微信官方框架MINA
https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html
小程序開發框架的目標是通過盡可能簡單、高效的方式讓開發者可以在微信中開發具有原生 APP 體驗的服務。
整個小程序框架系統分為兩部分:邏輯層(App Service)和 視圖層(View)。小程序提供了自己的視圖層描述語言 WXML 和 WXSS,以及基于 JavaScript 的邏輯層框架,并在視圖層與邏輯層間提供了數據傳輸和事件系統,讓開發者能夠專注于數據與邏輯。
上手難度:支持數據綁定,需要根據熟悉一下 WXML 和 WXSS語法,只需五分鐘即可上手。
2.微信小程序組件化開發框架WePY
https://wepyjs.github.io/wepy-docs/
騰訊團隊開源的一款類vue語法規范的小程序框架,借鑒了Vue的語法風格和功能特性,支持了Vue的諸多特征,還有很多高級的特征支持:Mixin混合、攔截器等。
使用 Vue Observer 實現數據綁定;
支持 Vue watch/computed/mixin 等特性;
基于原生組件實現組件化開發;
支持 TypeScript。
項目很活躍,目前版本是WePY 2 (alpha)。
3.京東 - 凹凸實驗室Taro
網址:https://taro.aotu.io
Taro 是一套遵循 React 語法規范的 多端開發 解決方案。
現如今市面上端的形態多種多樣,Web、React-Native、微信小程序等各種端大行其道,當業務要求同時在不同的端都要求有所表現的時候,針對不同的端去編寫多套代碼的成本顯然非常高,這時候只編寫一套代碼就能夠適配到多端的能力就顯得極為需要。多端開發支持:
微信小程序
H5
百度小程序
支付寶小程序
快應用
ReactNative
字節跳動小程序
QQ 輕應用
4.美團 MPVUE
地址:http://mpvue.com/
mpvue (github 地址請參見)是一個使用 Vue.js 開發小程序的前端框架??蚣芑?Vue.js 核心, mpvue修改了 Vue.js 的 runtime 和 compiler 實現,使其可以運行在小程序環境中,從而為小程序開發引入了整套 Vue.js 開發體驗。美團酒旅、餐飲、到店、金融等業務接入。mpvue 2.0 開始正式支持 百度智能小程序、頭條小程序 和 支付寶小程序。
從項目活躍度(幾個月未更新)以及網站的制作用心程序來看,不是很推薦使用。如下所示:
5.多端開發利器 uni-app
地址:https://uniapp.dcloud.io
uni-app 是一個使用 Vue.js 開發所有前端應用的框架,開發者編寫一套代碼,可發布到iOS、Android、H5、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平臺。即使不跨端, uni-app同時也是更好的小程序開發框架。
DCloud公司擁有370萬開發者用戶,旗下 uni-app有5萬+案例、900款插件、50+微信/qq群,并且被阿里小程序工具內置(詳見),開發者可以放心選擇。
但公司對開源不怎么熱心,部分插件庫、UI庫收費,如果能加強開源開放,再加強與大廠的合作,相信未來還能更上一層樓。
6.滴滴開源跨平臺統一 MVVM 框架 Chameleon
網址:https://cmljs.org
Chameleon 不僅僅是跨端解決方案,讓開發者高效、低成本開發多端原生應用。基于優秀的前端打包工具Webpack,吸收了業內多年來積累的最有用的工程化設計,提供了前端基礎開發腳手架命令工具,幫助端開發者從開發、聯調、測試、上線等全流程高效的完成業務開發。
框架提供了自己的視圖層描述語言 CML 和 CMSS,以及基于 JavaScript 的邏輯層框架,并在視圖層與邏輯層間提供了數據傳輸和事件系統,讓開發者能夠專注于數據與邏輯。
小程序UI框架
1.基礎樣式庫WeUI
地址:https://weui.io
WeUI 是一套同微信原生視覺體驗一致的基礎樣式庫,由微信官方設計團隊為微信內網頁和微信小程序量身設計,令用戶的使用感知更加統一。對微信的支持是非常完美的,基本你想要的組件這里都能找到。
各框架也都提供了自己的UI組件庫,這里就不一一介紹了。
一些小程序開發工具
1.圖片處理工具Jinaconvert
網址:https://jinaconvert.com/cn/
Jinaconvert可以幫你把圖片處理成各種需要的格式,你只需要在 Jinaconvert 上選擇你需要的格式類型,再將圖片文件上傳至即可。
2.單位轉換工具postcss-px2units
https://github.com/yingye/postcss-px2units
將px單位轉換為rpx單位,或者其他單位的PostCSS插件。postcss-px2units就可以使用簡單的配置,輕松實現轉換。而且該插件可以將px轉換為任意你想轉換的單位,比如rem。
3.騰訊云上傳插件qcloud-upload
https://github.com/yingye/qcloud-upload
基于 nodejs的騰訊云上傳插件,支持自定義文件前綴、覆蓋及非覆蓋上傳方式。
4.二維碼工具weapp.qrcode.js
https://github.com/yingye/weapp-qrcode
weapp.qrcode.js在微信小程序 中,可以快速生成二維碼。可自定義二維碼內容、寬高、糾錯級別。此外,還支持生成不同前后景色的二維碼。
5.小程序圖表charts組件wx-charts
地址:https://github.com/xiaolin3303/wx-charts
基于 canvas 繪制、體積小巧的微信小程序圖表工具。
支持圖表類型:
餅圖 pie
圓環圖 ring
線圖 line
柱狀圖 column
區域圖 area
雷達圖 radar
6.即速應用:適合技術小白的小程序開發工具
官網地址:http://www.jisuapp.cn
可視化操作,直接拖拽組件生成頁面 提供大量可套用的模板 可將代碼打包下載,直接對接到小程序的開發工具,下載下來后的代碼可以任意編輯,復雜的功能仍然需要專業程序員二次開發。
需要注意的是,部分高級功能需定制收費,但真的很合適小白的拖拽式開發。
7.小程序開發、微信公眾號管理系統RhaPHP
網址:https://www.rhaphp.com
RhaPHP微信平臺管理系統,支持多公眾號管理,小程序開發,APP接口開發,平臺獨立且快速簡潔易用。靈活的擴展應用機制,具有容易上手,幾乎融合微信接口,簡單的調用對二次開發與開發擴展應用模塊大大提高開發效率,降低企業商家運營成本。擴展應用模塊化,機制靈活,代碼簡單并快速上手?;赥HINKPHP5強力內核驅動與LAYUI前端框架,支持 Linux/Windows/Mac。我們致力長期更新,永久免費開源!可捐贈,可定制開發(收費)。同樣適合小白。
小程序的云數據庫
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database.html
小程序的云開發提供了一個 JSON 數據庫,顧名思義,數據庫中的每條記錄都是一個 JSON 格式的對象。一個數據庫可以有多個集合(相當于關系型數據中的表),集合可看做一個 JSON 數組,數組中的每個對象就是一條記錄,記錄的格式是 JSON 對象。普通用戶可有5G的免費數據庫使用。關系型數據庫和 JSON 數據庫的概念對應關系如下表:
對于沒有能力部署服務器的小用戶來說,這也是一種選擇。
結論
那說了那么多,到底用哪個呢?
如果不介意嘗鮮和學習 DSL 的話,完全可以嘗試 WePY 2.0 和 chameleon,一個是醞釀了很久的 2.0 全新升級,一個有專門針對多端開發的多態協議。
uni-app 和 Taro 相比起來就更像是「水桶型」框架,從工具、UI 庫,開發體驗、多端支持等各方面來看都沒有明顯的短板。而 mpvue 由于開發一度停滯,現在看來各個方面都不如在小程序端基于它的 uni-app。
當然,Talk is cheap。如果對這個話題有更多興趣的同學可以去 GitHub 另行研究,有空看代碼,沒空看提交:
chameleon: https://github.com/didi/chameleon
mpvue: https://github.com/Meituan-Dianping/mpvue
Taro: https://github.com/NervJS/taro
uni-app: https://github.com/dcloudio/uni-app
WePY: https://github.com/Tencent/wepy
生態對比圖表:
聲明:本文為作者投稿,版權歸作者個人所有。
【End】
本文為企業推廣,本網站不做任何建議,僅提供參考,作為信息展示!
推薦閱讀:諾基亞8100
網友評論
請登錄后進行評論|
0條評論
請文明發言,還可以輸入140字
您的評論已經發表成功,請等候審核
小提示:您要為您發表的言論后果負責,請各位遵守法紀注意語言文明