偶然在美团技术团队公众号里看到有这个分享,主讲人是周辉、虞惠文、蒋国宝等人,内容基本上是移动研发专场,遂过来凑个热闹。时间是7月21日13:30~17:30,地点田林路200号华鑫天地

时间表

内容 主讲人
Picasso在大众点评首页的应用 虞惠文@美团Android开发工程师
移动前后端开发解耦 林晨@美团后端技术专家
打造稳定、灵活、高效的运营配置平台 蒋国宝@美团后端技术架构师
移动持续集成实践 何智聪@美团iOS技术专家

前言

13:44,还未开始,全是年轻的脸庞,未见故人。大概故人们不屑于这种程度的技术分享吧,他们就算来,也应该是站在讲台上,而非听众席。

周校长开场词

介绍了一下目前大众点评移动团队的规模和业务内容,base 在上海,100 人。曾经自己也是这个团队的一员,想想竟有些唏嘘。

Picasso 在大众点评首页的应用

痛点

首页改版多是视觉变更,需要快速上线验证,然而传统的开发发布流程太迟滞,难以实时看到效果。例如,首页十个金刚位入口,需要调整其中某一个,更换图标、文字、角标,并且快速验证,倘若走传统的“开发-测试-发布”流程,显然不能满足产品经理“越快看到效果越好”的需求。这是就需要有一个动态化框架,支持实时对这些进行修改。

技术需求

  • 需要一个动态化框架,在运行时决定需要展示的内容。
  • 性能达到 Native 水准

实践

进行设计的时候,没有选择 RN,原因如下

  1. 稳定性差
  2. 技术栈切换成本高
  3. 双端不对齐,某些特性只支持单端

所采取的设计思路是“服务端下发数据(data)和视图规则(layout)”,data 和 layout 会被计算成 PModel,其中包含了该视图被渲染至屏幕上的全部信息。

Picasso构思
Picasso构思

同时采用预计算&缓存,降低绘制时的开销,提高绘制速度。

预计算是指 PModel 包含了该视图所有尺寸信息,在随后渲染过程中的 measure 和 layout 这两步直接取用这些信息,而不需要再次计算。

预计算
预计算

缓存是指缓存了 PModel,而非 Data(需要再次计算 PModel)

缓存
缓存

移动开发前后端解耦实践

主要介绍了点评内部在前后端开发联调测试过程中使用的几个工具,主要是 AppMock(前身是 wendong.dp)、移动之家。的确有了这些工具,对于移动端开发的同学来说是极大的福音,离开点评之后深感如此。

痛点

  • 接口管理困难 ———— 那么多的接口和数据格式,用什么管理呢?Excel文档?Wiki?聊天工具?不一致怎么办,出了锅谁来背?
  • 移动端接口数据黑盒 ———— 想要查看接口数据,只能借助 Charles 这样的代理工具,使用复杂不说,还几乎无法进行定制。
  • 前后端接口数据依赖 ———— 约好联调时间,难免遇到各种情况发生 delay,测得越晚,风险越大。
  • 测试工作量 ———— 生成测试数据不仅累的一批,还毫无成就感。

接口管理困难

  • 接口数据模型化
  • 接口更新可通知
  • 接口多维度管理

通过“移动之家(mobile.dp)”进行接口注册,注册过程中需要明确标明接口数据结构和类型,注册完成之后,会有代码自动生成工具生成对应平台(Web、App、Server)的代码。

自动生成接口代码
自动生成接口代码

前后端交互黑盒

由于网络环境复杂(3G、4G、WIFI),加上数据通常有加密序列化,想要实时查看接口数据信息通常要大费周章。这里介绍了 AppMock 的主要功能和原理,是在 APP 的网络层对请求进行重定向。

AppMock
AppMock

前后端接口和数据依赖

后端同学测试接口:提供 APIReader 工具,可以在网页中组合参数,模拟客户端发送请求,测试后端接口
前端同学测试应用:AppMock 自动 mock response

测试工作量

自动化测试(Appium) + 自动化Mock,Mock 工具可以存储用例,这部分不细讲。

最后是 AppMock 和业内类似工具的对比

对比
对比

打造稳定、灵活、高效的运营配置平台

简单的说就是设计一个“可以设计显示规则”的平台,同时讨论了如何满足测试场景(建立测试用户名单)、如何降低中央节点负载(SDK方案)。

移动持续集成实践

这部分没听,直接跑路去找卫鹏和小凡吃小龙虾去了。

感受

有高兴也有惋惜,高兴的是,自己从2012年加入大众点评,当年那么生涩的自己得到了不少老同事的包容和宽宥,有些人虽然再未见到过,但他们所开发出来的优秀工具却造福了很多同事,能与这些人共事,是我一生的荣幸;同时,分享现场这么多年轻朝气的面孔,表明点评团队依然充满了吸引力和号召力。惋惜的是自己没有在点评的5年里,全力汲取他人的养分,白白辜负了这么好的土壤。

点评只是我毕业后的第一所大学,而社会是第二所。

望各自安好,一别两宽。