分享| 小程序开放平台的技术架构实例

近年来,超级APP逐渐崛起,各大互联网巨头纷纷推出小程序开放平台。在此背景之下,是否需要实现自己的小程序开放平台?又该如何实现?这些问题困扰着很多公司。作为当前市面上商业化程度最高的小程序容器技术,FinClip 帮助多家大型企业成功构建起小程序开放平台。以下通过某云盘APP为例,简单聊聊小程序开放平台的技术架构。

行业背景:某云盘App
用户体量:千万级用户
需求实现:通过构建小程序开放平台,安全引入第三方服务

小程序开放平台需要的技术架构会依据具体的业务需求和规模而有所不同。基本的技术架构包括:前端框架、后端服务、数据库、缓存、容器与编排、监控和日志、安全性等方面。FinClip 辅助该云盘打造的⼩程序开放平台在以下方面具有一些值得分享的经验。

从前端框架来说,⼩程序平台前端框架借鉴了主流前端框架 Vue 的设计思路,从⼩程序的应⽤形态,提供了简洁的编程模型,定义了⼀套组件和 API 接⼝的规范,降低了学习⻔槛,⽅便开发者快速开发⼩程序。

在⼩程序框架内部提供了⼩程序的⽣命周期管理,通过事件的⽅式把⼩程序每个阶段都注⼊到⼩程序⾥⾯,开发者可以通过这些事件来处理⼩程序每个阶段需要完成的业务逻辑。同时框架内部使⽤了虚拟 DOM 来处理⻚⾯的每次更新,提升了⻚⾯的渲染性能。

前端框架下⾯是⼩程序 Native 引擎,包括了⼩程序容器、渲染引擎和 JavaScript 引擎,这块主要是把客户端 Native 的能⼒和前端框架结合起来,给开发者提供系统底层能⼒的接⼝。

在渲染引擎上,FinClip ⼩程序不仅提供 JavaScript + WebView 的⽅式,还提供JavaScript + Native 的⽅式,在对性能要求较⾼的场景,可以选择 Native 的渲染模式,小程序开放平台为开发者提供更多的研发⽀撑和运维⽀撑服务,可以帮助开发者更有效率的开发⼩程序,也提供IDE、打包工具、数据统计、性能分析等众多的⼯具帮助开发者管理和运营线上的⼩程序。

分享| 小程序开放平台的技术架构实例_第1张图片

从安全性来说,小程序平台的关键优势在于提供了一个安全可控的环境, 使之可以安心的向外部开发者暴露大量原来不可外露的原生能力。

SDK 为业务代码提供⼀个封闭的安全沙箱,有效对抗外部代码的⼲扰和数据泄露⻛险;第三⽅ App 只能通过 SDK 暴露的接⼝启动 SDK,SDK 完全管控对业务代码所需要的运⾏环境以及业务代码所有对外通信,可以通过多种机制保证⽹络通信不被拦截和⼲扰;SDK 内部使⽤独⽴的浏览器内核,运⾏环境与系统浏览器完全隔离。

分享| 小程序开放平台的技术架构实例_第2张图片

监控和日志方面,小程序开放平台系统拥有完善的监控系统,包括日志监控和系统监控,主备从三个机房都将采用同样的方式部署,能够有效的检测服务的健康状态,用于监控和日志的服务器,会被添加相应的标签加入到k8s集群中,用于运行监控系统和日志系统。 

分享| 小程序开放平台的技术架构实例_第3张图片

总体来说,⼩程序开放平台的打造过程借鉴了⽬前主流微信⼩程序、⽀付宝⼩程序等互联⽹成熟的⼩程序技术⽅案,整个平台主要由 iOS/Android SDK、基础库&组件、⼩程序管理后台、企业端功能以及监控与安全⼯具共同组成。

分享| 小程序开放平台的技术架构实例_第4张图片

通过部署整套小程序技术,该APP实现了自有轻应用集散中心(应用商店)的打造。生态架构搭建完毕后,引入优质第三方合作面临2个难题:一、如何降低三方合作门槛?二、多边合作者如何有效融合?

建立技术标准规、统一平台规范成为必然的选择。FinClip 帮助平台建立标准与规范,将多边参与方融合在一起,共同构建一个既开放又合规可控的小程序生态。

  1. 内部研发:开放平台提供标准的接口规范及接入流程等。
  2. 内部运营:FinClip 提供完善的后台管理系统,平台运营者可以通过管理后台负责小程序的审核、发布、数据统计分析等运营管理工作。
  3. 小程序开发者:第三方开发者可在小程序管理中心中完成小程序开发、编译、上架、发布、查看数据等操作。

另外,FinClip支持主流小程序语法特性,不仅高度支持wxml 微信小程序运行,同时也支持包括 uniapp、 Taro、kbone 等第三方框架集成的小程序。使得第三方入驻门槛变得极低,当前已有的微信小程序业务功能,无需太多代码改动,可以直接入驻运行。

通过平台生态架构的搭建,结合平台生态运营的需要,平台可以整合优质第三方小程序,实现小程序应用的平台建设、合作接入、托管分发、流量互引,并与合作伙伴探索小程序平台商务模式,进一步解决用户量和收入的难点。

你可能感兴趣的:(javascript,开发语言,ecmascript)