2018 年9 月,小程序·云開發(fā)正式上線,打通了小程序前端與云資源的鏈路,省去運(yùn)維成本,幫助開發(fā)者快速上線和迭代小程序。這也標(biāo)志著Serverless理念開始在國(guó)內(nèi)有了大規(guī)模的應(yīng)用落地。
瘋狂的一年
回望這一年,小程序·云開發(fā)團(tuán)隊(duì)收到最多的反饋就是:“為什么XXX功能還沒上,為什么XXX還不能支持。”不斷涌現(xiàn)的客戶需求推著團(tuán)隊(duì)快速向前。
2019年1月,上線監(jiān)控告警能力,提升產(chǎn)品保障性;
2019年4月,上線云調(diào)用能力,進(jìn)一步降低開發(fā)小程序門檻,提升研發(fā)效率;
2019年5月,新增智能客服解決方案,與即速等服務(wù)商開展合作;
2019年7月,上線預(yù)付費(fèi)能力,正式成為商用產(chǎn)品;
2019年8月,上線實(shí)時(shí)推送能力,切入小游戲引擎市場(chǎng);
2019年9月,上線代金券和新套餐,支持企業(yè)用戶靈活購(gòu)買;
……
伴隨著高頻率的功能上新,小程序·云開發(fā)的技術(shù)逐漸成熟。
云開發(fā)為開發(fā)者提供完整的原生云端支持和微信服務(wù)支持,弱化后端和運(yùn)維概念,無需搭建服務(wù)器,使用平臺(tái)提供的API 進(jìn)行核心業(yè)務(wù)開發(fā),即可實(shí)現(xiàn)快速上線和迭代,同時(shí)這一能力,與開發(fā)者已經(jīng)使用的云服務(wù)相互兼容,并不互斥。
那么,小程序·云開發(fā)如何讓前端開發(fā)者無需考慮后端實(shí)現(xiàn),專注于業(yè)務(wù)開發(fā)呢?這就不得不提到小程序·云開發(fā)提供的兩大能力:基礎(chǔ)能力及騰訊云基于小程序·云開發(fā)輸出的增值能力。
小程序·云開發(fā)的基礎(chǔ)能力是依托微信生態(tài),深度定制高頻云產(chǎn)品組件,提供便捷的、一體化的小程序原生基礎(chǔ)產(chǎn)品能力,目前包括云函數(shù)、云數(shù)據(jù)庫(kù)、云存儲(chǔ)、云調(diào)用等服務(wù)。
l云函數(shù):一段運(yùn)行在云端的代碼,無需管理服務(wù)器,在開發(fā)工具內(nèi)編寫、一鍵上傳部署即可運(yùn)行后端代碼。小程序內(nèi)提供了專門用于云函數(shù)調(diào)用的API。開發(fā)者可以在云函數(shù)內(nèi)獲取到每次調(diào)用的上下文(appid、openid 等),無需維護(hù)復(fù)雜的鑒權(quán)機(jī)制,即可獲取天然可信任的用戶登錄態(tài)(openid)。并在開放了運(yùn)用Node.js 等框架編寫“后端”業(yè)務(wù)邏輯后,直接可以部署在云平臺(tái)下,不需要去考慮域名、服務(wù)器、打包發(fā)布、運(yùn)維等瑣事。
l云數(shù)據(jù)庫(kù):既可以在小程序前端操作,也能在云函數(shù)中讀寫的JSON數(shù)據(jù)庫(kù),不再受限于關(guān)系型數(shù)據(jù)庫(kù)復(fù)雜的操作模式構(gòu)建,數(shù)據(jù)管理上非常簡(jiǎn)潔。最近,小程序云開發(fā)新上線數(shù)據(jù)庫(kù)實(shí)時(shí)推送能力,它可以優(yōu)化升級(jí)諸如聊天、棋牌類游戲、訂單狀態(tài)同步等等很多長(zhǎng)連接、實(shí)時(shí)交互場(chǎng)景下的開發(fā)體驗(yàn),可以說,數(shù)據(jù)庫(kù)實(shí)時(shí)推送能力對(duì)于小程序的功能完善上來說,有非常重要的意義。
l云存儲(chǔ):云開發(fā)提供了一塊文件存儲(chǔ)空間,提供了上傳文件到云端、帶權(quán)限管理的云端下載能力,開發(fā)者可以在小程序端和云函數(shù)端通過API 使用云文件存儲(chǔ)功能。同時(shí)具備默認(rèn)配置域名、無需自建CDN的特點(diǎn)。
l云調(diào)用:打通云函數(shù)來簡(jiǎn)化鑒權(quán),騰訊云和微信兩邊有打通鑒權(quán)的功能,把鑒權(quán)的工作自動(dòng)化。
而騰訊云基于小程序·云開發(fā)輸出的增值能力,核心為打通云開發(fā)與公有云服務(wù)鏈路,提供豐富小程序應(yīng)用場(chǎng)景,并整合圖像識(shí)別、音視頻以及其它騰訊云基礎(chǔ)產(chǎn)品的能力,通過模塊化一鍵部署至云函數(shù),不需要后臺(tái)開發(fā),后續(xù)只需要調(diào)用函數(shù)即可實(shí)現(xiàn)功能。
不僅如此,騰訊云基于小程序·云開發(fā)輸出的增值能力在進(jìn)一步減少小程序開發(fā)技術(shù)需求的同時(shí),以業(yè)務(wù)場(chǎng)景為入口,借助云開發(fā)能力,不斷降低新技術(shù)的使用門檻。其中,開發(fā)者們最為期待的當(dāng)屬AI 與小程序的結(jié)合。
AI場(chǎng)景中落地
當(dāng)下,AI 技術(shù)浪潮正改變我們生活的方方面面,很多開發(fā)者都有過在自己項(xiàng)目中使用AI 技術(shù)的想法。然而由于入門AI的難度比較大,并且上手時(shí)間較長(zhǎng),許多開發(fā)者在小程序研發(fā)籌備期就放棄了。而在近日,小程序·云開發(fā)上線AI 增值服務(wù),通過文檔或者代碼的形式,降低小程序AI 使用門檻,讓開發(fā)者在研發(fā)中輕松調(diào)用AI 服務(wù),滿足不同小程序業(yè)務(wù)場(chǎng)景的個(gè)性化需求。
在要求實(shí)時(shí)性較強(qiáng)的AI場(chǎng)景下,因?yàn)橐蕾噺?qiáng)計(jì)算力,如果將原有的技術(shù)方案直接在小程序本端運(yùn)行,就會(huì)出現(xiàn)一些性能上的問題。那么,針對(duì)此類問題,小程序·云開發(fā)又是如何解決的呢?
首先,團(tuán)隊(duì)會(huì)對(duì)項(xiàng)目進(jìn)行技術(shù)評(píng)估,確保在微信小程序框架下具可行性;其次應(yīng)用測(cè)試中對(duì)性能進(jìn)行評(píng)估,適配不同機(jī)型、不同設(shè)備上的內(nèi)存限制以及CPU限制;最后在代碼層面上通過編譯等手段使用單一數(shù)據(jù)類型,減少運(yùn)行時(shí)類型推斷與隱式轉(zhuǎn)換,加快執(zhí)行效率。同時(shí)采用手動(dòng)控制內(nèi)存的方式,防止內(nèi)存頻繁開辟回收引起的性能與資源問題。
目前,騰訊云基于小程序·云開發(fā)輸出的增值能力已全面開放了增值服務(wù)AI 智能圖像能力,其借助了騰訊云人臉識(shí)別、人臉核身和人臉融合功能,通過云開發(fā)的云函數(shù)和存儲(chǔ),簡(jiǎn)化素材存儲(chǔ)、配置拉取和服務(wù)調(diào)用image-node-sdk 等功能,并為企業(yè)提供定制化的解決方案,滿足不同企業(yè)對(duì)于小程序功能的不同需求。
以“杰尼亞何謂當(dāng)代男士小程序”為例,對(duì)于為奢侈品牌的定制化需求,在以往開發(fā)的過程中,D1M(第一秒)電商科技總會(huì)為每個(gè)品牌搭建獨(dú)立的環(huán)境,部署整套代碼,由于定制開發(fā)居多,相對(duì)而言代碼復(fù)用率不高。如何在小程序開發(fā)的過程中,以敏捷高效的方式實(shí)現(xiàn)具有趣味性的互動(dòng),成為D1M 在開發(fā)該小程序初期所面臨的最大痛點(diǎn)。在此背景下,D1M 借助騰訊云基于小程序·云開發(fā)輸出的“AI 濾鏡”增值服務(wù),為杰尼亞打造小程序,并將繼續(xù)推進(jìn)“人臉融合”功能上線。
應(yīng)用場(chǎng)景一:新品T恤上線明星代言試穿,引導(dǎo)用戶濾鏡自拍并分享
在微信小程序中每張中等質(zhì)量的圖像原始數(shù)據(jù)量都在2M左右,受限于移動(dòng)設(shè)備與運(yùn)行環(huán)境算力和其他資源,如在小程序本地處理即時(shí)對(duì)圖像進(jìn)行計(jì)算處理及渲染,小程序性能及穩(wěn)定性將面臨巨大挑戰(zhàn)。
這時(shí),云開發(fā)首先將獨(dú)有的圖像處理算法移植到小程序平臺(tái),實(shí)現(xiàn)了圖像的本地處理,減少上傳與下載網(wǎng)絡(luò)消耗。再加之云開發(fā)在性能與系統(tǒng)資源管控方面的優(yōu)化,AI 濾鏡增值能力可使小程序在20-30ms內(nèi),完成一張 480P 分辨率的圖象處理和渲染,這也是騰訊云基于小程序·云開發(fā)輸出的極具代表性的增值技術(shù)能力。
本文地址:http://m.cdrpkj.cn//article/2019/1012/10952.html