上云之后,企业如何降成本?速查《云原生成本管理白皮书》找答案>> 了解详情
写点什么

小米董红光:直达服务如何让框架、平台特性互为补充?

  • 2017 年 11 月 16 日
  • 本文字数:2465 字

    阅读完需:约 8 分钟

最近一段时间,小米直达服务伴随内测以及产品功能的集中曝光,获得了开发者、尤其是前端开发者的关注。而小米 MIUI 系统框架负责人董红光作为小米直达服务的技术负责人,也通过在 InfoQ 的社群分享、视频直播等多种形式,解答了开发者对小米直达服务在技术层面、开发层面的诸多疑问。其中就开发者集中比较关心的小米直达服务框架 + 平台的产品特性,以及小米直达服务所强调的“一次编写、四端运行”等特点,以及一些生态层面的疑问,InfoQ 记者又与董红光进行了一次深入探讨。

在呈现此次探讨结论之前,咱们可以先来回顾一下小米直达服务几个值得关注的要点:

  • 小米给其直达服务的定义是:应用“即点即用”、无需下载,“秒开”立即使用各类应用服务。
  • 小米直达服务使用安卓原生渲染,但是除了原生渲染引擎之外,也支持在没有原生渲染条件之下,直接渲染到浏览器。
  • 小米直达服务的核心在于:它是一个操作系统,操作系统仍是用户使用手机的第一入口。
  • 通常情况下,移动端服务的发现主要有三类,应用商店、搜索、场景化。小米直达服务充分发挥直达服务自身的优势和 MIUI 的优势,深挖搜索和场景化入口。
  • 从开发效率角度看,小米直达服务和前端开发比较接近,采用前端主流的模版 + 数据绑定的 MVVM 模式,非常容易理解和上手。

前端开发者眼中的小米直达服务

InfoQ:在接受此次采访之前,您做客了我们的大咖说直播,也参与了面向前端开发者的社群分享,在与开发者的互动中,您印象最深的他们的提问或者反馈是什么?您对此的感触是什么?

董红光:前端开发者比较关注小米直达服务与微信小程序的异同。说明这个技术趋势还是受到开发者重视的,大家都想找到一个适合自己的开发平台,当然我们之间区别还是挺明显的。

另外,开发者比较关注小米直达服务原生渲染的特点,这直接关系着他们对前端技术层面的一些选择,包括能力问题、学习方法问题、代码写法问题,大家都希望学习成本能够低一些。

此外,开发者也比较关注小米直达服务“秒开”场景对业务的帮助究竟能有多大。

InfoQ:您认为目前前端开发技术的发展呈现出什么样的趋势?对开发者来说,这意味着什么?

董红光:前端开发在过去相当长一段时间内没有那么工程化,需求量是很小的。但是近年来发展非常快,市场上对工程化工具、编译、测试、框架…需求明显,这也使得前端开发技术每一年甚至半年就有一个日新月异的发展,对开发者来说就需要不断学习。

另外,前端开发也从前端浏览器向前端、后端、客户端通吃的方向演进,纵深广、贯穿深。

InfoQ:前端开发技术的发展演进,以及前端开发者群体的成长,将会给小米直达服务构建起的开发者生态带来什么样的影响?

董红光:前端开发技术的发展演进会让更多高质量开发人才涌入,这是一个正向的推进和影响。我们也是在前期做了很多调研的基础上,决定还是用前端语言作为我们直达服务生态的官方语言。

InfoQ:在直达服务的推广上,面对用户侧和开发者侧,小米的推广计划是什么?这其中的挑战是什么?

董红光:开发者侧目前还在内测中,很快就要启动公测了。挑战主要还是在增加更多文档、工具的支持。

对于用户侧来说,挑战在于增加品牌认知,毕竟小米直达服务还是需要通过更多场景化入口的方式来触发用户的使用,我们也在计划拓展服务品类,比如增加资讯类、工具类、生活类的应用。

另外还有一个就是面向开发者、用户这二者的诉求平衡的挑战。开发者希望用户的粘性更高,用户希望不被打扰,我们就需要在二者之间找到平衡点。

框架 + 平台的特性和挑战

InfoQ:如何理解直达服务框架 + 平台的产品特性?对于小米来说,这两个特性的技术路径和推进节奏分别是什么?

董红光:框架的核心是解决效率问题,比如我们的原生渲染特性,比如多端运行特性。在框架层面,开发者自己的前端代码,加上我们的运行时环境,就能当作正常 APP 跑在各个系统上。我们目前支持打包成一个 APK,运行在绝大部分安卓手机上;也支持导出成一个 M 站,通过浏览器渲染运行。

而对于平台来说,可以做到应用的无需安装、即点即用,以及应用之间的无缝跳转,这是框架无法做到的,平台能够承载移动端服务的大部分设想。

目前小米手机可以使用平台功能,虽然在未来这个平台功能可能会覆盖到更多设备,但毕竟不是全部;因此小米直达服务支持独立使用技术框架,也是为了让更多开发者不会被平台挡在门外,他们完全可以自己打包分发,自己开发一些平台不支持的功能。在我看来,框架、平台二者是互为补充、并驾齐驱的。

InfoQ:对于小米直达服务所强调的“一次编写、四端运行”来说,您是否认为这是一次“冒险”?它带给开发者的优势是什么?带给小米的挑战、机会是什么?

董红光:我们必须承认,要抹平不同平台间的差异,是一件很难的事儿。而对于用户来说,他也未必在意这种差异,这就好像他们未必在意 iOS、安卓平台之间的差异一样。所以开发者使用平台专有特性的场景并不多,这让多端运行存在较大的可能性。

所以我们所强调的“多端”,未必是“多端”在任何产品下全都完美运行,应该说我们框架用来抹平 80% 以上的平台差异,如果开发者只使用这些能力,那么就是完美运行,如果使用剩下的 20% 平台的差异,那么需要自行处理平台的差异,我们也提供方法让开发者对框架进行拓展。

InfoQ:对于正在内测中的小米直达服务来说,请您总结一下目前内测中开发者一些共性的反馈?

董红光:这些反馈是可以督促我们前进的,比如前期调试工具太简陋、文档和测试代码都比较少的问题,借助于内测反馈,目前也都得以解决。

InfoQ:您是小米直达服务的负责人,面向开发者层,小米直达服务会做哪些技术储备?还有哪些技术上的“野心”?

董红光:首先是功能方面的深挖,比如在原生渲染上,如何进一步优化安卓端、浏览器端;其次是将 MIUI 系统层的优势打通,能够通过更多应用场景入口触发用户的使用;另外因为开发者对框架的诉求很多,我们也希望让框架更强大、更灵活,对于前端开发框架,未来不排除会直接引入第三方或开放第三方接入的能力。

延伸阅读

2017 年 11 月 16 日 17:30850
用户头像
张晓楠 InfoQ总编辑

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

关注

评论

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

通俗易懂和你聊聊寄存器那些事(精美图文)

cxuan

后端 计算机 汇编

高难度对话读书笔记——表达自我

wo是一棵草

面经手册 · 第13篇《除了JDK、CGLIB,还有3种类代理方式?面试又卡住!》

小傅哥

Java 字节码编程 asm 动态代理 cglib

一个草根的日常杂碎(10月10日)

刘新吾

随笔杂谈 生活记录 社会百态

你不知道的java对象序列化的秘密

程序那些事

Java java序列化 序列化的秘密

为什么学Go(二)

soolaugust

Go 语言

Java-技术专题-Pattern类与Matcher类详解

浩宇天尚

血亏!阿里P8轻易把总结了近一年的java高级特性笔记送人了

996小迁

Java 学习 架构 笔记 Java高级特性

一个草根的日常杂碎(10月11日)

刘新吾

随笔杂谈 生活记录 社会百态

SpringBoot-技术专题-多环境下maven打包

浩宇天尚

优质数据库管理工具盘点,看看这三个软件的区别

CloudQuery社区

数据库 sql 云原生 工具 编辑器

容器技术之发展简史

阿里云基础软件团队

云原生

多种方式实现 LazyMan

局外人

大前端 队列 Promise

路径依赖:穷人很难逆袭突破的科学道理

陆陆通通

程序人生 穷人 逆袭 突破

一个草根的日常杂碎(10月9日)

刘新吾

随笔杂谈 生活记录 社会百态

如何优化多表查询情况下的查询性能问题

迹_Jason

数据库设计 架构设计 查询优化 数据优化

【高并发】面试官:讲讲高并发场景下如何优化加锁方式?

冰河

性能优化 高并发 线程安全 同步 加锁

通过MapReduce降低服务响应时间

万俊峰Kevin

mapreduce Go 语言

Hive UDF/UDAF 总结

windism

Guava-技术专题-Cache用法介绍

浩宇天尚

我们可以把Adapter精简到什么地步

mengxn

RecyclerView BetterAdapter Adapter

华为程序员发现孩子不是自己的,怒提离婚!女方不要孩子!绿他的竟然是个酒吧混混!

程序员生活志

华为 程序员

比MySQL快839倍!揭开分析型数据库JCHDB的神秘面纱

京东科技开发者

数据库 JCHDB

重新学习面向对象设计之开放-封闭原则

IT老兵重开始

面向对象设计 OCP 开闭原则

CloudQuery,数据库管理用它就够了!

CloudQuery社区

数据库 sql 安全 工具软件

第四周总结

_

极客大学架构师训练营 第四周总结

JDK14性能管理工具:jmap和jhat使用介绍

程序那些事

内存泄露 JDK14 jmap jhat

每个数据科学家都应该知道的5个概念

计算机与AI

学习 数据科学

媒介狂想曲

善宝橘

媒介 想象

SpringBoot-技术专题-Caffeine用法

浩宇天尚

spring-boot-route(十六)使用logback生产日志文件

Java旅途

Java Spring Boot logback

小米董红光:直达服务如何让框架、平台特性互为补充?_语言 & 开发_张晓楠_InfoQ精选文章