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