Flutter 应用是如何运行起来的?Flutter 开发体验是怎样的?Flutter 框架有哪些新思路来提升开发效率?如何将 Flutter 集成到企业应用中?用一套代码实现在 iOS、Android 平台上体验优良的应用,Flutter 值得我们学习。
这次,我们有幸采访到了美团点评技术专家李会超老师,作为 美团点评最早落地 Flutter 线上大规模应用的实践者和推动者之一,让我们来听听他是如何看待 Flutter 这一框架的技术现状。
以四年的维度来看,商家端的整体架构和基础设施的变化还是很大的。一开始我们更多的专注于业务快速迭代,做了很多基础业务模块抽象、通用控件和持续集成小工具建设。再后来是各业务模块的一系列重构,以提供更好的扩展性、健壮性以及部分动态能力。因为 B 端的业务对实时性、稳定性要求更高,我们还做了很多性能 / 业务指标的统计、监控及改善的工作,并对前后端交互协议做了升级,以满足业务的安全性、实时性。最近一年多我们做了业务模块的拆分下沉,聚拢了面向 B 端的一些工具、平台化建设、业务指标提升及双端复用等等。
其实这个问题前不久 React Native 团队在 Reddit 上简单回答过一次。他们解释,两个方案的目标不同,解决方案也不同。React Native 是利用平台已有的组件和样式,而 Flutter 是从头建起,自己用 GL 绘制。两个都是优秀的跨平台解决方案,我们在企业实践落地时,可以从开发效率、技术栈、性能表现、生态建设、动态化及方案路线图来进行考虑。比如,是解决 Android、iOS 的跨端问题还是包括 PC、Web?业务页面对性能要求是否能满足?公司基建的对接成本?技术栈不一致带来的技能培训成本是否能接受?
当初实践时还算顺利,中间并没有遇到太大的坑。主要是考虑如何将集成的侵入性降低,以减少对其他业务开发同学的影响。落地过程中主要的关键点包括:对接公司的持续集成,以保证自动化的持续迭代。制定开发规范、工程管理方案以及补充基础工具并对接公司现有的基础组件,满足并规范 Flutter 上层业务的开发。还有性能及核心指标监控、灰度策略和混合导航栈开发等。
Flutter 通过多种方式提升开发效率,包括有带状态的热重载,响应式编程,Widget。其中 Everything's a Widget 是一个比较新颖的思路,不同于以往页面布局方式,Flutter 将布局位置、样式、控件统一抽象为 Widget,在写页面逻辑时通过组装方式即可达成,每当应用状态发生变化时,页面直接进行重绘而不是调整 UI 控件的样式,这样就减免 UI 变更部分的逻辑。另外,还有带状态的热重载,这显然能够降低调试难度,非常有利于开发效率提升。除此之外,Flutter 也采用了其他框架的开发方法 - 响应式编程,用户界面根据当前状态来更新页面,这也是提升开发体验的一种重要方法。另外,在 Flutter 2019 年的规划里,还可以看到对 Web(Hummingbrid) 和 Desktop 平台的支持计划,统一整个前端开发技术栈无疑对开发效率的提升是非常显著的,所以这也是我们值得关注的点。
大前端技术迭代迅速,我自己也还在持续的学习中,还不能以一个高的视角来系统、完整的回答这个问题。不过我可以谈谈自己一个简单的思考。技术发展潮流往往是为了解决现实中的问题、痛点。拿大前端来讲,多端开发的成本、效率、质量就是一个痛点。这时候就会有一些解决思路及相应的技术方案,就会获得较大的关注度,当它能够较好的解决(或者部分解决)痛点时,大家就会拥抱这个发展。所以说在实际工作中,比如业务迭代中、技术方案落地中,我们如果能够更加用心体会、思考,就能察觉到一些痛点,进而更积极的去了解针对这个痛点,业界是否有成熟的解决方案或者思路。这时候就实现了自我成长。
李会超,美团点评技术专家。专注于大前端开发领域多年,曾就职于新浪微博,现任美团外卖商家业务 iOS 负责人,致力于提升研发效率与研发质量,为商家提供稳定可靠的生产力工具。在美团的四年时间,推进了商家业务移动端架构升级和基础设施建设,探索并大规模落地了多端复用的多重可行性方案,对 React Native 和 Flutter 拥有深刻的理解及丰富的项目实践经验,是美团点评最早落地 Flutter 线上大规模应用的实践者和推动者。
如果以上的问题还没有能够解答你心中的问题,那么你可以关注在 6 月 22-23 日在北京国际会议中心举办的 GMTC 深度培训,在课程现场,李会超老师会为大家带来《Flutter 技术进阶与实战》,本课程结合具体工程实例讲解,总结了企业应用落地实践过程和经验、应用底层技术,帮助团队快速了解 Flutter 开发核心技能,在低成本前提下实现业务的快速迭代。
Flutter 基本框架及原理讲解
开发调试与热重载
App 集成方案
仓库管理及项目结构组织
页面 / 数据框架使用
企业级落地整体方案
Flutter 未来发展
了解 Flutter 开发框架及基本原理
了解 Flutter 开发调试方法
了解 Flutter 集成方案
了解 Flutter 企业应用落地方案
中小型移动开发团队
需要快速迭代的团队
独立开发者
不仅如此,滴滴司机端 iOS 团队负责人马华、美团点评 Android 技术专家何定旭,也将会分别为大家带来客户端和端内 H5 的性能问题优化、Android 性能优化的深度课程,让你从 0 到 1 系统深入掌握相关热门技术。
目前深度培训 8 折售票火热进行中,团购更优惠,详情咨询售票天使 Amy:18514549229(同微信),点击“阅读原文”了解更多大会详情!
1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。