Flutter Interact 2019在双12的凌晨结束了,6个多小时的大会,每一分钟都让一个开发者感到惊艳。
Flutter这一年的发展极其迅速,不仅成为GitHub年度最受欢迎项目,就连只有Flutter使用的Dart语言,在世界开发语言排行榜上也一举获得了500%的增长,成为年度增长率最高的开发语言。
国际惯例,先对本次大会进行下吹捧。
对于一门开发技术来说,Toolchain的完善程度是衡量这门技术是否好用的重要标准,Flutter的Toolchain一直在不断完善,这次新增的Dart DevTools工具,让开发更加方便,它内含 widget 检查器以及内存与CPU性能分析工具,而且优化后的日志功能在所有编辑器和IDE中都能流畅运行。类似Android中的Profiler和Layout Inspector,但个人感觉比Android的这些工具更加好用。
DartPad是一个Web端的Dart模拟工具,可以在网页上输入Dart代码并展示运行结果,这次更新后,DartPad已经可以支持Flutter了,甚至可以直接在DartPad上进行Flutter开发和效果预览。
这是一个非常神奇的功能,这个功能有点类似C#的图形化界面开发加上Flutter的Hot Reload功能,在IDE的预览界面中,可以直接对UI进行修改,同时同步到设备上。
Layout Explorer是Dart DevTools中的一个工具,这个工具更像是一个代码诊断者,可以给你代码中问题的原因和解决方案,同时,在Layout Explorer中修改后,可以直接同步代码和界面。
作为一款跨平台开发框架,Flutter一直积极的向Android和iOS的最新功能靠拢,新版本的Flutter这次同样是Framework级别支持了iOS的Dark Theme,省去了开发者对颜色的适配工作。
另外,Cupertino Widget库也一直在更新,逐渐加入更多的iOS设计风格组件,让设计、开发能够更加灵活。
原生应用于Flutter混合开发,一直是原生开发者比较头疼的一个问题,主要在于混合栈的管理问题,这次Flutter的更新也重点优化了Add to App的功能,让原生开发可以更加方便的使用Flutter Module,不过这一点我还没验证过,不知道是否还存在之前的一些混编的问题。
同时,作为Flutter的开发语言Dart,这次也迎来了一次非常大的更新,其中有一点就是实现了拓展方法,与Kotlin的拓展函数基本类似,这无疑是一个非常重要的更新,让Dart在成为一门非常现代化的语言之路上又近了一步。
相信这张图已经可以完美解释什么叫真·跨平台了,不仅如此,Flutter还可以多设备同时调试,一套代码,多个终端,目前为止,Web端已经进入Beta阶段,MacOS也进入了Alpha阶段,相信很快大家就可以体验到了。
另外,Flutter还提到了一个实验性技术,可以根据设备直接选择合适的UI进行展示,例如下面的例子,不同的设备上展示的UI不同,且能自适应相应的布局,不过这个技术还在早期阶段,后续的发展还不得而知。
这是一个社区工具,Supernova简单的说,就是设计师可以根据设计来将设计稿直接转化为Flutter Code,具体还没使用过。
Rive就是那个发布Flare的公司,这次又放大招了,准备统一Flutter动画界,甚至已经兼容Lottie,而且在动画中,直接支持了投影、内阴影、光晕、模糊和遮罩这些曾经让开发者闻风丧胆的设计元素。
Adobe XD和Supernova类似,也是通过设计稿生成Flutter代码,听上去就是一件很玄幻的事情,但是它确实做到了,只不过不是像大家想象的那样,它是通过导入设计稿后,选择相应的图层模块,右键选择生成的Widget来进行转换的。
上面写的这些,只是这次大会的冰山一角,用文字真的很难描述这些技术,希望大家能去看看回顾视频,虽然时间很长,但相信大家看完一定会觉得非常有价值。
https://www.youtube.com/watch?v=9OeMqgrY5J8&t=655s
软件开发没有银弹,只有钢弹 —— me
跨平台一直是一个很乌托邦的东西,大家一边在追求着统一,一边也在追求平台差异性,那么怎么才能在这种矛盾中获得统一呢,不同的跨平台方案给出了不同的选择,但基本上都以失败告终,而Flutter的出发点,很完美的解决了这个问题——UI跨平台框架,从一开始,Flutter的起点就是很正确的,我只做UI跨平台,借助Skia,很轻易的打通了各平台直接的隔阂,不得不说,实战是高明之举。
我从17年开始关注Flutter,从18年开始投入大量的业余时间关注Flutter,见证了Flutter的不断成长,特别是19年,可以称之为Flutter元年,这一年的飞速发展,让Flutter已经逐渐开始获得更多人的关注。
一个好的开发框架,必须包含:
完善的开发工具链支持
高效的开发效率
强大的社区环境
就目前而言,除了社区环境以外,其它两点Flutter已经基本完善了,而社区环境,是需要时间积累的,而Flutter完全有这个能力获得更多开发者的支持,社区环境的强大,相信也用不了多久。
18年我建了一个Flutter开发群,没多久就满了,后来一直有人想要入群,我也因为懒没有再拉群,这次大会之后,关注者越来越多了,所以这里只能再拉一个群了, 不过很快也超过200人了,只能我收到邀请大家加入,所以,要加群的开发者,可以加我微信,私聊我说明加入Flutter开发群,我的微信如下。
欢迎大家加入 Flutter修仙指南 、Flutter修仙指北 、 Flutter修仙指东 、 Flutter修仙指西 群