条条大路通罗马:mPaaS 新增体验入口
近日,移动开发平台 mPaaS 体验入口正式上线「知晓云」官网,用户进入控制台创建应用后,即可体验尝鲜。
前言
支付宝小程序框架的系统介绍(支付宝小程序框架概述、应用层框架、Native SDK)
mPaaS 技术架构与助力(mPaaS 小程序、mPaaS 小程序 IDE、mPaaS MDS)
小程序简介:移动互联网新热点
支付宝小程序框架浅析
基础需求
体验,作为一个“小程序”需要让体验接近原生,而上述像滴滴出行这些普通 HTML5 的体验不太行,包括启动速度、页面切换流畅度都有问题,跟原生体验没法比。
管控,作为一个平台必须对接入的应用有管控能力,必须能尽量精确控制应用的内容和类型,毕竟若出现非法应用平台是要承担责任的,HTML5 的方式太过自由,开发者可以随时改变整个应用的内容,平台难以检测到这些改变,无法管控。另外 HTML5 开发质量参差不齐,平台也无法管控。
小程序代码,这是小程序开发者使用小程序 DSL 及各种组件开发的小程序。
小程序组件及 API,这是小程序的组件及 API 层,提供了小程序所需的各种组件和小程序 API。小程序开发者只需要在基于这一层提供的组件及API进行小程序的开发。
小程序应用层框架,这是小程序运行的框架层,它基于 React 实现了小程序的运行框架。该层主要包含小程序的逻辑处理引擎及渲染层。
Native SDK,该层提供了小程序所需的 Native 能力,通过 JavaScriptCore 为小程序的 JS 层框架提供大量的Native API,此外该层还提供了小程序包管理、后台保活等能力等基础能力。
React 和 React Native,这一层是小程序底层运行环境,分别对应于 Web 和 Native 环境,使得小程序可运行在 WebView 和 iOS/Android 上。
系统层,即 Web 内核、iOS 和 Android,是系统级的平台层。
应用层框架
Worker 运行小程序的逻辑处理代码,包括事件处理,API 调用以及框架的生命周期管理。Worker 只有一个,方便 app 数据在页面间的共享和交互。
Render 运行小程序的渲染代码,主要包括模版、样式和框架的跨终端的 js 组件或 Native 组件,获取逻辑层的数据操作渲染引擎(React/ReactNative)进行渲染,Render 在小程序中可以有多个。
Worker 和所有的 Render 都建立连接,将需要渲染的数据传递给对应的 Render 进行渲染,worker 也会将 api 调用转给 Native SDK 处理。
Render 则将组件的触发事件送到对应的 Worker 处理,同时接受 worker 的调用进行重新渲染。render 可以看作一个无状态的渲染终端,小程序的状态都保留在 Worker 内。
Native SDK
Native api,小程序调用的api中有部分功能需要在native中实现,这部分api通过桥接调用进入对应的native api。
包管理,负责小程序包的下载、存储、加载。小程序包的下载具有多种策略,可以满足小程序的预下载、强制更新等需求。
后台保活,小程序在后台可以存活5分钟,使得用户在下次打开时可以获得更好的体验。
现在让我们回到前面提到的两个小程序的基本需求,体验和管控。我们看下框架是如何实现这两个需求的。对于体验需求,主要有以下几点:
框架对小程序做了逻辑处理和视图渲染的分离以提升渲染性能
对于较重的组件(地图)使用 Native 实现以提升性能
小程序公共资源预置在小程序框架以提升加载性能
后台保活机制提高二次启动速度
小程序开发只能使用框架提供的自定义的模板样式
JS 代码运行在与 Webview 隔离的 JS 引擎中,无法操作浏览器 DOM
支付宝小程序与 mPaaS
mPaaS 小程序
mPaaS 小程序 IDE
mPaaS MDS
小程序技术的一个基础的能力,就是小程序发布系统。mPaaS 小程序的发布服务是由 mPaaS 的移动发布系统(MDS)提供的。MDS 提供多种发布策略,能够在正式发布之进行多种类型的灰度。MDS 提供增量差分包更新能力,可减少更新包的体积,在移动端网络不稳定场景中发挥优势。
mPaaS MDS 控制台
- - - - - - END - - - - - -
关于知晓云:cloud.minapp.com
知晓云是专注于小程序开发的后端云服务。
通过 Baas、FaaS 组合为小程序开发者提供最低门槛的Serverless 无服务架构接入体验,它免去了小程序开发中服务器搭建、域名备案、数据接口实现等流程,致力于让开发者更专注于业务逻辑的实现。
以上是 条条大路通罗马:mPaaS 新增体验入口 的全部内容, 来源链接: utcz.com/a/30881.html