2

Flutter the Future

 3 years ago
source link: https://blog.csdn.net/eclipsexys/article/details/103573291
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Flutter the Future

original.png
eclipse_xu 2019-12-16 08:30:00 articleReadEyes.png 318

Flutter Interact 2019在双12的凌晨结束了,6个多小时的大会,每一分钟都让一个开发者感到惊艳。

Flutter这一年的发展极其迅速,不仅成为GitHub年度最受欢迎项目,就连只有Flutter使用的Dart语言,在世界开发语言排行榜上也一举获得了500%的增长,成为年度增长率最高的开发语言。

国际惯例,先对本次大会进行下吹捧。

Toolchain

Dart DevTools

对于一门开发技术来说,Toolchain的完善程度是衡量这门技术是否好用的重要标准,Flutter的Toolchain一直在不断完善,这次新增的Dart DevTools工具,让开发更加方便,它内含 widget 检查器以及内存与CPU性能分析工具,而且优化后的日志功能在所有编辑器和IDE中都能流畅运行。类似Android中的Profiler和Layout Inspector,但个人感觉比Android的这些工具更加好用。

DartPad

DartPad是一个Web端的Dart模拟工具,可以在网页上输入Dart代码并展示运行结果,这次更新后,DartPad已经可以支持Flutter了,甚至可以直接在DartPad上进行Flutter开发和效果预览。

format,png

Hot UI

这是一个非常神奇的功能,这个功能有点类似C#的图形化界面开发加上Flutter的Hot Reload功能,在IDE的预览界面中,可以直接对UI进行修改,同时同步到设备上。

format,png

Layout Explorer

Layout Explorer是Dart DevTools中的一个工具,这个工具更像是一个代码诊断者,可以给你代码中问题的原因和解决方案,同时,在Layout Explorer中修改后,可以直接同步代码和界面。

format,png

Flutter Framework

作为一款跨平台开发框架,Flutter一直积极的向Android和iOS的最新功能靠拢,新版本的Flutter这次同样是Framework级别支持了iOS的Dark Theme,省去了开发者对颜色的适配工作。

format,png

另外,Cupertino Widget库也一直在更新,逐渐加入更多的iOS设计风格组件,让设计、开发能够更加灵活。

format,png

Add to App

原生应用于Flutter混合开发,一直是原生开发者比较头疼的一个问题,主要在于混合栈的管理问题,这次Flutter的更新也重点优化了Add to App的功能,让原生开发可以更加方便的使用Flutter Module,不过这一点我还没验证过,不知道是否还存在之前的一些混编的问题。

同时,作为Flutter的开发语言Dart,这次也迎来了一次非常大的更新,其中有一点就是实现了拓展方法,与Kotlin的拓展函数基本类似,这无疑是一个非常重要的更新,让Dart在成为一门非常现代化的语言之路上又近了一步。

真·跨平台

format,png

相信这张图已经可以完美解释什么叫真·跨平台了,不仅如此,Flutter还可以多设备同时调试,一套代码,多个终端,目前为止,Web端已经进入Beta阶段,MacOS也进入了Alpha阶段,相信很快大家就可以体验到了。

format,png

另外,Flutter还提到了一个实验性技术,可以根据设备直接选择合适的UI进行展示,例如下面的例子,不同的设备上展示的UI不同,且能自适应相应的布局,不过这个技术还在早期阶段,后续的发展还不得而知。

format,png

Design to Code

Supernova

这是一个社区工具,Supernova简单的说,就是设计师可以根据设计来将设计稿直接转化为Flutter Code,具体还没使用过。

format,png

Rive就是那个发布Flare的公司,这次又放大招了,准备统一Flutter动画界,甚至已经兼容Lottie,而且在动画中,直接支持了投影、内阴影、光晕、模糊和遮罩这些曾经让开发者闻风丧胆的设计元素。

Adobe XD

Adobe XD和Supernova类似,也是通过设计稿生成Flutter代码,听上去就是一件很玄幻的事情,但是它确实做到了,只不过不是像大家想象的那样,它是通过导入设计稿后,选择相应的图层模块,右键选择生成的Widget来进行转换的。

format,png

上面写的这些,只是这次大会的冰山一角,用文字真的很难描述这些技术,希望大家能去看看回顾视频,虽然时间很长,但相信大家看完一定会觉得非常有价值。

https://www.youtube.com/watch?v=9OeMqgrY5J8&t=655s

Why Flutter

软件开发没有银弹,只有钢弹 —— me

跨平台一直是一个很乌托邦的东西,大家一边在追求着统一,一边也在追求平台差异性,那么怎么才能在这种矛盾中获得统一呢,不同的跨平台方案给出了不同的选择,但基本上都以失败告终,而Flutter的出发点,很完美的解决了这个问题——UI跨平台框架,从一开始,Flutter的起点就是很正确的,我只做UI跨平台,借助Skia,很轻易的打通了各平台直接的隔阂,不得不说,实战是高明之举。

我从17年开始关注Flutter,从18年开始投入大量的业余时间关注Flutter,见证了Flutter的不断成长,特别是19年,可以称之为Flutter元年,这一年的飞速发展,让Flutter已经逐渐开始获得更多人的关注。

一个好的开发框架,必须包含:

  • 完善的开发工具链支持

  • 高效的开发效率

  • 强大的社区环境

就目前而言,除了社区环境以外,其它两点Flutter已经基本完善了,而社区环境,是需要时间积累的,而Flutter完全有这个能力获得更多开发者的支持,社区环境的强大,相信也用不了多久。

18年我建了一个Flutter开发群,没多久就满了,后来一直有人想要入群,我也因为懒没有再拉群,这次大会之后,关注者越来越多了,所以这里只能再拉一个群了, 不过很快也超过200人了,只能我收到邀请大家加入,所以,要加群的开发者,可以加我微信,私聊我说明加入Flutter开发群,我的微信如下。

format,png

欢迎大家加入 Flutter修仙指南 、Flutter修仙指北 、 Flutter修仙指东 、 Flutter修仙指西 群

format,png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK