Flutter 大火的原因
有人说 Flutter 大火主要原因是它选择了 Dart 语言,Dart 有着高性能的表现和可快速分配内存的能力,能同时支持 JIT 和 AOT 模式,允许在带类型的语言中支持形变和有状态热重载,能编译出高效率的 ARM 机器码指令,Dart 作为面向对象的语言也能让绝大多数开发者更快速上手。我认可 Dart 语言有一定的优势,但这样的优势并非 Dart 独有,我想这更不会是大家选择 Flutter 的核心原因,这是因果倒置。事实上,Dart 是 2011 年推出的,在 Flutter 出现之前,Dart 曾一度几乎被人遗忘。正是因为近年来 Flutter 的火爆,才让 Dart 重新进入大众的视线。Flutter 当初选择 Dart,或者仅因为 Google 的 Flutter 和 Dart 这两个团队离得比较近,交流比较方便。
我认为 Flutter 之所以大火,主要是以下几个原因:
一、现有跨平台技术存在缺陷
在移动互联网时代,Android 和 iOS 两大阵营长期共存,再加上体系成熟的 Web 前端技术,导致出现同一个应用需多端重复开发的人力成本问题。正因如此,移动时代下的跨平台技术是一个需要长期研究的课题。如果当下的跨平台技术已经有比较完美的解决方案,可能就没有新技术萌芽的机会。而事实上,目前业界比较成熟的跨平台技术都存在一定的缺陷,比如小程序(WebView)渲染耗时过长,白屏率会影响转化收益,能实现的功能非常受限;再比如 React Native 的性能不足、问题排除难、维护成本高等。而 Flutter 的出现,让这些跨平台开发问题有所改善,它还是 Google 开源的技术,自身也具备一定的热度。另外,一直备受关注且神秘的 Fuchsia 系统在 UI 框架上使用的也是 Flutter,可作为长期战略投入,这也增强了大家对 Flutter 的信心。
二、研发效率就是竞争力
移动互联网进入下半场,出现一些新兴互联网独角兽、小巨头,在没有历史包袱的情况下,更愿意尝试技术上限更高的新技术。从校招和社招的难度上不难发现:客户端的人才相比之前更为稀缺,尤其是 iOS 工程师。而下半场会有更多竞争和更为激烈的赛道,比如教育等方向。Flutter 本身非常适合从零开始的没有历史包袱的应用开发,对于新业务尤其是在团队人力紧缺的情况下,在技术选型上考虑 Flutter,能加快产品在多端落地、快速试错。
三、集漂亮与流畅集于一身
Flutter “一出生”就以“UI 漂亮、像素级可控、性能流畅、可媲美原生性能”等特点吸引广大开发者的眼球,自渲染引擎甚至具备开发游戏的能力。移动下半场,没有人口红利,竞争更为激烈,如何能更好地满足用户对高品质、高流畅的需求,便是移动端一种强有力的竞争力。跨平台技术想要拥有更高的流畅度,采用自渲染技术的方案便是更优解,也是一个更为彻底的跨平台技术方向。
虽然不敢说 Futter 是跨平台开发的终极之选,但是他确实能带来了不一样的未来。
Flutter作为一门新开源的移动UI框架,目前学习的人也不在少数,在设计之初,谷歌的工程师就考虑到了开发者在学习Flutter的成本问题,Dart语言与Flutter的结合,获得泛型、class等强类型语言的特性保证了我们开发的应用安全可控,同时Flutter借鉴了FaceBook成熟开源框架React的单向数据绑定的特性,使我们在开发的过程中可以恰到好处的更新和控制我们的页面。
本来计划整理一份能由浅入深、系统介绍Flutter的学习手册,但最近正好看到一份由微信团队出品的Flutter学习资料,我连夜从床上爬起来,将Fluteer项目撸了个遍,其内分为两个部分《Flutter完整开发实战详解手册》和《Flutter入门与实战》,我这就分享出来给大家,独乐乐不如众乐乐嘛。
《Flutter完整开发实战详解手册》组织结构
这份手册采用由浅入深的方式介绍Flutter技术原理,分为 14 章,总计 193 页,整理目录如下:
⼀、Dart语⾔和Flutter基础
本章节主要涉及:环境搭建、Dart语⾔、Flutter的基础。
⼆、 快速开发实战篇
本章节将为你着重展示:如何搭建⼀个通⽤的Flutter App 常⽤功能脚⼿架,快速开发⼀个完整的 Flutter 应⽤。
三、 打包与填坑篇
本章节将为你着重展示:Flutter开发过程的打包流程、APP包对⽐、细节技巧与问题处理。描述的Flutter的打包、在开发过程中遇到的各类问题与细节。
四、 Redux、主题、国际化
本章节主要介绍 Flutter 中 Redux 的使⽤,并结合Redux 完成实时的主题切换
与多语⾔切换功能。
五、深⼊探索
本章节主要探索下 Flutter 中的⼀些有趣原理,帮助我们更好的去理解和开发
六、 深⼊Widget原理
本章节主要在前⽂的探索下,针对描述⼀下 Widget 中的⼀些有意思的原理。
七、 深⼊布局原理
本章节主要在前⽂的基础上,再深⼊了解 Widget 和布局中的⼀些常识性问题。
需要这份《Flutter完整开发实战详解手册》完整版的朋友可以微信扫描下方二维码免费获取!
《Flutter入门与实战》组织结构:
其内容分为5个章节,总计441页
第一章、Flutter基本功能
第二章、Flutter路由管理
第三章、Flutter网络请求插件Dio
第四章、Flutter状态管理
第五章、Flutter 动画
由于篇幅原因,需要完整文档的可以扫描下方CSDN官方认证二维码即可100%免费获取!
结语
如果您还没有尝试过Flutter,我们认为您会发现它对您的应用程序开发体验而言是一次重大升级。在Flutter中,其提供了一个开放源代码工具包,用于通过单个代码库构建针对移动,台式机,Web和嵌入式设备的美观而快速的应用程序,这些应用程序既可以满足Google的苛刻需求,也可以满足我们客户的需求。