一款App基于mPaaS小程序如何进行改造?
這篇故事圍繞著一款 App 基于 mPaaS 小程序進(jìn)行改造娓娓展開。
作為國(guó)內(nèi)校園服務(wù)場(chǎng)景最豐富的平臺(tái),笑聯(lián) App 已覆蓋國(guó)內(nèi) 130 所高校,服務(wù)近百萬(wàn)高校學(xué)生。
截止目前,笑聯(lián) App 內(nèi)的 12 個(gè)業(yè)務(wù)模塊目前已順利實(shí)現(xiàn)小程序化。不僅獲得媲美原生應(yīng)用的用戶體驗(yàn),同時(shí)有效規(guī)避“發(fā)版周期長(zhǎng)”、“無(wú)法快速在線修復(fù) Bug”等弊端,實(shí)現(xiàn)真正的動(dòng)態(tài)發(fā)布與更新能力。
項(xiàng)目背景
開篇先做個(gè)自我介紹,笑聯(lián) App 目前已是國(guó)內(nèi)提供校園服務(wù)場(chǎng)景最豐富的平臺(tái),目前已覆蓋 130 所高校,服務(wù)近百萬(wàn)高校學(xué)生。
因我們提供的服務(wù)類型囊括洗衣機(jī)、熱水器、淋浴等多項(xiàng)功能,業(yè)務(wù)模塊多元化,并且需滿足每所學(xué)校在服務(wù)類型、標(biāo)準(zhǔn)方面的個(gè)性化設(shè)計(jì),笑聯(lián) App 長(zhǎng)期堆疊業(yè)務(wù)模塊,缺乏規(guī)范的模塊化設(shè)計(jì),導(dǎo)致代碼愈發(fā)臃腫,開發(fā)效率低下。
與此同時(shí),隨著業(yè)務(wù)的持續(xù)擴(kuò)張,任一需求的迭代均需要重新發(fā)版審核,很顯然如此繁瑣的發(fā)版工期已無(wú)法滿足高頻更新的業(yè)務(wù)需要。
我們急需在技術(shù)側(cè)找到對(duì)應(yīng)的解決思路,一方面簡(jiǎn)化業(yè)務(wù)模塊之間的耦合,加速日常的開發(fā)速度;另一方面架構(gòu)上需實(shí)現(xiàn)模塊化,找到動(dòng)態(tài)發(fā)布與更新的解決方式。
我們針對(duì)市面上已開放的技術(shù)選型做了調(diào)研,Flutter 和 mPaaS 理論上都可以滿足我們當(dāng)時(shí)的選型要求,但 mPaaS 小程序動(dòng)態(tài)更新的能力跟我們業(yè)務(wù)需求相吻合,避免需要頻繁更新整個(gè) App。
接入過程
回顧 mPaaS 的接入過程,笑聯(lián)作為早期用戶,和 mPaaS 技術(shù)團(tuán)隊(duì)建立了深入合作的革命友誼:一方面對(duì)于 mPaaS 整體的技術(shù)體系有了更全面的了解,另一方面雙方協(xié)作,針對(duì)“產(chǎn)品接入、功能豐富”做了很多改進(jìn)工作。
后續(xù) mPaaS 推出 AAR 原生接入模式后,由 Inside 升級(jí)至 AAR 在早期還需要技術(shù)同學(xué)的協(xié)助支持。
目前,mPaaS 已經(jīng)實(shí)現(xiàn)針對(duì) AAR 接入模式較好的支持:通過 mPaaS IDE 插件,可以簡(jiǎn)單地點(diǎn)擊兩下,便完成小程序能力的接入。而三方 SDK 的沖突,目前配備對(duì)應(yīng)的詳細(xì)文檔說明。
關(guān)于這塊,我們也和 mPaaS 官方團(tuán)隊(duì)做了交流,目前已將「問題定位」和「排查」作為專項(xiàng)重點(diǎn)跟進(jìn)治理,我們期待后續(xù)的產(chǎn)品使用及問題自排查可以得到較大的體驗(yàn)改善。
不過現(xiàn)在,mPaaS 已經(jīng)完美適配了高版本 Gradle,初期接入過程中遇到的問題大部分已經(jīng)迎刃而解。
價(jià)值沉淀
經(jīng)過一段時(shí)間的調(diào)試,最終我們成功實(shí)現(xiàn) mPaaS 的接入。一鼓作氣,現(xiàn)階段 12 個(gè)核心業(yè)務(wù)模塊已全部完成改造,以“小程序”的方式嵌入到 App 中。
引入 mPaaS 小程序,雖過程有坎坷,仍然要多謝 mPaaS 的技術(shù)同學(xué)及時(shí)答復(fù)與支持,最終一個(gè)個(gè)問題都得到了相應(yīng)的解決。
?
但實(shí)際上“mPaaS 小程序”對(duì)我們的價(jià)值遠(yuǎn)不止于此。
首先,借助小程序的開發(fā)標(biāo)準(zhǔn)能夠快速覆蓋?Android/iOS 雙端。小程序的語(yǔ)法并不算難,對(duì)于新手而言上手也很快,作為客戶端同學(xué)目前可以干兩個(gè)人的活(開玩笑)
從研發(fā)效率的提升角度來(lái)看,小程序技術(shù)棧的引入確實(shí)給我們帶來(lái)了很多改善。作為客戶端開發(fā),不用疲于在需求的高頻迭代中,給自己更多的時(shí)間去思考去沉淀客戶端本身的移動(dòng)中臺(tái)能力,利用 mPaaS 小程序提供的自定義擴(kuò)展機(jī)制,反哺給小程序來(lái)使用。
其次,mPaaS 小程序使用了 Web 能力來(lái)進(jìn)行 UI 渲染加 JSCore 處理邏輯。在渲染邏輯上,和純?cè)_發(fā)的頁(yè)面相比還有一點(diǎn)點(diǎn)差距,但換來(lái)的是強(qiáng)大的動(dòng)態(tài)性以及一端開發(fā)雙端適配的研發(fā)效能提升。
另外 mPaaS 提供了獨(dú)立的 UC 內(nèi)核,小程序憑借獨(dú)立內(nèi)核,針對(duì)性的渲染優(yōu)化,其性能相較 HTML5 已做了明顯優(yōu)化。還有即小程序的這套設(shè)計(jì),其實(shí)渲染引擎可以無(wú)感替換,期待未來(lái) mPaaS 可以結(jié)合 Flutter 的繪制引擎,帶來(lái)高性能的小程序方案。
再者,基于小程序開發(fā)標(biāo)準(zhǔn),我們有能力做到豐富笑聯(lián)的生態(tài)。
笑聯(lián) App 中可以嵌入自身業(yè)務(wù)相關(guān)小程序,也可以開放其他第三方小程序接入笑聯(lián)的功能。像笑聯(lián)是面對(duì)高校市場(chǎng),未來(lái)是不是可以結(jié)合 mPaaS 開放接口,將小程序開放能力提供給高校開發(fā)者,讓更多高校開發(fā)者參與進(jìn)來(lái)共建生態(tài)?
接入 mPaaS 至今,笑聯(lián)開發(fā)團(tuán)隊(duì)對(duì) mPaaS 極為肯定:
關(guān)于 mPaaS 小程序:源自于支付寶小程序框架,億級(jí)線上業(yè)務(wù)體量的錘煉。安全性媲美支付寶原生能力,不僅面向自有 App 投放小程序,更可快速構(gòu)建打包覆蓋支付寶、淘寶、釘釘?shù)葢?yīng)用。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的一款App基于mPaaS小程序如何进行改造?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络架构优化--云企业网典型场景分析fo
- 下一篇: 图文存储常识:单机、集中、分布式、云、云