2019 年 5 月 9 日,谷歌在 Google IO 大会上宣布,Flutter 正式成为全平台框架,支持手机、Web、桌面电脑和嵌入式设备。有同事说,Flutter 这是要全平台制霸啊,我说冷静,也许是看上去很美呢。
InfoQ 第一时间对此进行了报道:
Flutter 作为谷歌的移动 UI 框架,在快速构建 iOS 和 Android 应用及开发、高性能、可移植性上表现优秀,并可以与现有代码一起工作,基于这些特点使其越来越受到开发者的推崇。在本次举行的 2019 谷歌 I/O 大会上,公布了 Fluttery 实现 web 访问、提供自定义图像分类模型的新特性,并介绍 Flutter 在桌面系统及嵌入式设备中的应用与未来的发展,对于开发者来说可谓是福音连连,下面跟着小编来围观下吧。
今天是 Flutter 框架发展历程中的一个重要转折点,因为我们将把项目的重点由移动平台扩展至更为广泛的设备领域。在本届 I/O 大会上,我们发布了 Flutter for Web 的第一个技术预览版本,宣布 Flutter 已经在为包括 Google Home Hub 在内的多种谷歌智能显示平台提供支持,并通过 Chrome OS 迈出了桌面级应用程序支持的第一步。
详细内容可以阅读:
https://www.infoq.cn/article/Urxr8ieIUBBBbwB*x1j7
程序员是特别容易追逐新技术的一个人群,尤其是带有高贵血统的 Google 出品,如果真能够一统江湖雄霸天下,咱得少学多少技术啊。已经有程序员开始进行技术代划分了,比如第二代跨平台技术 RN 和 Weex,第三代 Flutter,那第一代是啥呢?也许是 jQuery 和 PhoneGap 什么的?搞不清了,总之 Flutter 给混乱的世界带来了秩序的曙光。人家都不止跨移动了,连 Web、PC 端和嵌入式一并跨了,就问你怕不怕?
怕是怕的,所以我们不准备入坑了,并且在逐步去 Weex 化。
在技术领域工作了近 20 年,我发现一代又一代跨平台技术,要么消亡了,要么主要去解决自己面临的那摊子事了,跨来跨去,还是那一亩三分地。这么多年过去了,我始终坚信,一种技术,一定是在某个阶段,做自己最擅长的事,而不是包打天下。
2017 年我们开始做极客时间 App,那时候要人没人要粮没粮, 就一个前端和移动开发工程师,想要快速做出 iOS 和安卓版本、Web 版本,实现 MVP,并进行产品和数据验证,选一个能够跨平台框架就是当时最好的选择,要么是 RN,要么是 Weex,基于支持国产开源和随时能找到阿里团队的这两个考虑,我们选择了 Weex。事实上 Weex 这门技术和阿里的 Weex 团队在极客时间发展过程里给了我们极大的支持。
但是随着产品的迭代和复杂度增加,问题就会不断的暴露出来,于是我们一次次的向阿里技术团队发出求助的信号,一次次得到回馈,但有些问题始终难以解决。
说个看起来比较简单的,我们现在就解决不了 iPad 自动旋转屏问题。目前的处理方式是横屏打开就一直横着,想切换到竖屏,kill App,竖起来重新打开。为什么这么设计呢?这不是最基础的功能吗?
是的,这对原生就是基础的功能,Weex 不是。有兴趣的可以去看一下我们和 Weex 团队在 Github 上的讨论:
[Screen orientation problem with iPad version of our app · Issue #2103 · apache/incubator-weex · GitHub]
https://github.com/apache/incubator-weex/issues/2103
另外的问题就是,这种跨平台技术,做简单功能还行,复杂的东西,在 iOS 端调完了,安卓还得再调试一遍,改一些代码进行适配,然后才能打包 build。所以,每次都只能先发其中一个版本,等前端调试完了,再发另外一个版本。
现在我兵强马壮,完全可以设置三套人马,充分发挥原生技术和 ES6 的威力,灵活掌控研发进度,把自主权牢牢掌握在自己手里。Weex 在我们这里的历史使命,正在逐步完成。
那有人说了,阿里和 Google 不是大量采用 Weex 和 Flutter 技术吗?你要搞清楚,这是人家自己的技术,如果有点问题老大说必须支持,技术团队会通过各种 hack 的方式让业务能够正常的运行起来,否则会被打 3 分的,这谁受得了。
你只能说,我对这种力量一无所知。
结论:一种技术,一定是在某个阶段,做自己最擅长的事。你的看法呢?
点击阅读原文,看那个 issue 的讨论详情。
文章评论