首頁>科技>

一次真正意義上的低成本技術架構升級。

專案背景

衡東點貨網是根據物流行業發展趨勢及國家政策引導開發的網路貨運平臺,其主要功能承載“車貨資訊釋出、匹配、運費支付與發放、信用管理等”。

而關於專案的開發人員組成,長期以來僅僅只是“核心開發 2 人 + 實習開發 2 人“的規模,在支撐日常的業務迭代方面力有不逮。同時,結合 2020 年網路貨運平臺政策的調整,點貨網作為網路貨運平臺,我們的移動端 App 內需嵌入監管平臺的 SDK 外掛,從而日常業務運營資料能夠與監管平臺的系統打通,統一管理規範。

難點出現了。

因現有的開發團隊組成主要以 Java 工程師為主,同時能夠對接三方 SDK 的開發僅兩位,開發資源突然捉襟見肘。而在原有的工程中,存在 Uni-App 的選型,在缺少對方技術團隊支援的情況下,要我們現有團隊實現原生 SDK 的接入頗有難度。同時考慮到後續“點貨網 App”自身需具備接入原始 SDK 的能力,因此我們的視角開始轉向了“如何保障專案順利完成聯調測試,並提升自有 App 的健壯性”。

我們開始篩選市面上各類跨平臺的 App 開發技術,在此期間對比了 Uni-App、Weex、Flutter、mPaaS 等跨平臺開發框架。

作為一名 Java 開發,以上各跨平臺開發框架的對比僅作為第一印象。針對各框架的優劣對比沒有展開深度分析,僅適用於大家在現有專案/工程中應對特定需求的技術選型參考。

因個人目前只具備 Java 和 Vue.js 的開發能力,無法在短時間內快速掌握一門全新的開發語音或原生 UI 元件開發的能力,但因業務要求我們務必要徹底提升 App 的健壯性,因此團隊決定將 Uni-App 替換為 mPaaS。

作為一名 Java 開發,對於 Vue.js 的語法還算熟悉,因此我在 2019 年 8 月起開始接觸並測試 mPaaS 的框架能力,尤其是小程式容器的部分,同時在這期間開始了解安卓開發的相關知識。

2020 年 6 月開始,我開始嘗試獨立接入 mPaaS 小程式,針對點貨網 App 進行功能遷移並正式接入監管 SDK 外掛。

由於在正式使用之前,我已了解到 mPaaS 產品的具體特性,也了解到 mPaaS 不同版本之間開發配置存在一定差異,最終我們決定直接基於“mPaaS 小程式 Demo”實現點貨網的基礎功能,並在此基礎上針對功能進行調整,以滿足自身業務特性的需要。期間也有遇到一些小問題,在 mPaaS 研發團隊的支援下得以順利解決。

我們也建議大家,如果是初次接觸 mPaaS,務必要針對官方文件提供的步驟,結合現有的 Demo 進行測試,避免因技術框架相容性導致各類異常錯誤。

最終,得益於 mPaaS 小程式的不斷升級迭代,點貨網 App 的小程式元件接入和更新也變得愈發簡單,技術門檻被極大地降低優化。

回顧第一版點貨網 App 接入 mPaaS 小程式容器的場景,當時我們團隊只有兩位技術開發,另外一位同學還需要兼顧運維和其他開發事項,因此實際上真正開發的只有一個人。

面對這樣的情況,我們只能選擇冒險。但本質上,我們實際上信任的還是 mPaaS 具備原生應用與小程式相容的框架能力,以及 mPaaS 技術團隊的支援響應速度。

我們選擇現有的 App 直接接入 mPaaS 進行開發,為了加快業務的迭代速度,第一版點貨網 App 中我們只包含原有 App 的核心功能和監管 SDK 能力,並同時根據實際業務需求完成迭代。

目前,點貨網 App 基於 mPaaS 小程式,已成功實現從歡迎頁啟動後自動進入小程式,並直接呼叫自定義 API 實現歡迎頁面銷燬和安卓端許可權校驗的功能。預計八月下旬,我們將正式上線,替換原有的 App 為客戶提供服務。

回顧接入 mPaaS 小程式的歷程,我們也受益良多。對於 Java 開發同學而言,我們不再需要專門學習安卓的 UI,用熟悉的 HTML 即可直接進行頁面開發,真正地以較低成本進行技術架構的升級。

而我們的 Web 端與小程式的網路請求全部使用相同的框架,因此 Web 端已開發完成的業務能夠快速地遷移至 mPaaS 小程式中,只需簡單的調整即可滿足 mPaaS 業務邏輯的處理需要,從而避免業務邏輯程式碼重複編寫,保證雙端業務邏輯一致,降低多人協作中業務理解差異導致專案實現不一致的問題。

實現 mPaaS 接入後,只有在原生 SDK 外掛變更時或增加時,我們才需要針對 App 進行更新。像一般小程式的功能調整、變更、升級,均可以實現使用者無感知升級,避免對使用者的打擾,同時也能充分滿足我們業務快速迭代的訴求。

作為一名非專業的 App 開發,我們也由衷希望 mPaaS 能夠推出外掛市場或者平臺,為開發者直接提供如人臉核身、圖片識別、手機號碼校驗等通用基礎 API 服務或者功能。

開發者的訴求實際上很簡單,如果能專注於業務的需求開發,而不是重複地接入通用化的能力,對於個人及業務的成長都具有一定價值。

最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 蘋果、華為終局之戰,Mate 40系列為何根本不著急?