AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:517784

评论

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

Apache.commons.lang3 的 isNumber 将会在 lang 4 的时候丢弃

HoneyMoose

【LeetCode】爱吃香蕉的珂珂Java题解

Albert

LeetCode 6月月更

一二三线互联网公司划分标准和榜单

laofo

研发效能 互联网公司 一线大厂 二线互联网 一线互联网

OKALEIDO的NFT聚合交易,打造面向艺术家的Web3商业生态

BlockChain先知

leetcode 934. Shortest Bridge 最短的桥(中等)

okokabcd

LeetCode 搜索 算法与数据结构

Web Service进阶(七)浅谈SOAP Webservice和RESTful Webservice

No Silver Bullet

6月月更 SOAP Webservice RESTful Webservice

抖音测试小说频道:抖音早已不再是短视频平台

石头IT视角

在 Flutter 中以编程方式截取任何 Widget

坚果

6月月更

JavaScript原型链继承与盗用构造函数继承

大熊G

JavaScript 前端 6月月更

聚焦中国算力大会 | 浪潮集团肖雪: 数字化转型新场景激发算力需求

云计算

Fabric.js 元素被选中时保持原有层级🥁

德育处主任

web前端 前端可视化 FabricJS Fabric.js 6月月更

深入浅出Spring事务的实现原理

清风

spring 原理 事务 源码学习 深入浅出

服务管理与通信,基础原理分析

Java 架构 微服务 nacos Feign

SpringBoot官方支持任务调度框架,轻量级用起来也挺香!

沉默王二

Java springboot

如何搭建短视频app源码,实现短视频内容的播放优化

开源直播系统源码

APP开发 短视频源码

基于 spring-cloud-k8s 跨NS坑续集

Damon

微服务架构 云原生 6月月更

Django API 开发:身份认证原理

宇宙之一粟

django 6月月更

物联网低代码平台如何快捷管理资产?

AIRIOT

Linux驱动开发_倒车影像项目介绍

DS小龙哥

6月月更

谈在代码中嵌入标记生成模版

原创 6月月更

重载(overLoad)与重写(override)的区别与详解(详解+对比+代码示例)

写代码两年半

javase 多态 重载 6月月更

架构训练营模块三作业

融冰

C#入门系列(八) -- 方法定义

陈言必行

C# 6月月更

面试突击55:delete、drop、truncate有什么区别?

王磊

Java 面试

【愚公系列】2022年06月 面向对象设计原则(二)-开放闭合原则

愚公搬代码

6月月更

Java类与对象,万物皆对象

未见花闻

6月月更

Disruptor 高性能堆内队列 系列二

Nick

Java Disruptor false sharing 6月月更 高性能堆内队列

【Python技能树共建】正则表达式

梦想橡皮擦

6月月更

小程序容器可以发挥的价值

Geek_99967b

小程序容器

spring4.1.8初始化源码学习三部曲之二:setConfigLocations方法

程序员欣宸

Java spring 6月月更

协同办公市场暴增背后:融云通信能力是需求重点

融云 RongCloud

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