2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

如何快速掌握 Flutter 开发核心技能?

  • 2019-04-17
  • 本文字数:2453 字

    阅读完需:约 8 分钟

如何快速掌握Flutter开发核心技能?

Flutter 应用是如何运行起来的?Flutter 开发体验是怎样的?Flutter 框架有哪些新思路来提升开发效率?如何将 Flutter 集成到企业应用中?用一套代码实现在 iOS、Android 平台上体验优良的应用,Flutter 值得我们学习。


这次,我们有幸采访到了美团点评技术专家李会超老师,作为 美团点评最早落地 Flutter 线上大规模应用的实践者和推动者之一,让我们来听听他是如何看待 Flutter 这一框架的技术现状。


1、你在美团的 4 年时间里,推进了商家业务移动端架构升级和基础设施建设,能否介绍一下具体工作内容,其中运用了哪些关键技术?


以四年的维度来看,商家端的整体架构和基础设施的变化还是很大的。一开始我们更多的专注于业务快速迭代,做了很多基础业务模块抽象、通用控件和持续集成小工具建设。再后来是各业务模块的一系列重构,以提供更好的扩展性、健壮性以及部分动态能力。因为 B 端的业务对实时性、稳定性要求更高,我们还做了很多性能/业务指标的统计、监控及改善的工作,并对前后端交互协议做了升级,以满足业务的安全性、实时性。最近一年多我们做了业务模块的拆分下沉,聚拢了面向 B 端的一些工具、平台化建设、业务指标提升及双端复用等等。


 2、您对 React Native 和 Flutter 拥有深刻的理解及丰富的项目实践经验,您对这两个跨端开发方案有什么看法,哪个更好?如何选择适合公司产品的工具?应从哪些方面考虑?


其实这个问题前不久 React Native 团队在 Reddit 上简单回答过一次。他们解释,两个方案的目标不同,解决方案也不同。React Native 是利用平台已有的组件和样式,而 Flutter 是从头建起,自己用 GL 绘制。两个都是优秀的跨平台解决方案,我们在企业实践落地时,可以从开发效率、技术栈、性能表现、生态建设、动态化及方案路线图来进行考虑。比如,是解决 Android、iOS 的跨端问题还是包括 PC、Web?业务页面对性能要求是否能满足?公司基建的对接成本?技术栈不一致带来的技能培训成本是否能接受?


 3、作为美团点评最早落地 Flutter 线上大规模应用的实践者和推动者,中间经历了哪些坑?技术落地的关键点是什么?请举例说明。


当初实践时还算顺利,中间并没有遇到太大的坑。主要是考虑如何将集成的侵入性降低,以减少对其他业务开发同学的影响。落地过程中主要的关键点包括:对接公司的持续集成,以保证自动化的持续迭代。制定开发规范、工程管理方案以及补充基础工具并对接公司现有的基础组件,满足并规范 Flutter 上层业务的开发。还有性能及核心指标监控、灰度策略和混合导航栈开发等。


 4、你认为 Flutter 框架有哪些新思路来提升开发效率?其中,最值得关注的点是什么?为什么?


Flutter 通过多种方式提升开发效率,包括有带状态的热重载,响应式编程,Widget。其中 Everything’s a Widget 是一个比较新颖的思路,不同于以往页面布局方式,Flutter 将布局位置、样式、控件统一抽象为 Widget,在写页面逻辑时通过组装方式即可达成,每当应用状态发生变化时,页面直接进行重绘而不是调整 UI 控件的样式,这样就减免 UI 变更部分的逻辑。另外,还有带状态的热重载,这显然能够降低调试难度,非常有利于开发效率提升。除此之外,Flutter 也采用了其他框架的开发方法-响应式编程,用户界面根据当前状态来更新页面,这也是提升开发体验的一种重要方法。另外,在Flutter 2019年的规划里,还可以看到对 Web(Hummingbrid)和 Desktop 平台的支持计划,统一整个前端开发技术栈无疑对开发效率的提升是非常显著的,所以这也是我们值得关注的点。


 5、最后,大前端技术发展日新月异,前端工程师除了要有编程能力和架构知识,还需要培养哪些能力,才能跟上技术发展潮流,不断进行自我成长?


大前端技术迭代迅速,我自己也还在持续的学习中,还不能以一个高的视角来系统、完整的回答这个问题。不过我可以谈谈自己一个简单的思考。技术发展潮流往往是为了解决现实中的问题、痛点。拿大前端来讲,多端开发的成本、效率、质量就是一个痛点。这时候就会有一些解决思路及相应的技术方案,就会获得较大的关注度,当它能够较好的解决(或者部分解决)痛点时,大家就会拥抱这个发展。所以说在实际工作中,比如业务迭代中、技术方案落地中,我们如果能够更加用心体会、思考,就能察觉到一些痛点,进而更积极的去了解针对这个痛点,业界是否有成熟的解决方案或者思路。这时候就实现了自我成长。


嘉宾介绍:


李会超,美团点评技术专家。专注于大前端开发领域多年,曾就职于新浪微博,现任美团外卖商家业务 iOS 负责人,致力于提升研发效率与研发质量,为商家提供稳定可靠的生产力工具。在美团的四年时间,推进了商家业务移动端架构升级和基础设施建设,探索并大规模落地了多端复用的多重可行性方案,对 React Native 和 Flutter 拥有深刻的理解及丰富的项目实践经验,是美团点评最早落地 Flutter 线上大规模应用的实践者和推动者。


如果以上的问题还没有能够解答你心中的问题,那么你可以关注在 6 月 22-23 日在北京国际会议中心举办的 GMTC 深度培训,在课程现场,李会超老师会为大家带来Flutter 技术进阶与实战》,本课程结合具体工程实例讲解,总结了企业应用落地实践过程和经验、应用底层技术,帮助团队快速了解 Flutter 开发核心技能,在低成本前提下实现业务的快速迭代。


一、课程大纲


  1. Flutter 基本框架及原理讲解

  2. 开发调试与热重载

  3. App 集成方案

  4. 仓库管理及项目结构组织

  5. 页面/数据框架使用

  6. 企业级落地整体方案

  7. Flutter 未来发展


二、听众收益


  1. 了解 Flutter 开发框架及基本原理

  2. 了解 Flutter 开发调试方法

  3. 了解 Flutter 集成方案

  4. 了解 Flutter 企业应用落地方案


三、目标听众


  1. 中小型移动开发团队

  2. 需要快速迭代的团队

  3. 独立开发者


不仅如此,滴滴司机端iOS团队负责人马华美团点评 Android技术专家何定旭也将会分别为大家带来客户端和端内 H5 的性能问题优化、Android 性能优化的深度课程,让你从 0 到 1 系统深入掌握相关热门技术。


目前深度培训8折售票倒计时进行中,团购更优惠,详情咨询售票天使 Amy:18514549229


(同微信),点击“这里”了解更多大会详情!


2019-04-17 07:506198

评论

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

ARTS 打卡第二周(200518-200524)

老胡爱分享

ARTS 打卡计划

ARTS 打卡第四周(200601-200607)

老胡爱分享

ARTS 打卡计划

马方业:区块链就是新未来 区块链就是新财富

CECBC

区块链 新未来 新财富

ARTS挑战打卡第六周(200615-200621)

老胡爱分享

ARTS 打卡计划

用科学的方法理解每日优鲜

石云升

新零售 每日优鲜 多快好省 科学分析

ARTS挑战打卡第八周(200629-200705)

老胡爱分享

ARTS 打卡计划

ARTS 挑战打卡第九周(200706-200712)

老胡爱分享

ARTS 打卡计划

Linux系统监控工具推荐

wangkx

监控 工具软件

MySQL如何快速插入数据

Simon

MySQL 数据库

一文讲透布隆过滤器

架构精进之路

布隆过滤器

程序员不愿996,创建6个涉黄平台,涉案5000余万元!

程序员生活志

程序员

小米的护城河

石云升

小米 护城河

非IT行业大企程序员讲述MIS系统开发案例

Philips

Java 企业信息化 .net core 计算机程序设计艺术 企业开发

企业信息化到底重不重要?

代码制造者

低代码 零代码 信息化 编程开发 运营管理

朱嘉明 算力革命背后是分配制度革命 没有算力就没有未来

CECBC

区块链 数字货币 数字经济

从雕像到肖像画,这位设计师用 GAN 和 PS 复原了他眼中的古罗马皇帝「群像」

程序员生活志

JeecgBoot手记

卧石漾溪

Truncate用法详解

Simon

MySQL

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Learun

工作流 开发工具 计算机程序设计艺术 表单

交易所合约跟单开发方,数字资产合约跟单系统搭建

13530558032

Redis追命连环问,你能回答到第几问?(上)Redis简介,数据类型及缓存雪崩缓存击穿缓存穿透

大柚子

Java redis 缓存 面试 后端

ARTS 挑战打卡第七周(200622-200628)

老胡爱分享

ARTS 打卡计划

定时任务最简单的3种实现方法(超实用)

王磊

Java 定时任务

深圳区块链支付系统开发,USDT支付系统服务商

13530558032

高频面试题——你真的搞懂物理内存与虚拟内存了吗

大柚子

操作系统 内存管理 虚拟内存 物理内存

ARTS 打卡第三周(200525-200531)

老胡爱分享

ARTS 打卡计划

ARTS挑战打卡第五周(200608-200614)

老胡爱分享

ARTS 打卡计划

区块链交易所系统开发内容,数字货币交易所搭建

13530558032

一个人的精益

escray

学习 面试

巧用SQL拼接语句

Simon

MySQL sql

教你用SQL实现统计排名

Simon

MySQL

如何快速掌握Flutter开发核心技能?_大前端_李会超_InfoQ精选文章