谷歌刚刚发布了Flutter2.0版本,它是Flutter的重大升级,借助Flutter2开发人员能从同一代码库构建跨平台软件,为任何平台创建美观、快速且可移植的应用程序。
但是今天的发布会可能主要是为了强调Flutter继续向移动应用过渡,不管它们在哪里都支持应用ーー网络、桌面,甚至是新兴的形式因素,如可折叠的应用。
Flutter2.0取得与Android和iOS的“平等”地位
在年的I/O开发者大会上,谷歌首次推出了Flutter,它的1.0版本于年12月问世。支持Android和iOS应用程序,但是在此后的两年多时间里,谷歌在一定程度上扩展了对web应用、MacOS、Linux、Windows甚至嵌入式设备的支持。然而,这种支持只是在早期阶段提供的,要么是大多数开发人员无法获得的,要么不是为生产级应用设计的。
自年以来,Flutter的网络开发工具包一直处于测试阶段,但今天它与Android和iOS这些“兄弟们”取得了平等的地位。对于桌面开发者来说,谷歌已经将FlutterForWindows、MacOS和Linux过渡到主要的“稳定”发行版。
Flutter产品经理TimSneath向外媒透露,“这对我们来说是一个巨大的里程碑,不仅因为代码本身已经可以用于高质量的产品,还因为过去只有极少数的Flutter用户可以使用它,这些用户正在运行发布前的软件开发工具包。”
Flutter使用Google自己的Dart编程语言,旨在帮助开发人员构建在其所运行的每个平台上都感觉原生的应用程序,同时尽可能多地共享代码以避免重复工作。
Flutter2.0现在支持使用相同的代码库将本机应用程序发布到五个操作系统:iOS、Android、Windows、macOS和Linux;WindowsVista、WindowsXP和WindowsXP。以及针对Chrome、Firefox、Safari或Edge等浏览器的网络体验。Flutter甚至可以嵌入到汽车,电视和智能家电中,为环境计算世界提供最普遍和最便携式的体验。
Flutter开发套件的大量改进
在设计应用程序时,开发者需要考虑无数特定于平台的因素,包括人们如何与他们的设备互动(例如,移动设备上的触摸和滑动,桌面上的键盘和鼠标),用户在不同的屏幕尺寸上消费内容,甚至他们用来写作的语言。这就是为什么花一些时间才能在发行周期中改进各种Flutter开发套件的原因。
TimSneath说:“为了达到这个阶段,我们做了大量的工作,包括增加国际化支持,例如针对中文等语言的IME编辑器,针对桌面支持的TreeView和DataTable等新小工具,以及对AppleSilicon驱动开发机器的更好支持。”
特别是在Linux方面,为Ubuntu相关项目提供商业化服务的公司Canonical今天透露,Flutter现在已经成为Ubuntu操作系统桌面和移动应用程序开发的默认框架。去年7月,谷歌和Canonical启动了Flutter向Linux领域的扩展,并促使Canonical的工程师为Flutter项目贡献了代码。
作为最新扩展的一部分,Canonical公布了一个基于Flutter的Ubuntu安装程序的早期演示。
今天宣布的其他值得注意的Flutter更新包括GoogleMobileAdsSDK的beta版本,该版本一直处于早期的试验模式,为AdMob和AdManager提供了各种广告格式。谷歌还推出了Flutter插件更新,涵盖了各种Firebase服务,包括身份验证、Crashlytics、云消息和云存储。
与此同时,Dart今天发布了2.12版本,支持null安全(或“voidsafety”),以避免null异常。
Flutter解决了大公司的两个核心挑战
去年四月,谷歌透露每月有50万开发者使用Flutter。差不多一年过去了,谷歌没有提供任何关于这个数字的更新,只是说“用户数量还在继续增长”,但今天,谷歌表示,GooglePlayStore上有15万个Flutter支持的应用程序。它不具备其他应用程序商店,如苹果商店提供的,来自其他地方的数据的同样跟踪能力。
TimSneath说:“有趣的是,我们知道有些应用程序在其中为一个移动平台添加了Flutter应用程序,然后将其回滚到另一个移动平台。”
早在去年九月,谷歌支付就开始使用Flutter,并将其添加到谷歌分析、谷歌广告、谷歌购物、谷歌NestHub、体育场和其他谷歌产品中,这些产品已经在使用这个开发工具包。
Flutter是快速和一致的跨平台编码,但也是一个相对年轻的框架,第三方软件库和限制开发人员的软件包较少。因此,对于更大、更复杂的企业应用程序,本地软件开发方法可能仍将是大多数公司的首选方法。
TimSneath强调,“生态系统不会在一夜之间发展起来,从某些标准来看,Flutter仍然是一个新平台。但我们相信上述个软件包和代表的公司(例如Nubank和Realtor是在填补剩余空白方面快速发展的证据,这种持续增长令我们深受鼓舞。”
有明确的证据表明,企业对Flutter必须提供的服务感兴趣,拥有大量vc支持的Nubank甚至公布了它为什么使用Flutter进行跨平台移动开发的全部理念。根据Sneath的说法,Flutter解决了大公司的两个核心挑战。
他说:“首先,他们发现,为了接触到所有的客户,他们必须创建同一个应用程序两次、三次、甚至四次或更多次,这令人恼火。”。“这种复制没有好的并行机制——他们不建立多计费系统、多工资单平台等。这是一种浪费,而且会导致各种各样的二阶问题:如何将多个应用程序模拟到多个平台上,是否所有的开发团队都必须以最慢的速度运行,等等。”
Sneath认为,Flutter解决的第二个问题是,企业可能会投入数百万美元创建和维护一系列企业品牌,但由于其内在的局限性,它们可能会受到限制,无法利用自己的数字属性。
开源让Flutter蓬勃发展
在过去的十年中,开源运动得到了极大的发展,大多数主要的技术公司都在某种程度上接受了它。Facebook已经开放了无数的内部项目,而谷歌本身对开源并不陌生。与此同时,微软一直在努力展示它在开源方面的全力以赴,最近还宣称它现在已经成为跨公司协作的公认模式。
谷歌可能是Flutter框架的最大贡献者,但这并不能说明全部情况。Sneath提到,在所有参与这次发布的个人中,大多数都不在谷歌工作。他说:“当然,Flutter不仅仅是一个核心框架,目前大约有个软件包,其中绝大多数来自非谷歌贡献者,如亚马逊、微软、Adobe、华为、阿里巴巴、eBay和Square。”
在最新版的Flutter中,微软做出了一些显著的贡献,特别是围绕其迅速增长的