2018 年 9 月 12 日,支付寶小程序正式上線。僅僅過去一年時間,支付寶小程序發(fā)展飛速:月活躍用戶數(shù)突破5億,累計上線 100多萬個小程序,可以說,支付寶小程序是當(dāng)下小程序生態(tài)的重要力量之一。
但在傳統(tǒng)的開發(fā)模式下,小程序開發(fā)者將遇到一個問題:除了前端的開發(fā)外,還需一系列的后端工作,涉及服務(wù)器部署、運維、數(shù)據(jù)庫等后端技術(shù),不僅會耗損開發(fā)者非常多的能力,而且開發(fā)周期冗長。
阿里云小程序Serverless正是為解決這個問題而生。
在 2019 云棲大會上,阿里云智能產(chǎn)品與解決方案管理資深無線開發(fā)專家楊鑌為我們重磅發(fā)布小程序Serverless版本。
小程序云架構(gòu)
在今年3月阿里云峰會上,阿里云正式發(fā)布小程序云,如今已形成五層能力矩陣,助力開發(fā)者和企業(yè)開發(fā)與商業(yè)化自己的小程序:
第一層是云服務(wù)層,由小程序云應(yīng)用和小程序Serverless構(gòu)建。小程序云應(yīng)用定位是面向經(jīng)典的研發(fā)產(chǎn)品場景,提供了基礎(chǔ)的資源編排和資源托管的小程序PaaS服務(wù);小程序Serverless則是面向前端開發(fā)者提供的云后端開發(fā)套件,零服務(wù)器運維節(jié)約開發(fā)維護成本。
第二層是工具層,提供多端小程序開發(fā)者工具,幫助開發(fā)者一次開發(fā),多端運行。
第三層是插件層,小程序云提供支付、地圖、客服等的插件,讓開發(fā)者有更多的插件能力。
第四層是模板層,對于沒有技術(shù)基礎(chǔ)的商家,小程序云提供開放、行業(yè)、場景的模板,可讓商家基于自己的需求定制屬于自己的小程序,快速地進行創(chuàng)新。
最頂層是解決方案層,面向大型企業(yè)將會開放端到端的企業(yè)級多端小程序解決方案,希望能從IT架構(gòu)和運營架構(gòu)上幫助傳統(tǒng)企業(yè)基于小程序快速地進行轉(zhuǎn)型升級。面向中小商家,將會開放多端小程序行業(yè)SaaS的解決方案。
小程序 Serverless 打造全棧式小程序開發(fā)者
作為框架最底座的小程序Serverless,如何讓前端開發(fā)者無需考慮后端實現(xiàn),專注于業(yè)務(wù)開發(fā)呢?這得談到小程序Serverless提供的三大能力:
1、基礎(chǔ)能力:小程序Serverless提供函數(shù)計算、托管服務(wù)、數(shù)據(jù)庫等基礎(chǔ)能力。
2、增值能力:以Serverless的方式開放阿里云垂直場景化的能力,包括音視頻、圖像、短信的多媒體能力;內(nèi)容安全、AI、風(fēng)控的安全能力。
3、業(yè)務(wù)能力:在電商、金融、本地生活、企業(yè)辦公上,提供支付、會員、資金、營銷等服務(wù)。
并且為小程序開發(fā)者提供更多的一站式技術(shù)支持:包括帳戶互通,基于一個帳號打通阿里云的SDK。阿里云小程序Serverless提供包括云函數(shù)、數(shù)據(jù)存儲、文件存儲等一整套后端服務(wù),從而給開發(fā)者構(gòu)建云端一體化的閉環(huán)開發(fā)環(huán)境,讓開發(fā)者更專注于代碼和業(yè)務(wù)本身。
據(jù)介紹,Serverless 包含 BaaS 和 FaaS服務(wù):
1、BaaS:后端即服務(wù)(Backend as a Service),向開發(fā)者提供后端基礎(chǔ)功能,通過API方式進行調(diào)用。例如文件存儲、數(shù)據(jù)庫、消息等。
2、FaaS:函數(shù)即服務(wù)(Function as a Service),允許開發(fā)者直接將程序部署到平臺上,以函數(shù)作為最小單元,通過API方式進行調(diào)用。
告別后端!30 分鐘上手開發(fā)小程序
那么開發(fā)者該如何利用小程序Serverless開發(fā)一款小程序呢?
楊鑌現(xiàn)場講解只需三步(準(zhǔn)備、開發(fā)、發(fā)布),30 分鐘便可開發(fā)一款全新的小程序。
一、準(zhǔn)備
楊鑌以“低碳出行搶紅包”小程序為例,先分析下這小程序的功能需求有:背景圖動態(tài)配置、記錄運動步數(shù)、超過500步的用戶將有機會得到獎勵、兌換紅包獎勵,短信通知、一套代碼可在多端編譯發(fā)布。
在準(zhǔn)備階段,需先完成小程序Serverless的配置初始化。
二、開發(fā)
在小程序前端工程上可完成整個代碼的編寫:
1、利用云數(shù)據(jù)庫和云存儲可完成背景的設(shè)置和加載,便可完成整個小程序的主頁面渲染和動態(tài)背景圖的渲染;
2、通過頁面的APM,可完成運動步數(shù);
3、在開發(fā)紅包功能時,使用云函數(shù)創(chuàng)建一個紅包活動;
4、領(lǐng)紅包功能則由云函數(shù)先編寫領(lǐng)紅包業(yè)務(wù),再從小程序前端進行APM的調(diào)用;
5、最后直接調(diào)用云函數(shù)的API便可調(diào)用短信。
三、發(fā)布小程序
發(fā)布小程序分為服務(wù)端和客戶端:服務(wù)端的發(fā)布主要是通過云函數(shù);而客戶端發(fā)布如果需要同時投放到支付寶和高德的兩個端的話,可基于小程序IDE,用一套代碼便可完成多端上傳。
楊鑌總結(jié)道,這個小程序從需求定稿到研發(fā)上線,開發(fā)者大概花了30分鐘左右便完成了。“整個階段沒有任何服務(wù)器的實體,沒有任何數(shù)據(jù)庫的實體,沒有任何后端運維的動作。”
所以說,小程序Serverless將會給小程序開發(fā)者節(jié)省很多人力物力。
談及未來,小程序Serverless將如何更好地助力開發(fā)者、扶持開發(fā)者呢?
從2019年9月17日到2020年1月1日,小程序Serverless會對全球小程序開發(fā)者提供免費Serverless基礎(chǔ)套餐。
最后再告訴大家一個好消息:
之前在阿里云北京峰會上,阿里云聯(lián)合支付寶、淘寶、高德、釘釘共同發(fā)布阿里巴巴小程序繁星計劃,宣布以20億元的補貼扶持200萬小程序開發(fā)者和100萬商家。
而這次在云棲大會上,阿里巴巴小程序生態(tài)聯(lián)盟宣布正式成立。這代表在未來,小程序通過生態(tài)合作伙伴,更好地為開發(fā)者和商家降低小程序的開發(fā)提供SaaS化和定制化的小程序能力。