《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

美团梁士兴专访:动态化、小程序、Native、AI 的趋势解读

  • 2019-09-06
  • 本文字数:1705 字

    阅读完需:约 6 分钟

美团梁士兴专访:动态化、小程序、Native、AI的趋势解读

前端是一个比较年轻的领域,有很多可能性,以至于我们现在更多的在谈大前端技术。那么接下来 3 年内,前端技术会存在哪些可能性或者不确定性?


在策划 12 月ArchSummit 全球架构师峰会之初,我去拜访了美团研究员梁士兴老师,他见证了美团点评业务的高速发展,参与了美团大前端架构的演变过程。和他聊了聊他所看到的前端领域变化,以及在出品前端趋势专题的一些想法。


在他印象中,经历过较为深刻的美团前端里程碑式事件有二:一是在 2014 年底 ~ 2015 年的 App 业务解耦,建立了平台-业务的架构模式,消除了业务间的相互影响,实现了多业务的独立发展;其次是从 2018 年到现在在做的业务动态化,实现各业务的独立发布。这些项目都对他的技术积累起到了关键作用。


针对当前发展比较成熟的小程序、Serverless、Native、RN、前端中台、容器化等技术的应用状态,梁老师也作了分析:

移动开发

尽管移动开发领域早已不再是技术热点,但其作为用户侧的核心业务载体事实并没有发生改变。因此对移动侧开发的需求不但没有减少,反而会更多。在此背景下,通过各种方式改进研发效率,成为各大厂商的追求。一方面,使用跨平台、动态化的技术,可以有效的减少研发成本,快速在线试错;另一方面,通过工程化的手段,通过优化架构,实现业务隔离,减少团队间的影响。同时,广泛地沉淀可复用的基础组件和业务组件。

跨平台、动态化

由于跨平台、动态化的开发技术带来价值越来越突出,已经占据了常规开发的大部分空间。但这并不意味着 Native 开发会退出历史舞台。对于更加细分的场景(高性能、强体验),以及新交互(AR、VR、移动 AI)的落地应用,Native 开发仍然扮演着统治者的角色。

小程序

今年的一个技术趋势是将”小程序”技术引入自家 App。小程序技术本身具备优雅的动态化和跨平台特性,其完整的生命周期管理(开发、构建、发布、线上运维等)使其成为优秀的业务载体。将小程序技术引入自家 App 后,可以实现业务的跨 App 复用,从而实现 1 次开发,2(iOS + Android) * N (N 个 App )  + 1(微信)次复用的效果。

工程化

工程化的发展,一方面依赖于对前端架构的系统性规划和建设,另一方也有新技术来推进发展。前端架构演进的典型案例是移动端的业务——平台解耦(主要实践发起于 2014 年前后),现阶段的主要探索是前端中台的建设。新技术同样也能带来工程效率的大幅提升,比如 Serverless,它可以有效降低发布和运维的复杂度,通过自动化的管理方式平衡资源与成本;前面提到的小程序,除了跨平台复用的特性,其对工程架构也有显著的改善,例如业务隔离、解耦、独立生命周期,因而意义重大。


这些可能都是较大团队关注的点,那对于中小型互联网企业,在前端技术选型上,梁士兴建议他们优先考虑动态化、跨平台技术:可以有效降低研发成本,缩短研发周期,使业务诉求能够得到快速验证。

AI、模式识别

AI、模式识别等技术为提升研发、运维效率带来了新的思路,梁士兴说,从研发角度看:类似 UI to code 的产品现阶段已经取得了不错的进展,国内外都有不少案例分享。意味着未来某一天,一些基本的开发工作可能会被越来越智能化的工具所取代。研发人员将聚焦于更复杂的场景而节省大量精力。


从运维角度看:伴随着前端、移动设备的性能提升,这些设备本身已经具备了一定的数据处理能力。由于线上监控和线上问题诊断依赖于数据采集,而海量的数据采集必然导致高昂的数据处理成本。移动 AI 的技术发展为移动端的数据处理提供了更多可能性,典型的场景可能包括智能故障诊断、分析(例如,UI 展示异常、白屏等)、复杂、偶现故障的现场还原。

未来三年会怎样?

最后,在未来 3 年,前端领域的技术会出现怎样的变化?梁士兴说,首先交互方式上可能会出现革命性的进化:新型硬件设备(例如,更实用的可穿戴设备)、更智能的交互方式(例如,语音)、全新的操作界面(脑机接口等);其次是跨平台技术广泛应用:伴随新系统的发展(例,Fuchsia、鸿蒙),跨平台技术(语言、开发框架、开发工具)大幅降低多平台开发的成本。


所以在 12 月北京ArchSummit架构师峰会的前端专题,我们会邀请嘉宾分享前端中台、Serverless、开发标准化、动态化、小程序、Flutter、CI 等,如果您感兴趣,欢迎来传递技术实践。


2019-09-06 08:306424

评论

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

ARTS打卡 第24周

引花眠

微服务 ARTS 打卡计划 springboot

Mybatis【2.1】-- 从读取流到创建SqlSession发生了什么?

秦怀杂货店

数据库 mybatis SQLSession

记一次 Java 服务性能优化

AI乔治

Java 架构 性能优化 高性能

transient关键字的作用以及几个疑问的解决

秦怀杂货店

序列化 反序列化 transient

Mybatis【1】-- 第一个Mybatis程序

秦怀杂货店

mybatis 入门 教程

Java 集合(5)-- Collections源码解析

秦怀杂货店

Java 集合 Collections

架构师训练营第八周作业

四夕晖

一次“诡异”的JVM缓存加载问题排查

AI乔治

Java 缓存 架构 JVM

serialVersionUID作用是什么以及如何生成的?

秦怀杂货店

Java 序列化 serialVersionUID 反序列化

Java反射说得透彻一些

秦怀杂货店

Java 反射 java反射

Java 集合(6.1)-- Collection 和Collections什么关系?

秦怀杂货店

Java collection 集合 Collections

Java 集合(7)-- List 接口源码解析

秦怀杂货店

Java List 源码 集合 java集合使用

免费图床+CDN:GitHub+jsDeliver

jiangling500

GitHub CDN 免费图床 jsDeliver

Mybatis【2】-- 多个mapper文件以及namespace作用

秦怀杂货店

mybatis Mapper namespace

甲方日常 51

句子

工作 随笔杂谈 日常

Java 集合(8)-- ArrayList 源码解析

秦怀杂货店

Java 源码 集合 ArrayList

Mac 安装Homebrew慢的问题解决

秦怀杂货店

Mac homebrew

JDBC【2】-- 工作原理以及简单封装

秦怀杂货店

Java JDBC 工作原理

四周 习题与总结

水浴清风

Java 集合(6)-- Collection源码解析

秦怀杂货店

Java 源码 collection 集合 JAVA集合

常用Git命令速查手册

jiangling500

git

踩了一个java命令行参数顺序的坑

AI乔治

Java 架构 stream

JVM系列-java内存模型(JMM)

诸葛小猿

JMM Java内存模型 共享变量读写

Scala语法特性(二):控制语句及函数方法

正向成长

Scala函数 Scala控制语句

线程池运用不当的一次线上事故

AI乔治

Java 架构 高并发 线程池

你还在使用迭代器删除集合数据,out了,Java 中函数removeIf 不香么

Geek_6f0746

Java JAVA集合 Java迭代器

ARTS打卡 第23周

引花眠

微服务 ARTS 打卡计划 springboot

Java 集合(9)-- Vector超级详细源码解析

秦怀杂货店

Java 源码 集合 ArrayList vector

JDBC【1】-- 初级入门之增删改查

秦怀杂货店

数据库 jbdc crud

大量类加载器创建导致诡异FullGC

AI乔治

Java 架构 JVM GC

JDBC【3】-- SPI技术以及在数据库连接中的使用

秦怀杂货店

数据库 spi

美团梁士兴专访:动态化、小程序、Native、AI的趋势解读_语言 & 开发_Xue Liang_InfoQ精选文章