小程式容器助力企業小程式開放平臺打造

来源:https://www.cnblogs.com/lydia77/archive/2023/04/06/17293429.html
-Advertisement-
Play Games

基於 Node.js、Express.js 和 MongoDB 通過Mongoose驅動進行 REST API 開發的輕量級樣板。集成了Swagger UI、JWT、session、發送郵箱驗證、日誌管理、統一的預定義狀態碼響應格式等,對於為前端平臺構建純凈的Web API非常有用。 ...


近年來,超級APP逐漸崛起,各大互聯網巨頭紛紛推出小程式開放平臺。在此背景之下,是否需要實現自己的小程式開放平臺?又該如何實現?這些問題困擾著很多公司。作為當前市面上商業化程度最高的小程式容器技術,FinClip 幫助多家大型企業成功構建起小程式開放平臺。以下通過某雲盤APP為例,簡單聊聊小程式開放平臺的技術架構。

行業背景:某雲盤App
用戶體量:千萬級用戶
需求實現:通過構建小程式開放平臺,安全引入第三方服務

小程式開放平臺需要的技術架構會依據具體的業務需求和規模而有所不同。基本的技術架構包括:前端框架、後端服務、資料庫、緩存、容器與編排、監控和日誌、安全性等方面。FinClip 輔助該雲盤打造的⼩程式開放平臺在以下方面具有一些值得分享的經驗。

從前端框架來說,⼩程式平臺前端框架借鑒了主流前端框架 Vue 的設計思路,從⼩程式的應⽤形態,提供了簡潔的編程模型,定義了⼀套組件和 API 接⼝的規範,降低了學習⻔檻,⽅便開發者快速開發⼩程式。

在⼩程式框架內部提供了⼩程式的⽣命周期管理,通過事件的⽅式把⼩程式每個階段都註⼊到⼩程式⾥⾯,開發者可以通過這些事件來處理⼩程式每個階段需要完成的業務邏輯。同時框架內部使⽤了虛擬 DOM 來處理⻚⾯的每次更新,提升了⻚⾯的渲染性能。

前端框架下⾯是⼩程式 Native 引擎,包括了⼩程式容器、渲染引擎和 JavaScript 引擎,這塊主要是把客戶端 Native 的能⼒和前端框架結合起來,給開發者提供系統底層能⼒的接⼝。

在渲染引擎上FinClip ⼩程式不僅提供 JavaScript + WebView 的⽅式,還提供JavaScript + Native 的⽅式,在對性能要求較⾼的場景,可以選擇 Native 的渲染模式,小程式開放平臺為開發者提供更多的研發⽀撐和運維⽀撐服務,可以幫助開發者更有效率的開發⼩程式,也提供IDE、打包工具、數據統計、性能分析等眾多的⼯具幫助開發者管理和運營線上的⼩程式。

從安全性來說,小程式平臺的關鍵優勢在於提供了一個安全可控的環境, 使之可以安心的向外部開發者暴露大量原來不可外露的原生能力。

SDK 為業務代碼提供⼀個封閉的安全沙箱,有效對抗外部代碼的⼲擾和數據泄露⻛險;第三⽅ App 只能通過 SDK 暴露的接⼝啟動 SDK,SDK 完全管控對業務代碼所需要的運⾏環境以及業務代碼所有對外通信,可以通過多種機制保證⽹絡通信不被攔截和⼲擾;SDK 內部使⽤獨⽴的瀏覽器內核,運⾏環境與系統瀏覽器完全隔離。

 

 

監控和日誌方面,小程式開放平臺系統擁有完善的監控系統,包括日誌監控和系統監控,主備從三個機房都將採用同樣的方式部署,能夠有效的檢測服務的健康狀態,用於監控和日誌的伺服器,會被添加相應的標簽加入到k8s集群中,用於運行監控系統和日誌系統。 

總體來說,⼩程式開放平臺的打造過程借鑒了⽬前主流微信⼩程式、⽀付寶⼩程式等互聯⽹成熟的⼩程式技術⽅案,整個平臺主要由 iOS/Android SDK、基礎庫&組件、⼩程式管理後臺、企業端功能以及監控與安全⼯具共同組成。

 

 

通過部署整套小程式技術,該APP實現了自有輕應用集散中心(應用商店)的打造。生態架構搭建完畢後,引入優質第三方合作面臨2個難題:一、如何降低三方合作門檻?二、多邊合作者如何有效融合?

建立技術標準規、統一平臺規範成為必然的選擇。FinClip 幫助平臺建立標準與規範,將多邊參與方融合在一起,共同構建一個既開放又合規可控的小程式生態。

  1. 內部研發:開放平臺提供標準的介面規範及接入流程等。
  2. 內部運營:FinClip 提供完善的後臺管理系統,平臺運營者可以通過管理後臺負責小程式的審核、發佈、數據統計分析等運營管理工作。
  3. 小程式開發者:第三方開發者可在小程式管理中心中完成小程式開發、編譯、上架、發佈、查看數據等操作。

另外,FinClip支持主流小程式語法特性,不僅高度支持wxml 微信小程式運行,同時也支持包括 uniapp、 Taro、kbone 等第三方框架集成的小程式。使得第三方入駐門檻變得極低,當前已有的微信小程式業務功能,無需太多代碼改動,可以直接入駐運行。

通過平臺生態架構的搭建,結合平臺生態運營的需要,平臺可以整合優質第三方小程式,實現小程式應用的平臺建設、合作接入、托管分發、流量互引,並與合作伙伴探索小程式平臺商務模式,進一步解決用戶量和收入的難點。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2017年,美國信用評級機構 Equifax 遭受黑客攻擊,導致1.4億個人的敏感信息泄露; 2020年,發生了 SolarWinds 公司的軟體供應鏈遭受惡意代碼攻擊事件,涉及多個行業和國家; 2022年,網信辦依據《數據安全法》等法律法規,對滴滴公司開出人民幣80.26億元的巨額罰款,對互聯網企 ...
  • Mysql 01 使用CMD連接資料庫 -- 在控制台連接資料庫(需將位置切換到mysql所在地址) mysql -u root -p password:12345 -- 修改mysql賬戶密碼及許可權,安裝配置完後慎用 update mysql.user set authentication_str ...
  • Ubuntu 20.04 安裝ClickHouse集群 引言 因為筆者最近一直想實現一個自己的APM服務端,但是看了很多APM服務端系統沒有使用.Net Core來寫的,都是採用Java或者Go,筆者是寫C#的,但是筆者認為.Net Core的性能在現在對比Go和Java很有優勢,所以筆者才有想法使 ...
  • Android Banner - ViewPager 02 現在來給viewpager實現的banenr加上自動輪播 自動輪播的原理,使用handler的延遲消息來實現。 自動輪播實現如下內容 開始輪播&停止輪播 可配置輪播時長、輪播方向 通過自定義屬性來配置輪播時長,方向 感知生命周期,可見時開始 ...
  • 使用腳手架vue-cli創建vue3項目,創建前需要準備以下: 1、node.js環境 見:https://www.cnblogs.com/beichengshiqiao/p/17251233.html 2、npm、cnpm工具 見:https://www.cnblogs.com/beichengs ...
  • Vue.js 3.0 是 Vue.js 框架的最新版本,於 2020 年 9 月正式發佈。Vue.js 3.0 主要的改進和新特性包括: 更好的性能:Vue.js 3.0 使用了更快的虛擬 DOM 實現,比 Vue.js 2.0 更快。 更小的體積:Vue.js 3.0 的代碼體積比 Vue.js ...
  • 1 <template> 2 <el-form ref="form" :model="form" :rules="rules" label-width="100px"> 3 <div v-for="(input, index) in inputs" :key="index"> 4 <el-form- ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 瞭解 console ● 什麼是 console ? console 其實是 JavaScript 內的一個原生對象 內部存儲的方法大部分都是在瀏覽器控制台輸出一些內容 並且還提供了很多的輔助方法 ● 最常見的 console 我們在開發 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...