Flutter 发布 1.0.0 了!

熬夜看完了正在伦敦举行的 Flutter Live Keynote,迎来 Flutter 1.0.0 的正式发布。在最近一个月使用 Flutter 帮助客户构建产品的体验中,逐渐发现 Flutter 就是我期待已久的原生开发技术——足够简单,开发顺畅,编写一次,多端运行,表现一致。

我最早接触原生开发技术,是 RubyMotion。RubyMotion 诞生于 MacRuby。Flutter 的很多技术,让我想起来使用 RubyMotion 的经历,很多技术也曾经在 RubyMotion 上接触过,比如 Hot Reload。但是,Flutter 有一个 RubyMotion 所不具备的优势:Skia(skia.org)。

RubyMotion 也有 Flow 项目(github.com/hipbyte/flo… ),采用了相同的思路,来解决 iOS 和 Android 之间的鸿沟。无奈两个平台之间的原生绘图 API 各不相同,为了抹平两个平台的差异,有巨大的工作量需要做,在项目进展初期并不顺利。

在后面的职业生涯中,我也接触过 Swift、Kotlin,它们都是设计足够好的现代编程语言,但是局限于 iOS 和 Android 两个平台,当你在一个平台取得了成功,想扩展到另外一个平台的时候,往往就是灾难的开始。我在 KnewOne 的前同事 Jasl(github.com/jasl )就曾爆肝一个月,把 Less 的 Android 版本实现了,但强如他的程序员,毕竟是稀缺的。

业界为跨平台提出过很多方案,从最早的 PhoneGap(phonegap.com/ )到 Xamarin(visualstudio.microsoft.com/xamarin/ )、React Native(facebook.github.io/react-nativ… )、Weex(weex.apache.org/cn/guide/ ) 。甚至业界也逐渐认同于诞生自 ReactNative 的 “learn once, write anywhere.” 。

Flutter 的实现方案是大胆且行之有效的,通过 Skia 提供的强大的,稳定的,统一的绘图 API,把各种控件全部自己绘制。我用 cloc(github.com/AlDanial/cl… )统计下来,Flutter 1.0.0 已经接近两百万行 dart 文件。

而我使用下来的经验来说,这里绝大多数代码都是实现各种 Material Design (material.io)和 iOS 组件。这个工作量是巨大的,而这份代码也是一份巨大的宝库,可以用来研究各种控件是如何实现的。

讲了太多废话,稍微总结一下这次的 Flutter Live Keynote:

介绍了 Flutter 的优势。

发布了使用 Flutter 开发的 The History of Everything by 2D, Inc,耗费 3 个开发者三个月的时间。

? ? ? 正 式 发 布 了 1.0.0 ? ? ?

在发布 1.0.0 的时候,顺带介绍了其他公司的几个酷酷的产品。

第一个是 2D, Inc 的 Flare(www.2dimensions.com/about-flare ),可以把它理解为 Flutter 的 Hype (tumult.com/hype/ )或者 Airbnb 的 Lottie(airbnb.design/introducing… )。

第二个是 codemagic.io/,给 Flutter 准备的 CI/CD,目前免费。可以在帮客户开发系统的时候,让我省很多时间。但是我觉得市场上的其他 CI/CD 也会逐渐跟进。

同时穿插了两个 Live Coding,秀了一下 Flutter 的肌肉。整个开发流程非常顺畅,颇有写 Rails 的错觉。尤其是第二个整合 Firebase ML(firebase.google.com/products/ml… )实现类似 iOS Animoji(support.apple.com/zh-hk/HT208… )的功能。

one more thing

最后,介绍了一下 Flutter Desktop Embedding 项目转正了。我们有了 Electron(electronjs.org) 以外的另一个选择。

Flutter 正式从针对 iOS 和 Android 的开发框架向大一统 UI 开发框架的方向演进。顺便介绍了一下本场的 Keynote 也是用 Flutter 写的。而这也让我想起来了曾经有人用 RubyMotion 写过 Slides。历史总是惊人的相似。

让 Flutter 可以运行在浏览器中,不过目前只是给了 Preview,没有放出代码,等后面技术细节的博文出来之后,再写一下。现在代码库还是空的(github.com/dart-lang/h… )。

总结和废话先写到这里,从我这个月以来的体验来说,我觉得 Flutter 是接下来非常值得投入的技术之一。虽然发了 1.0.0,但是坑还是有的,踩坑避免不了,但是这不就是开发的乐趣么?

而且从 Flutter 的 GitHub Issues(github.com/flutter/flu… ),可以看出官方团队维护非常积极。

小小的预告一下,我会接下来整理一份我在踩坑过程中参考的资料列表,为想入门 Flutter 的同学提供一个有价值的入门指北。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值