QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

如何快速掌握 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:505891

评论

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

好气啊!为什么我抓不到 baidu 的数据包?

风铃架构日知录

程序员 Java、 java程序员 抓包 数据包

用100W+行代码贡献经验,带你了解如何参与OpenHarmony开源

华为云开发者联盟

开源 后端 华为云 企业号 1 月 PK 榜

常用EMC元器件简介——防护器件

元器件秋姐

电子工程师 元器件科普 EMC防护 硬件知识

更稳定!Apache Doris 1.2.1 Release 版本正式发布|版本通告

SelectDB

数据库 大数据 数据分析 bug 版本发布

App在苹果上架难吗

雪奈椰子

iOS上架 ios审核

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

高频js手写题之实现数组扁平化、深拷贝、总线模式

helloworld1024fd

JavaScript

高性能网关基石——OpenResty

C++后台开发

lua nginx openresty 后端开发 高性能网关

腾讯前端vue面试题合集

bb_xiaxia1998

Vue

SOFARegistry | 聊一聊服务发现的数据一致性

SOFAStack

SOFA SOFARegistry'

工赋开发者社区 | “低代码+MOM”,西门子的MES“进化论”

工赋开发者社区

YMatrix 5.0重磅发布,以性能突破引领万物智联下的数据库最佳形态

YMatrix 超融合数据库

Machine Learning 性能提升 超融合数据库 OLTP 场景实践 YMatrix

Python从0到1丨细说图像增强及运算

华为云开发者联盟

Python 人工智能 华为云 企业号 1 月 PK 榜

阿里云产品专家陶炳哲:Java应用最佳实验

云布道师

阿里云 Java、

前端必会react面试题合集

beifeng1996

React

滴滴前端一面常考手写面试题合集

helloworld1024fd

JavaScript

Flink 容错恢复 2.0 2022 最新进展

Apache Flink

大数据 flink 实时计算

CSV:简单格式下隐藏的那些坑

华为云开发者联盟

后端 华为云 csv 企业号 1 月 PK 榜

软件测试/测试开发 | TestNG 与 Junit 对比,测试框架如何选择?

测试人

软件测试 单元测试 JUnit 测试开发 testNG

React-hooks面试考察知识点汇总

beifeng1996

React

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

前端react面试题(必备)

beifeng1996

React

面试官:请实现Javascript发布-订阅模式

helloworld1024fd

JavaScript

直播预约 | 微服务x容器开源开发者 Meetup 上海站回顾 & PPT下载

阿里巴巴云原生

阿里云 开源 容器 微服务 云原生

可观测产品的最佳实践,涵盖端到端的可观测解决方案丨阿里云用户组深圳站

云布道师

阿里云

3D游戏建模在Maya中加快建模速度的5种技巧

Finovy Cloud

云渲染 建模 maya

滴滴前端一面经典手写面试题

helloworld1024fd

JavaScript

架构模块3作业-外包学生管理系统架构文档

梁山伯

iOS不上架怎么安装

雪奈椰子

iOS上架

安卓app上架流程

雪奈椰子

IOS云打包 ios审核

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