写点什么

桌面上的 Flutter:Electron 又多了个对手

  • 2018-12-21
  • 本文字数:1401 字

    阅读完需:约 5 分钟

桌面上的Flutter:Electron又多了个对手

从本质上看,Flutter 是一个独立的二进制可执行文件。它不仅改变了移动设备的玩法,在桌面设备上也同样不可小觑。一次编写,可在 Android、iOS、Windows、Mac 和 Linux 上进行原生部署,并通过 AngularDart 将所有的业务逻辑共享到 Web 上,这也是它的一大特点。

原生桌面客户端加速移动开发

在进入真实的原生桌面应用程序之前,先让我们看看在桌面上运行的 Flutter 可以为开发移动设备的人们带来哪些好处。

启动时间


首先是启动 Android 模拟器和运行 Gradle。


下面的动图记录了模拟器冷启动并运行默认的 Flutter 应用程序。我只截取了其中的 2 分 40 秒,可以看出来在那段时间内可以发生很多事情。



但如果我告诉你,你可以在不到 10 秒的时间内启动并运行应用程序,你会怎么想?


运行原生应用程序可以省去启动 Android 模拟器和运行 Gradle 的全部开销。


看看这个:



请注意,你不必离开 IntelliJ。我们开发了将 Flutter 作为原生应用程序所需的工具,它适用于所有的 Flutter IDE。

在运行时调整大小

与其他应用程序一样,你需要测试不同大小的布局,那么你需要做些什么?


你要求你的朋友使用不同的手机或者创建一组模拟器,以确保你的布局在每台设备上都是正常的。


这对我来说是个麻烦事。我们能更简单一点吗?


可以!


使用 PC 上的资源

在开发和测试需要与手机上的资源发生交互的应用程序时,首先需要将所有测试文件移动到模拟器或设备上,这样可能会非常烦人。


如果只需要使用原生文件选择器来选择你想要的文件会不会更好?


热重载和调试

热重载和调试功能是每个高效率工程师所必须的。


内存占用

对于使用笔记本电脑或配置不太好的电脑的人来说,内存是非常重要的。


Android 模拟器占用大约 1GB 的内存。现在想象一下,为了测试一个聊天应用程序或类似的程序,需要启动 IntelliJ 和狂吃内存的 Chrome。



因为嵌入器是以原生的方式运行,所以不需要 Android 模拟器。这使它的内存占用变得更小。


原生桌面应用

只是在桌面上运行一个 Flutter 应用程序对于可立即发布的成熟桌面应用程序来说是远远不够的。这样做感觉上就像在桌面上运行移动应用程序。


少了什么东西?很多!


悬停、光标变化、滚轮交互,等等。


我们设法在不改变任何平台代码的情况下实现这些功能——它是一个独立的软件包,可以被包含在任何普通的 Flutter 应用程序中。但是,当与桌面嵌入器一起使用时,奇迹就发生了!



这是在 Android 模拟器运行完全相同的代码的结果。



同时开发 Android 和桌面应用程序。


桌面小部件展示

悬停:



光标:


开发一个真正的跨平台应用——包括桌面

小部件

你创建的大多数小部件都是普遍可用的,如按钮、加载指标器等。


那些需要根据平台呈现不同外观的小部件可以通过 TargetPlatform 属性进行封装,非常容易。


像 CursorWidget 这样的小部件也可以被包含在 Android 版本中。

页面

根据平台和屏幕尺寸的不同,页面也会有很大差异。不过它们大多只是布局不同,而不是功能差异。


使用 PageLayoutWidget 可以轻松地为每个平台创建准确的布局。



默认情况下对平板电脑也提供了很好的支持。

插件

使用同时支持桌面嵌入器的插件时,不需要修改 Flutter 代码。

代码什么时候发布?

很快。不过这个项目仍然处于测试阶段,在不久的将来很可能会发生一些变化。


我们的目标是在不久的将来发布易于安装、设置和使用的产品。


更多内容,可关注前端之巅(ID:frontshow)



英文原文:


https://medium.com/flutter-community/flutter-on-desktop-a-real-competitor-to-electron-4f049ea6b061


2018-12-21 11:356510
用户头像

发布了 731 篇内容, 共 468.4 次阅读, 收获喜欢 2006 次。

关注

评论 1 条评论

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

文心一言 VS 讯飞星火 VS chatgpt (155)-- 算法导论12.3 2题

福大大架构师每日一题

福大大架构师每日一题

32 | 字符串匹配基础(上):如何借助哈希算法实现高效字符串匹配

鲁米

sublime text 中文破解版 附sublimetext注册码 Mac/win 文本代码编辑器

Rose

代码编辑器 mac软件下载 Sublime Text 4 破解版 Sublime Text注册码

软件测试/测试开发丨人工智能在软件测试领域的成就

测试人

人工智能 软件测试

【云原生•监控】基于Prometheus的云原生集群监控(理论+实践)-03

Reactor2020

监控 Prometheus kubernetes 运维

2023年11月文章一览

codists

JVM 小科普:Java 程序背后的老大哥

Java 工程师蔡姬

Java 程序员 JVM 21 天技术人写作行动营

Waves 14混音效果全套插件 附Waves mac破解补丁

Rose

Waves 14破解教程 Waves 14 最新版 Waves 14 Complete破解 后期混音

AlDente Pro激活码 v1.24 Macbook充电限制软件

Rose

AlDente Pro破解版 AlDente 激活码 Macbook充电限制软件

Axure RP 10中文授权版下载

Rose

原型设计 Axure RP 10 汉化版 Axure RP 10 下载 Axure RP 10授权

如何在 Parallels Desktop for Mac 中备份、恢复或转移 Windows 虚拟机

Rose

Mac虚拟机下载 Parallels Desktop 19 Pd虚拟机破解版下载 Parallels 永久密钥

概念回顾:QUIC 和 HTTP/3

NGINX开源社区

TLS udp 数据流 QUIC HTTP/3

解码大语言模型奥秘:《大规模语言模型:从理论到实践》震撼上市!

博文视点Broadview

长安汽车金融:借助一体化智能可观测平台 Bonree ONE,提升智能告警收敛能力

博睿数据

以太坊 NFT 市场激增:为什么要在 2024 年推出 NFT 市场?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

对大模型和AI的认识与思考

AIWeker

AI 总结 大模型 AIGC GPT

高效图像压缩器 4K Image Compressor Pro激活中文版

胖墩儿不胖y

压缩图片 图片压缩器 图片管理工具

beyondcompare4永久激活密钥 及Beyond Compare 4破解方法

Rose

mac软件下载 文件同步对比工具 Beyond Compare 4 注册版 Beyond Compare密钥

Navicat Premium 15永久激活教程 Mac/win 数据库管理软件

Rose

数据库管理工具 Navicat Premium破解版 Navicat Premium 15中文版 Navicat 数据库下载

聊点写作配图那点破事儿

6点无痛早起学习的和尚

写作 21 天技术人写作行动营

宣布全面推出适用于 macOS 的 Amazon EC2 M2 Pro Mac 实例

亚马逊云科技 (Amazon Web Services)

Amazon EC2 ELB ebs Amazon VPC Nitro 第五代系统

FxFactory 8 Pro:打造专业视觉效果的利器

Rose

视频特效插件 FxFactory 8 pro

NFTScan 获得比特丛林 (BitJungle) 公司战略投资

NFT Research

NFT NFTScan

Windows、Linux 和 Mac:操作系统之间的比较

小魏写代码

拆解全景,解锁未来——深度分析大模型六大领域及五大应用解决方案

SEAL安全

人工智能 AI LLM LLM模型

开发案例:使用canvas实现图表系列之折线图

HarmonyOS开发者

HarmonyOS

极狐GitLab CI/CD 变量黑魔法之自定义变量

极狐GitLab

DevOps gitlab 变量 CI/CD gitlab ci

达芬奇DaVinci Resolve Studio 18:视频后期处理的全能神器

Rose

达芬奇18破解版 DaVinci Resolve Studio 达芬奇调色软件 DaVinci18密钥

【亲测有效】Sketch for mac v99.1中文一键安装破解版

Rose

mac软件下载 矢量绘图设计 Sketch 99 Sketch中文破解

桌面上的Flutter:Electron又多了个对手_移动_Norbert_InfoQ精选文章