Android 开发高手课
张绍文
前微信高级工程师,Tinker 负责人
52723 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
导读 (1讲)
模块一 高质量开发 (25讲)
Android 开发高手课
15
15
1.0x
00:00/00:00
登录|注册

41 | 聊聊Flutter,面对层出不穷的新技术该如何跟进?

Flutter的动态化能力理论上只能通过JIT编译模式解决
在Android,Flutter的动态更新能力其实Tinker就已经实现了
在iOS是绝对不可以动态更新的
内置Runtime实现真正的跨平台
重视开发工具链
支持秒级编译更新
支持Tree Shaking无用代码删除
使用AOT编译
选择Dart语言作为开发语言
使用Skia通过GPU做光栅化
内置布局和渲染引擎
在Chromium基础上通过删除大量的代码,抛弃Web的兼容性,发现性能提升
感到浏览器性能沮丧
阿里Flutter开发者帮助App
各大应用的使用总结
万物之中,最美
新技术的学习和引入是一次非常好的重构机会
目前还没有跟进Flutter的核心原因
Flutter的动态更新能力
Flutter选择的是性能和跨平台,牺牲了Web的动态性
实现了在保持性能的前提下的跨平台开发
抛弃了浏览器的历史包袱和Web的兼容性
Flutter是从浏览器引擎简化而来
效率至上
性能至上
为什么要开发Flutter?
Eric Seidel和Flutter早期的开发人员来自Chrome团队
参考资料
“打铁还需自身硬”,坚持修炼内功
Dart语言从2011年启动以来,一直想以高性能为卖点
未来Flutter应用在小程序中也是一个非常有趣的课题
对于Flutter,大家又是怎么看的
对于Flutter,我是怎么看的
Flutter的动态化实践
Flutter的跨平台开发
Flutter的设计原则
Flutter的早期开发者Eric Seidel参加访谈
对于Flutter的学习
总结
面对新技术,该如何选择
Flutter的前世今生
课后作业
聊聊Flutter,面对层出不穷的新技术该如何跟进?
参考文章

该思维导图由 AI 生成,仅供参考

“天下苦秦久矣”,不管是 H5、React Native,还是过去两年火热的小程序,这些跨平台方案在性能和稳定性上总让我们诟病不已。最明显的例子是 React Native 已经发布几年了,却一直还处在 Beta 阶段。
Flutter 作为今年最火热的移动开发新技术,从我们首次看到 Beta 测试版,到 2018 年 12 月的 1.0 正式版,总共才经过了 9 个多月。Flutter 在保持原生性能的前提下实现了跨平台开发,而且更是成为 Google 下一代操作系统 Fuchsia 的 UI 框架,为移动技术的未来发展提供了非常大的想象空间。
高性能、跨平台,而且更是作为 Google 下一个操作系统的重要部分,Flutter 已经有这么多光环加身,那我们是否应该立刻投身这个浪潮之中呢?新的技术、新的框架每一年都在不断涌现,我们又应该如何跟进呢?

Flutter 的前世今生

大部分所谓的“新技术”最终都会被遗忘在历史的长河中,面对新技术,我们首先需要持怀疑态度,在决定是否跟进之前,你需要了解它的方方面面。下面我们就一起来看看 Flutter 的前世今生。
Flutter 的早期开发者 Eric Seidel 曾经参加过一个访谈What is Flutter,在这个访谈中他谈到了当初为什么开发 Flutter,以及 Flutter 的一些设计原则和方向。

确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Flutter作为今年最炙手可热的移动开发新技术,自首次Beta测试版到2018年12月的1.0正式版仅历时9个多月。作为Google下一代操作系统Fuchsia的UI框架,Flutter在保持原生性能的同时实现了跨平台开发,为移动技术的未来发展提供了广阔的想象空间。本文介绍了Flutter的前世今生,包括其内置布局和渲染引擎、使用Dart语言作为开发语言、支持一套代码在多端运行的框架等特点。同时,文章还探讨了Flutter在跨平台开发和动态化实践方面的表现。尽管Flutter在性能和跨平台方面表现优异,但其动态更新能力受限,仅能通过JIT编译模式解决,这会带来性能和代码体积的巨大影响。因此,了解Flutter的优势和局限性,以及持怀疑态度面对新技术是非常重要的。文章还分享了一些对Flutter的看法和实际应用经验,以及对未来Flutter发展的展望。文章最后提出了对读者的课后作业,鼓励读者留言讨论对Flutter的看法和是否准备在应用中跟进。整体而言,本文对Flutter的技术特点和应用前景进行了全面而深入的探讨,为读者提供了全面了解Flutter的机会。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Android 开发高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(13)

  • 最新
  • 精选
  • 张绍文
    置顶
    字节跳动客户端基础技术负责人元硕招聘啦,有兴趣的高手们可以尝试一下, 字节跳动(今日头条)客户端,邮箱: zhuyuanshuo@bytedance.com
    2019-04-12
    22
  • 小小代码
    最近也在学习Flutter,对没有像Android一样,将UI布局写成单独的XML文件,做到UI和逻辑的分离,用的很不爽

    作者回复: Flutter的布局优势在于UI和数据的分离,不需要findView只需要更改数据即可更新界面,这块我觉得比较好,问题就是代码的可读性还是很差的,而且中途要做修改,需要变动的代码很多,而不是像Android那样只需要更改布局文件。

    2019-04-11
    2
    2
  • 明妃
    张老师,从一年前购买您的专栏这么久了第一次评论,现在我有个很大的疑惑,我的目标始终是偏底层,可是现实中我却必须会一个跨平台开发的技术,帮助我更好的适应未来的潮流(因为我底层至今不知道如何入门)。最近我一直在纠结选择flutter还是rn,张老师能给点意见吗?谢谢您

    作者回复: 客户端出身的话 flutter 在各大公司目前推广的还不错,可以先尝试一下

    2019-12-19
    1
  • less
    多说无益.实践至上.跟邵文老师学习到现在.不仅获得了很多实实在在的干货.而且开了很多眼界.继续努力.向邵文老师学习.加油加油送给自己

    作者回复: 加油

    2019-04-14
  • HYM
    说说自己在实践中碰到的几个问题: 1、官方推出的混合开发方案侵入性较强,业内偏爱闲鱼的方案,但是要有hack精神、肯折腾。 2、对iOS的支持真心差,Flutter Engine的初始化和ViewController的创建有冲突,而且还有很多内存泄漏问题 3、图片加载问题比较多,除了文中提到的没有磁盘缓存外,还有就是内存缓存回收不及时导致内存占用很高,在iOS平台上问题尤为严重。 4、很多需要访问底层接口的功能仍然要借助插件来完成,这块会多很多工作量。

    作者回复: 是的,Flutter目前的确还没有非常完善,还需要官方和社区共同努力

    2019-04-11
  • seven
    期待很久的文章!对于要不要学 flutter,多想无益,干就是了

    作者回复: 实践至上

    2019-04-11
  • 飓风
    目前实现了三端Android,iOS,Flutter工程独立,开发Flutter的小伙伴切换为源码依赖,其他小伙伴切换为AAR,Framework依赖。打包脚本把iOS对Flutter的依赖产物放到CDN,脚本会自动扫描依赖的插件,打包业务Bundle到CDN,实现两端的自由开发。
    2020-08-16
    1
    2
  • 程序员小跃
    实践至上。项目组已经开始着手Flutter了,开干就完事
    2019-07-30
    1
  • xx鼠
    我也在做出海应用,考虑接入RN,有什么建议?谢谢
    2023-02-09归属地:北京
  • 文培定
    为啥我用Flutter开发的app,启动速度明显比原生的慢,白屏时间很明显。而且发现gongle在android中另外开发了一套compose UI,在内容上跟Flutter非常近似,感觉是Flutter要被抛弃了?
    2021-05-11
收起评论
显示
设置
留言
13
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部