文章列表

美团到店终端从标准化到数字化的演进之路

彬彬 自强
本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》。前端团队在产研多角色协同形式上存在不同阶段,而大前端多技术栈在各阶段都有其独特的实践,同时又有类似的演进路线。本文从到店终端团队移动端和前端技术栈持续交付演进历程展开,分享了大前端团队研发流程在“标准化”、“线上化”、“自动化”以及“数字化”的演进经验,并探讨了大前端多端DevOps建设思路和未来规划。 阅读全文

美团前端研发框架Rome实践和演进趋势

陈伟 吴婧 永康
本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》,为大家介绍了美团到店前端研发框架Rome实践和演进趋势。具体来讲,本文首先介绍了Rome整体的工程生态、演变路径、规模化升级以及工程框架外的开发辅助工具;第二部分,重点阐述了如何做框架度量和相关的业务实践;最后做整体的总结以及对工程框架的下一阶段的思考。希望能对大家带来一些帮助或启发。 阅读全文

Robust 2.0:支持Android R8的升级版热修复框架

常强
2016年,我们对美团Android热更新方案Robust的技术原理做了详细介绍。近几年,Google 推出了新的代码优化混淆工具R8,Android 热修复补丁制作依赖二次构建包和线上包对比,需要对Proguard切换到R8提前进行适配和改造,本文分享 Robust 在适配 R8 以及优化改进中的一些思路和经验,希望能对大家有所帮助或者启发。 阅读全文

美团高性能终端实时日志系统建设实践

洪坤 徐博 陈成 少星
你是否经常遇到线上需要日志排查问题但迟迟联系不上用户上报日志的情况?或者是否经常陷入由于存储空间不足而导致日志写不进去的囧境?本文介绍了美团是如何从0到1搭建高性能终端实时日志系统,从此彻底解决日志丢失和写满问题的。希望能为大家带来一些帮助和启发。 阅读全文

深入理解函数式编程(上)

俊杰
函数式编程是一种历史悠久的编程范式。作为演算法,它的历史可以追溯到现代计算机诞生之前的λ演算,本文希望带大家快速了解函数式编程的历史、基础技术、重要特性和实践法则。在内容层面,主要使用JavaScript语言来描述函数式编程的特性,并以演算规则、语言特性、范式特性、副作用处理等方面作为切入点,通过大量演示示例来讲解这种编程范式。同时,文末列举比较一些此范式的优缺点,供读者参考。因为文章涵盖一些范畴论知识,可能需要其他参考资料一起辅助阅读。 阅读全文

深入理解函数式编程(下)

俊杰
函数式编程是一种历史悠久的编程范式。作为演算法,它的历史可以追溯到现代计算机诞生之前的λ演算,本文希望带大家快速了解函数式编程的历史、基础技术、重要特性和实践法则。在内容层面,主要使用JavaScript语言来描述函数式编程的特性,并以演算规则、语言特性、范式特性、副作用处理等方面作为切入点,通过大量演示示例来讲解这种编程范式。同时,文末列举比较一些此范式的优缺点,供读者参考。因为文章涵盖一些范畴论知识,可能需要其他参考资料一起辅助阅读。 阅读全文

自动化测试在美团外卖的实践与落地

少飞 闫旭 文文 军帅
随着美团到家业务的发展,系统复杂度也在持续增长。测试用例数量近两年增长约一倍,单端数量超过1万2千条,而研发人员的工作从大部分时间在开发,转变成一半时间在开发、一半时间在模拟环境和自测。因此,引入自动化测试就显得十分有必要,本文介绍了美团外卖在自动化测试方向做的一些探索和实践,希望对从事相关领域工作的同学能够带来一些启发或帮助。 阅读全文

Android对so体积优化的探索与实践

洪凯 常强
减小应用安装包的体积,对提升用户体验和下载转化率都大有益处。本文将结合美团平台的实践经验,分享 so 体积优化的思路、收益,以及工程实践中的注意事项。本文将先从 so 文件格式讲起,结合文件格式分析哪些内容可以优化,然后再具体讲解每项优化手段以及注意事项,最后介绍相关的工程实践经验。希望能对从事包体积优化的同学有所帮助或启发。 阅读全文

知识图谱可视化技术在美团的实践与探索

巍耀
知识图谱可视化可以更直观地查看和分析知识图谱的数据。本文主要介绍了美团平台在布局策略、视觉降噪、交互功能、可视化叙事、3D图谱可视化等方面的一些实践和探索,同时沉淀出了uni-graph图可视化解决方案,并支持了美团的很多业务场景,包括美团大脑、图数据库、智能IT运维、组件依赖分析、行业领域图谱等。希望能对从事知识图谱可视化方向的同学有所帮助或启发。 阅读全文

终端新玩法:技术栈无关的剧本式引导

松涛 尚先 筱斌
App引导是端上做心智建设的重要手段,我们尝试了“剧本式”思维获得了较好效果。在想法落地时,相关研发工作量较大,而且终端技术栈多样化,需要做到“零代码”和“技术栈无关”。最终我们通过“图像匹配”与“标准协议”等核心方案实现了突破。本文将介绍该项目的思考过程,并会对关键技术方案进行剖析和解读,希望能给从事相关开发工作的同学以启发。 阅读全文

从0到1:美团端侧CDN容灾解决方案

魏磊 心澎 陈彤
CDN已经成为互联网重要的基建之一,越来越多的网络服务离不开CDN,它的稳定性也直接影响到业务的可用性。CDN的容灾一直由美团的SRE团队在负责,在端侧鲜有方案和实践。本文结合美团外卖业务中的具体实践,介绍了一种在端侧感知CDN可用性状况并进行自动容灾切换的方案,通过该方案可有效降低业务对CDN异常的敏感,提高业务的可用性,同时降低CDN运维压力。希望本方案能够对被CDN问题所困扰的同学有所帮助或者启发。 阅读全文

FlutterWeb性能优化探索与实践

典胜 海阔 徐亮
美团外卖商家端基于 FlutterWeb 的技术探索已久,目前在多个业务中落地了App、PC、H5的多端复用,有效提升了产研的整体效率。在这过程中,性能问题是我们面临的最大挑战,本文结合实际业务场景进行思考,介绍美团外卖商家端在 FlutterWeb 性能优化上所进行的探索和实践,希望对大家能有所帮助或启发。 阅读全文

美团外卖终端容器无关化研发框架

正浩 宝石 彭震
2019年9月,美团外卖技术团队联合多个研发部门正式推出了React2X,面向所有的前端研发人员,特别是按业务领域划分的团队,为大家提供一个完整的、开放的多终端容器无关化(Containerless)研发框架。研发同学可以通过React2X框架快速创建、开发、构建、部署项目,在人力消耗最小的前提下,以期在不同终端上达到相对最佳的性能体验,并且能大幅降低因容器升级带来的替换和改造成本,让代码同构的复用率最大化。 阅读全文

美团跨端一体化富文本管理技术实践

高瞻 宇立等
在互联网圈,开发和产品经理之间相爱相杀的故事,相信大家都有所耳闻。为了减少产品和前端开发人员之间的矛盾,不断降本提效,美团医药技术部构建了跨端一体化富文本管理平台Page-佩奇。本文系统介绍了该平台的定位、设计思路、实现原理以及取得的成效。希望这些实战经验与总结,能给大家带来一些启发或帮助。 阅读全文

美团民宿跨端复用框架设计与实践

凯林 森伟 熙辰 戈弋 少元
从 PC 时代、移动时代到万物互联的 IoT 时代,伴随终端设备的日趋多样化,跨端复用的种子自此落地,开始生根发芽。从业务角度出发,跨端技术演进更多是在不同阶段、不同时间段内业务效率上的选择,美团民宿业务在大前端融合的浪潮中逐浪前行,不断探索和迭代抉择,为解决业务痛点而孵化出跨端框架技术,在这个过程中,我们进行了很多的探索和实践的思考,希望能给大家一些启发。本文主要分享美团民宿在跨端复用技术探索和业务实践过程中的经验。 阅读全文

设计稿(UI视图)自动生成代码方案的探索

田贝 少宽 腾飞
此前,前端工程师尝试过将业务组件模块化构建成通用视图库,并通过拖拽、拼接等形式搭建业务模块,从而实现视图复用,降低设计稿转代码的研发成本。但随着业务的发展和个性化的驱动,通用视图库无法覆盖所有应用场景,本文提出了一种设计稿自动生成代码的方案。 阅读全文

FlutterWeb在美团外卖的实践

典胜 凌霄 海阔
美团外卖商家端业务围绕数百万商家,在 PC 和 App 上分别提供了交易履约、运营、广告、营销等一系列功能,且经常有外投 H5 的场景(如外卖学院、商家社区、营销活动等)。在这种多形态的业务场景下,如何保障多端体验一致性、如何提升多端迭代效率一直是商家端产研关注的重点。 阅读全文

一款可以让大型iOS工程编译速度提升50%的工具

思琦 旭陶 霜叶
本文介绍了美团平台自研的一款cocoapods插件,该插件可以大幅提升iOS工程代码的编译速度。文章前半部分主要介绍相关的原理,后面阐述了在工程层面的实践,希望能给从事相关开发的同学带来一些帮助或者启发。 阅读全文

从预编译的角度理解Swift与Objective-C及混编机制

思琦 旭陶 霜叶
本文从预编译的基础知识入手,由浅至深的介绍了Objective-C和Swift的工作机制,并通过这些机制来解释混编项目中使用到的技术和各种参数的作用,由此来指导开发者如何进行混编。 阅读全文

让 Flutter 在鸿蒙系统上跑起来

杨超
鸿蒙系统 (HarmonyOS)是华为推出的一款分布式操作系统,那么如何在保证开发迭代效率的前提下,以相对低的成本将移动应用快速移植到鸿蒙平台上呢?美团外卖 MTFlutter 团队近期做了一次技术探索,成功地实现了 Flutter 对于鸿蒙系统的原生支持。 阅读全文