一 業(yè)務(wù)背景介紹
?很多企業(yè)的業(yè)務(wù)都需要通過服務(wù)預(yù)約來完成藻丢,比如酒店馍佑、美容问慎、家政等等。
但很多商家因缺少合適的服務(wù)預(yù)訂工具挤茄,而不知道如何讓客戶盡快預(yù)約如叼。
這種情況下,制作一個(gè)自己的預(yù)約小程序穷劈,客戶只需要掃碼或者在微信里搜索你的小程序名字笼恰,就能通過小程序來快速預(yù)約服務(wù)。
二? 前端技術(shù)方案選型
原生:對(duì)性能特別苛刻 or 追求穩(wěn)定 or 要用最新功能翎碑,請(qǐng)記住任何時(shí)刻原生都是最穩(wěn)定性能最好的選擇D鹫āA蹬摹R该睢!
KBone:kbone 是一個(gè)致力于微信小程序和 Web 端同構(gòu)的解決方案唁桩,微信小程序的底層模型和 Web 端不同捏肢,我們想直接把 Web 端的代碼挪到小程序環(huán)境內(nèi)執(zhí)行是不可能的一睁。kbone 的誕生就是為了解決這個(gè)問題育八,它實(shí)現(xiàn)了一個(gè)適配器儒喊,在適配層里模擬出了瀏覽器環(huán)境,讓 Web 端的代碼可以不做什么改動(dòng)便可運(yùn)行在小程序里渴频。
MPVue:是美團(tuán)點(diǎn)評(píng)開源的一個(gè)使用 Vue.js 開發(fā)小程序的前端框架逛万∏好浚框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 實(shí)現(xiàn),使其可以運(yùn)行在小程序環(huán)境中,從而為小程序開發(fā)引入了整套 Vue.js 開發(fā)體驗(yàn)。
WePY:騰訊團(tuán)隊(duì)開源的一款類vue語法規(guī)范的小程序框架,借鑒了Vue的語法風(fēng)格和功能特性,支持了Vue的諸多特征妄呕,比如父子組件舅巷、組件之間的通信羔味、computed屬性計(jì)算、wathcer監(jiān)聽器钠右、props傳值赋元、slot槽分發(fā),還有很多高級(jí)的特征支持:Mixin混合飒房、攔截器等;
Taro:京東凹凸實(shí)驗(yàn)室開源的一款使用 React.js 開發(fā)微信小程序的前端框架搁凸。它采用與 React 一致的組件化思想,組件生命周期與 React 保持一致狠毯,同時(shí)支持使用 JSX 語法护糖,讓代碼具有更豐富的表現(xiàn)力,使用?Taro?進(jìn)行開發(fā)可以獲得和 React 一致的開發(fā)體驗(yàn)嚼松。,同時(shí)因?yàn)槭褂昧藃eact的原因所以除了能編譯h5, 小程序外還可以編譯為ReactNative;
Uni-app:使用 Vue.js 開發(fā)小程序嫡良、H5、App的統(tǒng)一前端框架惜颇。開發(fā)者使用 Vue 語法編寫代碼皆刺,uni-app 框架將其編譯到 小程序(微信/支付寶/百度/字節(jié)跳動(dòng)/QQ/釘釘)、App(iOS/Android)凌摄、H5等多個(gè)平臺(tái)羡蛾,保證其正確運(yùn)行并達(dá)到優(yōu)秀體驗(yàn)。
Chameleon:滴滴跨端解決方案锨亏。不是很了解痴怨,歡迎大家補(bǔ)充
選擇結(jié)論:預(yù)約小程序功能點(diǎn)不多(前臺(tái)大概20個(gè)左右功能點(diǎn)忙干,后臺(tái)大概50個(gè)功能點(diǎn)),沒有復(fù)雜的業(yè)務(wù)關(guān)系浪藻,且沒有跨端的需求捐迫,要求是簡單高效,這里的簡單高效既是開發(fā)的簡單高效爱葵,也是管理發(fā)布的簡單高效施戴,
所以選擇了原生框架作為前端方案,當(dāng)然萌丈,小程序在非吃藁快速的更新迭代,就算是原生框架也還是有一些坑的辆雾。
三? 前端UI技術(shù)方案選型
原生:基于WXML肪笋,WXSS,組件度迂,模板構(gòu)建藤乙,基本也就是寫view的彈性布局啦!2涯埂坛梁!
WeUI:騰訊官方UI組件庫WeUI的小程序版,提供了跟微信界面風(fēng)格一致的用戶體驗(yàn)诅妹,感覺比較死板罚勾,中庸毅人,沒有視覺沖擊力
ColorUI:一個(gè)Css類的UI組件庫吭狡!不是一個(gè)Js框架。相比于同類小程序組件庫丈莺,ColorUI更注重于視覺交互划煮!其組件在美觀性方面比較突出。
iView WeApp:? TalkingData發(fā)布的一款高質(zhì)量的基于Vue.js組件庫缔俄,而iView weapp則是它們的小程序版本
ZanUI WeApp:是有贊移動(dòng) Web UI 規(guī)范ZanUI的小程序?qū)崿F(xiàn)版本弛秋,結(jié)合了微信的視覺規(guī)范,為用戶提供更加統(tǒng)一的使用感受
MinUI:蘑菇街前端開發(fā)團(tuán)隊(duì)開發(fā)的基于微信小程序自定義組件特性開發(fā)而成的一套簡潔俐载、易用蟹略、高效的組件庫,適用場景廣遏佣,覆蓋小程序原生框架挖炬,各種小程序組件主流框架等,并且提供了專門的命令行工具状婶。
選擇結(jié)論:WeUI過于平庸意敛,和微信原生組件差不多馅巷,而iView,ZanUI, MinUI學(xué)習(xí)曲線較高草姻,所以選擇了原生+ColorUI作為UI框架
四 后端框架技術(shù)方案選型
ThinkPHP(PHP):國人最引以為自豪的PHP框架钓猬,大概從200X年就開始流行,繁衍了N個(gè)版本撩独,因?yàn)槠渥陨戆说讓蛹軜?gòu)敞曹、兼容處理、基類庫综膀、數(shù)據(jù)庫訪問層异雁、模板引擎、緩存機(jī)制僧须、插件機(jī)制纲刀、角色認(rèn)證、表單處理等常用的組件担平,并且對(duì)于跨版本示绊、跨平臺(tái)和跨數(shù)據(jù)庫移植都比較方便。
Laravel(PHP): 號(hào)稱宇宙中最簡潔暂论、最優(yōu)雅的PHP Web開發(fā)框架面褐。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP取胎,而且每行代碼都可以簡潔展哭、富于表達(dá)力。
.NET Core WebAPI:微軟為了通吃Linux/Win平臺(tái)的得意之作闻蛀,長期以來C#+SQLServer組合只活躍于企業(yè)級(jí)應(yīng)用匪傍,或者古董應(yīng)用中,無法飛入尋常百姓家(程序員家)觉痛,為此推出了了.NET Core, 目標(biāo)是跨平臺(tái)
Java SpringBoot:設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程役衡。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置
小程序云開發(fā):云開發(fā)為開發(fā)者提供完整的原生云端支持和微信服務(wù)支持薪棒,弱化后端和運(yùn)維概念手蝎,無需搭建服務(wù)器,使用平臺(tái)提供的 API 進(jìn)行核心業(yè)務(wù)開發(fā)俐芯,即可實(shí)現(xiàn)快速上線和迭代棵介,同時(shí)這一能力,同開發(fā)者已經(jīng)使用的云服務(wù)相互兼容吧史,并不互斥邮辽。
選擇結(jié)論:小程序云開發(fā)可以提供前后端的免鑒權(quán)用戶身份獲取,同時(shí)可以直接提供云函數(shù)調(diào)用,也提供了IO存儲(chǔ)空間逆巍,Json數(shù)據(jù)庫及塘,同時(shí)還可以和公眾號(hào)數(shù)據(jù)互通,且避免繁瑣的認(rèn)證授權(quán)锐极,所以Selected IT
五? 數(shù)據(jù)庫方案選型
MySQL:移動(dòng)互聯(lián)網(wǎng)創(chuàng)業(yè)大軍的首選笙僚,免費(fèi),高效灵再,適中
PostgreSQL:是一種特性非常齊全的自由軟件的對(duì)象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)肋层,是以加州大學(xué)計(jì)算機(jī)系開發(fā)的POSTGRES,4.2版本為基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫管理系統(tǒng)翎迁。
小程序Json數(shù)據(jù)庫:與小程序云開發(fā)緊密結(jié)合栋猖,而且基礎(chǔ)版是免費(fèi)的,當(dāng)然選擇她巴衾啤F牙!痴腌!
六 綜合結(jié)論
小程序原生+ColorUI+云函數(shù)+云開發(fā)+Json數(shù)據(jù)庫
不管選用那種框架雌团,對(duì)微信小程序的基礎(chǔ)知識(shí),基礎(chǔ)概念還是要花時(shí)間去學(xué)習(xí)的(看官方文檔或者微信小程序全面實(shí)戰(zhàn)士聪,架構(gòu)設(shè)計(jì) && 躲坑攻略)锦援,因?yàn)楹芏鄦栴},采用原生的去解決更好剥悟,組件也是灵寺。