【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

探秘小米直达服务背后的故事

  • 2017-09-12
  • 本文字数:3611 字

    阅读完需:约 12 分钟

既想像 PC 时代使用 Web 一样体验超流畅,又希望它能承载任何服务还让你感觉不到卡顿和延迟,这样的要求在移动互联网时代实现起来真的很难。在小米 MIUI 系统框架负责人董红光看来,这一判断完全有足够的依据。

从 Web 到 APP:这些体验都不够

在他看来,目前移动端的应用服务分发基本上是两个承载形态,分别是 APP 和 Web。PC 时代绝大部分服务都是浏览器承载,在浏览器中打开搜索引擎、从搜索引擎中搜索关键字、然后跳到服务页面,这个过程中间可能还会链接到第三个服务,但是无论如何跳转,整个过程是非常流畅的,中间没有任何断档,不需要安装软件、也不需要跳出。

但是这样的体验放到移动端就不那么容易实现了。首先,移动端所承载的服务远比 PC 端要复杂得多,比如拍照、定位、蓝牙、传感器,这些功能在网页端没有相应的 API 可供调用,让网页去承载移动端的这些服务,服务势必不完整;

另外一个问题就是卡顿的问题了,移动端 CPU 性能要比 PC 端差,这就会导致计算能力不足,外加移动端有很多复杂的应用、前端写法又过于灵活,加之浏览器背负的历史包袱,导致移动端的 Web 应用很容易造成卡顿、慢、占内存等情况。以既有 APP 又有 H5 的很多应用为例,绝大多数情况下 H5 远远达不到 APP 的体验。

此外还有一个问题,就是网页端没法做留存。今天某个用户看到一个好的服务、或者一个好的网页,如果是 APP 的话很轻松可以把应用保存到桌面图标,但是网页却没有这个技术能力可以实现此功能。

当然或许很多人会说那就用 APP 啦,董红光认为 APP 也有很多问题:想想我们每一个人手机上真正下载、安装的 APP 能有多少?你会轻易下载一个动辄几十兆甚至上百兆的 APP 吗?这几十兆甚至上百兆的 APP 没法像网页一样实现一次性分发,要想使用一个 APP,必须先把这个 APP 完整下载下来。

另外很关键的问题在于, APP 之间很难做跳转,A 应用跳到 B 应用,一般是打开 B 应用的 H5 页面,应用之间的割裂很严重,无法给用户带来顺畅体验;而孤岛问题的另外一个呈现形式,在于无法进行索引服务,在应用间进行搜索目前基本上是无法实现的事情。

小米直达服务:技术催生下的必然而为之

针对以上问题或部分问题,其实多家公司推出了解决方案,比如 Google 的 PWA、Facebook 的 React Native、腾讯的微信小程序,还包括阿里的蚂蚁应用、百度的轻应用,而小米也推出了直达服务。

小米直达服务开发示意图

对于小米直达服务的推出,在小米开发者生态业务负责人李晓璐看来,这是顺应技术趋势所在的必然而为之:PC 时代的应用是软件 + 网页形式;移动互联网上半场是原生应用 +Web 应用形式;移动互联网下半场急需解决原生应用以及 Web 应用的各自短板问题——因此混合框架应运而生。对此小米给其直达服务的定义是:秒开及内容直达。

对此小米比较有信心的地方在于,小米直达服务的核心在于它是一个操作系统,操作系统仍是用户使用手机的第一入口,在入口层贴近用户,用户的体验才会最好。李晓璐透露了一个数据:小米手机上 95% 的应用下载来自小米的应用商店。这说明小米的应用分发已经是绝大部分用户使用小米手机时的习惯。如果说应用商店的下一代有新的服务分发形态,那么操作系统仍然有很大优势去做新的生态的探索和新的生态的培养。

对此董红光也进行了补充:小米希望真正做到类似于当前 PC 浏览器的顺畅体验。具体到直达服务技术本身,就不得不提原生渲染技术了。直达服务实际上是运行在一个由直达服务的核心引擎管理的安卓进程上,使用安卓原生渲染,所以从开放能力、性能、内存、权限控制和管理方面的设计理念等同于原生应用。

除了原生渲染引擎之外,小米直达服务也支持在没有原生渲染条件之下,直接渲染到浏览器。在此基础之上,小米提供了封装的大量常用组件,也提供了很多高级语义标签,相当于原生封装,不需要开发者自己单独开发——Native 版本一份、 Web 版本一份。

此外,小米直达服务还提供了一个桥接模式,把很多 API 暴露给前端,在此基础上提供了蓝牙、传感器等系统功能;另外还暴露了很多服务能力,比如账号、推送、支付等等。在此基础之上,提供一套 JS 开发框架,除标签、接口能力逐渐暴露以外,还提供 APP 开发需要的页面生命周期管理、页面之间路由跳转等功能。整个核心写法是模板 + 数据绑定的写法,也是目前前端比较流行的一种写法,所谓的 MVVM 模式,这套框架相当于提供了 MVVM 框架的实现。这一整套东西就是运行时环境,运行时环境之外,因为要支持多个应用一起跑,要有沙盒的管理,保证应用之间数据、运行层面的安全。

小米直达服务运行时架构图

发力开发者侧:小米要构建更成熟生态

这里依旧呈现一组数据,据李晓璐介绍:小米推送现在做到月活 8.4 亿,也就是说绝大部分推送都是通过小米进行推送的,而且有 3/4 体量来自非小米上,比如 iOS 以及其他安卓机型,开发者也达到 1.5 万家左右。小米推送是小米开发者生态的最直接体现,以上数字说明小米已经拥有相对比较成熟的开发者服务。而小米直达服务,势必在开发者侧发力,构建更为成熟的开发者生态。

对于开发者来说,Native 形态遇到的最大瓶颈就是流量成本获取太高,用户从应用商店下载的 APP,激活率只有 60%。而小米直达服务这样的新型应用形态,使得一个应用不需要下载,点了之后就是激活,对开发者来说等于是 100% 激活率。

另外,小米直达服务还兼容了 H5 形态,传统 H5 可以跳转到直达服务上,把过去 H5 无法承载的滑动流畅度、页面切换、添加到购物车等体验,在直达服务上实现提升。对于原先 H5 开发者来说,可以无缝地将比较弱的 H5 功能转化成类似于 Native 体验的全新服务形态,提升用户转化率。

目前小米直达服务还处于 1.0 版本阶段,邀请开发者进行内测。从目前的反馈来说,开发者提出了很多改进意见。董红光介绍,之前小米直达服务的开发工具相对比较简陋,开发者也提出了一些开发工具层面的需求,这方面小米会进行补足;另外内测毕竟是一个小体量的承载,未来伴随用户的增多,需要在性能优化上下功夫。

小米直达服务平台架构图

对于小米来说,还有一个挑战来自于原生渲染功能,对于开发者来说,相当于在浏览器之外重写一个类似浏览器的东西,为了满足前端开发者的需求,需要在浏览器侧补充几十年沉淀下来功能,这就需要产品的持续迭代。

从内测所呈现的产品稳定性、流畅程度来看,董红光举了一个例子:虽然 APP 的复杂程度不一样,但是平均来看,60 帧是衡量流畅度的重要体现,目前内测上线的应用绝大多数能达到 60 帧。另外从内存占用来看,通过直达服务直接进行原生体验,只需要几十兆甚至十几兆,内存占用就可以启动整个应用。

面向开发这层,小米直达服务会做很多的技术储备,比如“一次开发多端运行”功能,这件事情对于开发者来说会非常有吸引力,一次开发,就可以在安卓端、直达服务平台端、浏览器端、iOS 端都能运行。

做生态而非做产品 机会大挑战更大

如果从公司战略层来看待小米直达服务,可以发现这件事情不仅仅是技术驱动这么简单。小米直达服务做的是生态,既影响小米硬件、互联网、新零售三大业务形态,也影响用户侧、开发者侧、合作伙伴侧整个产业链条。

从公司角度来看,李晓璐表示,小米直达服务牵涉到 MIUI 的下一步,在将内容提供给用户的方式上,如何在操作系统层面进行重构;而且不仅是在既有互联网生态中探索,更能伴随着语音、图片、智能硬件等新场景的发展,探索下一代应用的交互及服务方式。

而作为一个生态,更需要培养生态链条上各方的美誉度、忠诚度,如何让开发者和用户对小米直达服务满意,这并非把产品功能做好就够了。

结束语

这次的采访,是李晓璐和董红光共同接受 InfoQ 的访谈,两个人背后是两个团队在小米直达服务上的协作和配合。李晓璐负责的是生态建设、拓展团队,而董红光负责的是执行引擎和框架开发团队,两个团队加起来有 40 多人,精诚合作、优势互补。这一团队建制也从侧面反映小米直达服务对于小米的重要程度,以及机遇和挑战之大。由小米直达服务,我们看到了小米在生态建设上的野心和决心。

关于受访嘉宾:

李晓璐:小米开发者生态业务负责人

个人介绍:美国医学影像 AI 背景,在开发者生态圈深耕 7 年,擅长操盘生态型业务,热爱“从 0 到 1”。原百度商业产品高级产品经理,曾在百度网盟、原生广告团队完成多个新产品孵化,对互联网商业变现模式理解深刻。在小米 MIUI,和小米推送一起做到月活 8 亿,带领团队孵化出小米直达服务,同时负责小米开放平台、小米卡包等多个生态型业务。

董红光:MIUI 技术总监

毕业于北京航空航天大学计算机专业,曾就职于 IBM 中国开发中心,负责服务器端中间件的研发工作,6 年多前加入小米,初期负责 MIUI 系统换肤能力和主题市场的研发工作,后负责 MIUI 应用开发框架的研发工作,直到现在,目前关注的领域主要是移动客户端和前端的应用开发框架相关技术。

前端之巅

欢迎关注【前端之巅】微信公众号(ID:frontshow),「前端之巅」是 InfoQ 旗下关注前端技术的垂直社群。投稿请发邮件到 editors@cn.infoq.com,注明“前端之巅投稿”。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2017-09-12 04:173128
用户头像
张晓楠 InfoQ总编辑

发布了 144 篇内容, 共 95.1 次阅读, 收获喜欢 378 次。

关注

评论

发布
暂无评论
发现更多内容

mac外接显示屏,下方程序坞跑到外接显示器上,怎么拖回mac里呢?

Rose

Mac

浪潮云蝉联中国云原生安全市场第一位

浪潮云

云安全

Programming Abstractions in C阅读笔记:p196

codists

基于 Letterize.js + Anime.js 实现炫酷文本特效

南城FE

CSS JavaScript 前端开发 动画 文字动画

3D渲染和动画制作:KeyShot 2023 Pro最新注册机

Rose

3D渲染 动画制作 KeyShot Pro破解版 KeyShot Pro 2023下载 KeyShot Pro注册机

CodeWhisperer 使用经验分享

亚马逊云科技 (Amazon Web Services)

人工智能 机器学习 云上探索实验室 Amazon CodeWhisperer

推翻企业ERP管理“三座大山”,华为云耀云服务器L实例言出必行

平平无奇爱好科技

快get2023年跨境电商出海指南,华为云教你把握快速捞金机遇

YG科技

适用于苹果Mac的 5 个最佳 SSH 客户端软件

影影绰绰一往直前

数字化专精特新战略,华为云耀云服务器L实例全面赋能企业

平平无奇爱好科技

Mac电脑批量重命名:A Better Finder Rename 12 免激活

胖墩儿不胖y

Mac软件 重命名工具 文件夹重命名软件

物理机服务器优势

Geek_f19a80

服务器

面向线上的springboot开发框架-Aradin

liudaac

springboot SpringCloud Alibaba spring-cloud java框架 脚手架

Omnifocus Pro 3中文破解下载 附安装教程

影影绰绰一往直前

Navicat Premium 15 for Mac(数据库开发工具)v15.0.36中文激活版

mac

Navicat Premium 苹果mac Windows软件 数据库管理软件

数据恢复软件Disk Drill for Mac 完美激活版下载

影影绰绰一往直前

Mac交互式原型设计Axure RP 10中文授权码

Rose

Axure RP 10 下载 Axure RP 10中文版 Axure RP 10授权

小程序开发还犯迷糊?快戳这份华为云实用技巧效率翻倍

YG科技

如何快速配置一个新的SpringBoot项目

Lahm Chen

Spring Frame

热门PDF编辑和管理软件:Acrobat Pro DC 2022中文直装版 附一键激活补丁

Rose

Acrobat Pro DC 2022 PDF编辑器下载 Acrobat Pro DC 2022破解

推荐15个苹果Mac用户都说好用的应用软件

Rose

Mac软件 苹果电脑 装机必备

MathWorks Matlab R2023b Mac报错 License Manager Error -8

Rose

数学软件 Matlab R2023b破解补丁 Matlab R2023b报错

云上应用技术架构-LNMP应用

深蓝

小程序游戏风口有点“堵”?华为云耀云服务器L实例为企业疏难解困

YG科技

mac电脑OCR文字识别推荐 Cisdem OCRWizard激活最新

mac大玩家j

Mac软件 ocr识别工具

第27期 | GPTSecurity周报

云起无垠

Linux常用命令用法及实现方式

小齐写代码

Serial for Mac激活版下载(全功能串行终端管理软件)

影影绰绰一往直前

Serial下载 Serial破解版

Red Giant Trapcode Suite for Mac(红巨星粒子插件)激活破解版下载

影影绰绰一往直前

挑战与机遇并存,华为云跨境电商新手入局必读指南来了

YG科技

当“996”开发模式都没用了,华为云这款轻量应用服务器才是终极答案

YG科技

探秘小米直达服务背后的故事_语言 & 开发_张晓楠_InfoQ精选文章