關(guān)于代理商模板
超值服務(wù)提供卓越產(chǎn)品
8月30日晚,微信小程序又迎來(lái)了新的更新。透過(guò)這次更新,可以看出微信官方要把小程序的開發(fā)工具視為一個(gè)產(chǎn)品了。那些試圖開發(fā)類似工具的,基本上可以省省心了。從這次更新可以看出,微信一方面是降低開發(fā)門檻,另一方面當(dāng)然就是大力扶持第三方。
畢竟,有了金鋼鉆,才能攬瓷器活,是不?
小程序開發(fā)工具
全新的版本號(hào)
前一天,我們使用的小程序開發(fā)工具的版本還是:0.22.202200,當(dāng)下最新版本號(hào)一下子跳到了:1.00.170830。
看來(lái)官方認(rèn)為這是一個(gè)可以見人的版本了,總算可以用「1」打頭了,立起來(lái)了。
雖然本次開發(fā)工具有了比較大的更新,但開發(fā)整體布局還是「左中右」的方式。開發(fā)習(xí)慣也沿襲了之前的方式。
騰訊云集成更多的底層方案
在后端,經(jīng)過(guò)本次升級(jí),小程序開發(fā)工具自動(dòng)集成了自家的騰訊云服務(wù),服務(wù)端使用Node.js的方案。關(guān)于這一點(diǎn),各花入各眼,對(duì)Node.js熟悉的小伙伴可以試一試。
造程序使用的是Java服務(wù)端的開源方案:https://github.com/lihuadong/xiaochengxu4j,感興趣的同學(xué)可以參考,后面會(huì)陸續(xù)把相關(guān)代碼釋放出來(lái)。
使用騰訊云的好處,就是所有的底層方案已經(jīng)幫你集成好了,包括了WebServer、數(shù)據(jù)庫(kù)、文件存儲(chǔ)、負(fù)載均衡、CDN。
云測(cè)試系統(tǒng)可以模擬真機(jī)測(cè)試環(huán)境并生成報(bào)告!
為了方便開發(fā)者檢測(cè)小程序程序缺陷、評(píng)估小程序產(chǎn)品質(zhì)量,這次升級(jí),微信提供了免費(fèi)的云真機(jī)測(cè)試環(huán)境以及一整套測(cè)試方案。
在小程序交付到真實(shí)用戶手中使用之前,你可以將小程序分發(fā)到云平臺(tái)以模擬用戶使用的方式進(jìn)行測(cè)試,執(zhí)行完畢后自動(dòng)生成測(cè)試報(bào)告。
根據(jù)作者親測(cè),報(bào)告的反饋速度非???,上午申請(qǐng),下午就收到了報(bào)告。
圖1 云測(cè)試報(bào)告生成界面
云測(cè)試的內(nèi)容包括:缺陷發(fā)現(xiàn)、性能數(shù)據(jù)分析、機(jī)型覆蓋等。
看到這個(gè)更新,小程序開發(fā)者肯定別提多高興了。要知道,之前使用市面上的測(cè)試解決方案是要費(fèi)不少銀子的,這點(diǎn)上對(duì)微信小程序真的太寵愛(ài)了。
同樣的測(cè)試方案換到別家平臺(tái)都是需要真金白銀的。
小程序管理后臺(tái)
數(shù)據(jù)統(tǒng)計(jì)工具支持「性能指標(biāo)」查詢
之前,小程序提供了數(shù)據(jù)統(tǒng)計(jì)工具,使開發(fā)者可以對(duì)小程序的流量進(jìn)行精細(xì)化的管理。現(xiàn)在數(shù)據(jù)統(tǒng)計(jì)工具還支持對(duì)「性能指標(biāo)」的查詢,開發(fā)者可以查看到小程序接口調(diào)用的性能分析。
舉個(gè)例子,像「玩社群」和「給贊」這樣的爆款小程序,在使用這個(gè)功能之后,就能及時(shí)地發(fā)現(xiàn)接口的響應(yīng)情況,根據(jù)接口的調(diào)用情況再實(shí)時(shí)地調(diào)整后臺(tái)的負(fù)載——添加服務(wù)器或提高數(shù)據(jù)庫(kù)的性能。
當(dāng)然,如果是基于云平臺(tái)的話,只要架構(gòu)合理,就能實(shí)時(shí)的擴(kuò)展后臺(tái)響應(yīng)能力。
小程序運(yùn)行錯(cuò)誤查詢界面
灰度發(fā)布功能上線
這是一個(gè)神奇的新功能?!富叶劝l(fā)布」作為App時(shí)代較為成熟的技術(shù)之一,對(duì)于小程序來(lái)說(shuō)卻是一個(gè)相對(duì)陌生的詞匯。
因?yàn)槲⑿啪薮蟮牧髁炕A(chǔ),很多產(chǎn)品在一夜之間就爆火起來(lái),對(duì)于很多團(tuán)隊(duì)來(lái)說(shuō)都是巨大的考驗(yàn)。功能考慮不周全的,或是服務(wù)端承接不了的,都會(huì)喪失大量用戶。
有了「灰度發(fā)布」功能,開發(fā)者可以給產(chǎn)品一個(gè)修復(fù)的緩沖期。這點(diǎn)上可以說(shuō)是微信把自己的產(chǎn)品經(jīng)驗(yàn)給貢獻(xiàn)出來(lái)了。也就是說(shuō),「灰度發(fā)布」允許開發(fā)者每次上線新功能的時(shí)候,可以根據(jù)用戶比例一點(diǎn)點(diǎn)的釋放,直到15天之后再全量開啟。
作者的團(tuán)隊(duì)最近在開發(fā)的「懶人小程序」,第一個(gè)版本需要全量發(fā)布,后面的迭代版本就可以先給5%的用戶使用。收集到一些反饋意見之后,可以及時(shí)地調(diào)整產(chǎn)品功能或修復(fù)bug,后臺(tái)接口調(diào)用的壓力的情況也能通過(guò)真實(shí)的流量基礎(chǔ)反映出來(lái)。
與這種方式類似的還有一種方式——AB測(cè)試。也是新版本先發(fā)布給一半用戶,通過(guò)觀察可以看到哪種方式的數(shù)據(jù)比較好,然后再定最后的方案。
全新WXS腳本語(yǔ)言
做Web前端的小伙伴可能都比較熟悉像PHP、JSP、ASP.net等擁有前端腳本的語(yǔ)言。對(duì)于一些簡(jiǎn)單的操作來(lái)說(shuō),在前端就可以完成了。
這次微信發(fā)布了WXS腳本語(yǔ)言。WXS(WeiXin Script)是小程序的一套腳本語(yǔ)言,結(jié)合 WXML,可以構(gòu)建出頁(yè)面的結(jié)構(gòu)。之前所有的頁(yè)面數(shù)據(jù)需要綁定之后才能顯示,現(xiàn)在在頁(yè)面上就可以直接定義操作。
比如在頁(yè)面上輸出:hello world。
之前是這樣的:
/**
經(jīng)過(guò)定義、綁定才能在頁(yè)面上顯示,而且代碼都只能寫js文件中。而現(xiàn)在,既可以寫在wxml文件中,還可以寫在單獨(dú)的wxs文件中。
除了數(shù)據(jù)的定義,還能在頁(yè)面中定義函數(shù),進(jìn)行運(yùn)算操作。
來(lái)看看現(xiàn)在的實(shí)現(xiàn)方式:
<wxs module="greeting">var msg = "hello world"; module.exports.message = msg;wxs><view> {{greeting.message}} view>還有一個(gè)大師兄很喜歡的模塊。這樣很多功能就能復(fù)用<wxs module="findMax">var getMax = function(array) { var max = undefined; for (var i = 0; i < array.length; ++i) { max = max === undefined ? array[i] : (max >= array[i] ? max : array[i]); } return max; } module.exports.getMax = getMax;wxs><view> {{findMax.getMax(array)}} view>
從上面代碼可以看出,理論上,編程語(yǔ)言需要涵蓋的內(nèi)容,例如:變量定義、運(yùn)算符、三大結(jié)構(gòu)(順序、選擇、循環(huán))、函數(shù)(模版),以及函數(shù)庫(kù)基本上是引入全套ESS(雖然現(xiàn)在還很弱?。猈XS現(xiàn)在都全了。
最后,本次釋放的大招比較多,作者也還沒(méi)有完全消化,后續(xù)的文章中,再一一給大家說(shuō)明。