写点什么

Flutter 将成为未来 Ubuntu 应用程序的默认选择

  • 2021-03-09
  • 本文字数:1388 字

    阅读完需:约 5 分钟

Flutter 将成为未来 Ubuntu 应用程序的默认选择

未来 Flutter 将成为 Canonical 创建的移动和桌面应用程序的默认选择。


3 月 3 日,Google 发布了 Flutter 2,众多更新功能引起了开发者的广泛讨论。Flutter 虽然是以 Dart 语言为基础,但是新版本中的桌面支持已经允许开发者将 Flutter 源代码编译为原生 Windows、macOS 或 Linux 桌面应用程序,并能够与桌面操作系统很好地集成。


Ubuntu 的发行商 Canonical 是 Flutter 的狂热支持者。在 Google 刚刚宣布针对 Linux 的 Flutter 桌面支持时,Canonical 就组建了一支开发人员团队与 Google 的开发人员合作,将 Flutter 的最佳体验带给大多数 Linux 发行版,并对 Flutter 进行了重大投资。


近日,Canonical 的 Ubuntu 桌面团队开始使用 Flutter 重写即将推出的全新桌面安装程序的用户界面。在 Flutter Engage 会议中,Ubuntu 团队终于展示了其新安装程序应用程序的早期演示,这也是 Canonical 的第一个官方 Flutter 应用程序。


Ubuntu 桌面工程经理 Ken Vandine 在会议中表示:“Canonica 不仅启用了 Flutter for Linux,同时还将与 Flutter 团队合作,将 Flutter SDK 发布在 Snap Store 上。Flutter SDK 将以快照的形式发布,我们可以非常轻松地安装和设置开发环境,以便在 Ubuntu 上使用 Flutter 构建移动、Web 和桌面应用程序。Flutter 将成为 Canonical 创建的未来移动和桌面应用程序的默认选择。



除了新安装程序,Ubuntu 桌面工程经理 Ken Vandine:“Flutter 还将为预装 Ubuntu 的设备提供开箱即用的体验,同时 Ubuntu 团队将致力于在所有桌面平台上为 Flutter 提供全面的多窗口支持。开发者可以使用其提供的丰富的 Windows 类型工具箱,来创建有效的 UI 平台。”

Flutter 会为桌面应用程序带来大变化吗?


很早之前,就有人预测:“桌面下一个巨大变化一定是 Web 技术带来的。”但事实上,我们现在也没看到这个预测的实现。


Electron 应用程序可能是最接近这个预测的了。与 Flutter 一样,Electron 应用程序很受 Web 开发人员欢迎,因为它们更易于学习,构建速度更快,并且与开发者现有的技能也很契合。但是桌面用户并不是很看好 Electron,他们认为 Electron 应用程序性能差、不集成或不支持桌面功能、外观与传统应用程序也有明显“不同”。


而 Flutter 很好地消除了 Electron 应用程序的缺陷。它拥有更好的性能,允许开发者使用“模仿”其他系统 UI 的 Web 样式,例如为 iOS 构建的 Flutter 可以使用很多仿照 iOS 原生 UI 的部件。


当然,Flutter 虽然和 Electron 应用程序不同,但是它也因为存在某些缺陷,导致其无法在开发者之间得到广泛应用。比较突出的缺陷是,Google Flutter Gallery 中的所有示例几乎都不如原生应用程序,不仅使用感受不一样,甚至外观看起来也不同,即使你是在尝试模仿特定系统的外观。


很多时候都是细节决定成败,用户界面交互滞后、文本不规范等等都会让开发者不再使用这个工具。为了规范和统一,Ubuntu 将 Yaru 引入到了 Flutter,使开发者的应用程序能够与 Ubuntu 独特风格相匹配。Flutter 的 Yaru 软件包可以应用 Ubuntu 样式、颜色和字体。



Flutter 会为桌面应用程序发展带来大变化吗?如果从目前的现状来分析,还是需要一段时间,新的 Ubuntu 安装程序也许会淘汰一些应用程序,但是更多的 Linux 应用程序还是继续由开发者使用“real”工具包和编程技术来开发。


参考链接:


https://www.omgubuntu.co.uk/2021/03/ubuntu-building-apps-with-flutter-in-future


2021-03-09 15:516331

评论

发布
暂无评论
发现更多内容

【原创】Spring Boot 过滤器、监听器、拦截器的使用

田维常

springboot

社会正在惩罚不读书的人!这份程序员进阶书单,值得收藏~

田维常

程序员 电子书

Polkadot系列(二)——混合共识详解

QTech

区块链 polkadot

一期二班 - 吴水金 - 第五课作业

吴水金

vivo 云服务海量数据存储架构演进与实践

vivo互联网技术

数据库 架构 云服务 数据存储

推进AI融合 2020 LF AI & DATA DAY(AI开源日)即将召开

23张图!万字详解「链表」,从小白到大佬!

王磊

Java 数据结构与算法

甲方日常 44

句子

工作 随笔杂谈 日常

Spring Boot 如何快速实现定时任务

田维常

springboot

高防服务器是什么?

德胜网络-阳

如何将MySQL查询优化到极致?

冰河

MySQL sql 性能优化 查询优化 查询

刷了LeetCode的链表专题,我发现了一个秘密!

Simon郎

Java 面试 链表

Redis-缓存雪崩,缓存击穿,缓存穿透

topsion

redis

【原创】Spring Boot终极篇《上》

田维常

springboot

追风人与笃行者:云手机的2020风云录

脑极体

C++中的vector和Java中的ArrayList的构造函数的区别

jiangling500

Java c++ ArrayList vector

TensorFlow 篇 | TensorFlow 数据输入格式之 TFRecord

Alex

tensorflow keras dataset tfrecord

看完这篇你还能不懂C语言/C++内存管理?

C语言与CPP编程

c c++ C语言 内存管理 编程开发

设置Vmware中的Ubuntu为桥接模式

jiangling500

ubuntu vmware 桥接

送你4句口诀 云存储选型不再犯难

京东科技开发者

云存储

国内外互联网大厂工程师联合推荐:程序员三门课+151个建议

小Q

Java 学习 编程 程序员 开发

第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)

京东科技开发者

人工智能 自然语言处理

程序人急速变富指南(一)

程序员陆通

程序员 职业 财富 认知 眼界

JDK8中的新时间API:Duration Period和ChronoUnit介绍

程序那些事

java8 jdk8 新特性 程序那些事 时间API

【原创】Spring Boot 如何手写starter

田维常

springboot

面试官:Java装箱与拆箱的区别?

田维常

springboot

【原创】SpringBoot快速整合Thymeleaf模板引擎

田维常

springboot

【原创】Spring Boot终极篇《下》

田维常

springboot

面经手册 · 第16篇《码农会锁,ReentrantLock之公平锁讲解和实现》

小傅哥

Java 面试 小傅哥 ReentrantLock 公平锁

redis的stream类型命令详解

LLLibra146

redis stream 消息队列

Flutter 将成为未来 Ubuntu 应用程序的默认选择_前端_田晓旭_InfoQ精选文章