Flutter Desktop Embedding 是谷歌官方推出的一个兼容库,可将 Flutter 框架的 API 用于开发跨平台的桌面应用。
按文档的说法,只要把手机应用的源码改改,就能编译成桌面应用。此项目的目的是支持在 Windows,macOS 和 Linux上构建使用 Flutter 开发的应用程序。
它提供的 Flutter API,可处理绘图和鼠标/键盘输入的库,以及用于访问其他原生平台功能的可选插件。
此项目的工具和构建基础结构要求您在与此项目的克隆相同的父目录中具有Flutter树:
<parent dir> ├─ flutter (from http://github.com/flutter/flutter) └─ flutter-desktop-embedding (from https://github.com/google/flutter-desktop-embedding)
或者,您可以将.flutter_location_config
文件放在包含flutter-desktop-embedding的目录中,如果您不想在flutter-desktop-emebbing旁边放置Flutter树,则该文件包含要使用的Flutter树的路径。
该library
目录包含核心嵌入库代码。有关构建和使用它的信息,请参阅那里的 README。
该example
目录包含使用每个平台的库构建的示例应用程序。如果您只想看到正在运行的内容,或者想要查看如何使用该库的示例,请从那里开始。
此外,还有:
third_party
:此存储库使用的依赖关系,超出了Flutter本身。
tools
:开发过程中使用的工具。目前这些由构建系统使用,但是在将来flutter
可以添加提供与该工具类似的一些功能的开发者实用程序。
由于桌面版本不是Flutter支持的平台,因此请务必阅读 Flutter应用程序需求文档,以获取有关如何设置Flutter应用程序以与此库一起使用的重要信息。
可以调试桌面应用程序的Flutter端,但需要 修改工作流程。
对于错误报告和特定功能请求,您可以提交GitHub问题。对于一般性讨论和问题,有一个项目邮件列表。
在提交与构建错误或其他错误相关的问题时,请确保包含您正在使用的Flutter结帐的git哈希。这有助于加快调试过程。
这不是官方支持的Google产品。
这是一项探索性工作,并不属于Flutter项目的一部分。有关Flutter 在桌面开发方面的官方立场,请参阅 Flutter常见问题解答。
许多对桌面开发有用的功能尚不存在。检查plugins
目录以获取除绘图和事件处理之外的本机功能的支持。如果您需要的功能不存在,请提交功能请求或编写插件!
Linux和Windows实现目前使用GLFW。这不是任何一个平台的最终实现。
由于国内 Flutter 开发 Desktop 的资料特别少,在开发过程中,遇到了各种问题,特此记录。 需求来源于为了更好的控制窗体内的布局区域,需要将应用窗体设置为固定尺寸。 为设置应用窗体尺寸找到 Flutter-Desktop-Embedding 项目,这个项目是google 自己搞的一些非正式插件仓库,并没有发布到pub仓库中,所以没有办法直接 pub get 了,里面东西不多,正好有我
项目场景: 学习flutter项目,参考wechat_flutter项目,然而发现无法运行。 问题描述: 报错情况1: Your Flutter application is created using an older version of the Android embedding. It is being deprecated in favor of Android embedding v2
Step 1 - 准备flutter 环境变量 export ENABLE_FLUTTER_DESKTOP=true 建议添加到.bashrc中 flutter sdk flutter channel master 切换到master分支 flutter upgrade 更新dart SDK,并进行doctor检查 根据doctor结果,要求安装clang++ sudo apt-get insta
Flutter for Desktop Flutter for Desktop最初是为了开发Flutter的Windows,macOS和Linux嵌入而创建的项目,这项工作后来成为Flutter的一部分。而此项目现在只是在当前状态下使用这些库构建Flutter应用程序的示例和测试环境,它还包括一些实验性的早期桌面插件。 Flutter for Desktop仍处于早期阶段。 此项目的代码并
今天博主来谈一个开发Flutter App的小技巧——怎样有效地退出程序。 这种方法典型的应用场景就是用户许可协议的同意与否。从用户的角度讲,虽然大部分人都会无脑点击“同意”,但我们仍不应忽视“不同意”的作用——退出App。 笔者在网络上搜索了一下相关的API,发现大部分的文章都在推荐一种方法,即: SystemNavigator.pop(); 但该方法在iOS中并不适用。 实际上,这种方法将会
安装好Flutter环境后。以下代码已经亲测,可以运行。我运行的Flutter版本2.1.0。 1、Flutter没有启用桌面支持。根据你的系统运行以下命令打开支持(Macos使用第二个即可)。 flutter config --enable-linux-desktop flutter config --enable-macos-desktop flutter config --enable-w
一、问题描述 (1)问题描述:加载Flutter的页面,当页面关闭时候,App崩溃。 (2)影响版本大概:Flutter Sdk (V1.17.5 - V1.20.1)。 (3)问题原因:disconnectSurfaceFromRenderer在页面关闭释放时候被调用两次,第二次调用时候renderSurface已经为空,造成空指针。 // FlutterRenderer must be non
零、前言 最近换了一台新的windows,把搭建Flutter&Windows应用的环境过程顺便记录分享一下。 Flutter对MacOS的支持还是非常好的,因为iOS和MacOS最终都是用XCode构建的,所以运行在Mac桌面上也轻而易举。 要让Flutter运行在Windows上,还是比较麻烦的,这也造成一定的门槛。这篇就来介绍一下如何支持Windows桌面程序。 我的FlutterUnit开
flutter-desktop-embedding video windows $ flutter channel master && flutter upgrade 更新你的 flutter 1. 安装 Visual Studio 2019, 勾选"Desktop development with C++",detail再多勾选"win10 SDK"和"MSVC v141 x64/x96" 2
有没有人愿意帮助我在使用android studio的kotlin multi-platform mobile(KMM)和javafx(gluon)进行iOS/android应用程序开发之间做出决定。 -运行时性能(启动时间、代码大小、功耗等)-KMM的学习曲线(我不知道Kotlin,但如果KMM的开发环境只是在windows上两个目标平台,我就学会了。[gluon中的android开发需要lin
问题内容: Mono跨平台正在采取什么措施?如何为Windows编译(在Linux中),如何在Linux中运行代码(因为没有.NET JIT编译器)? 那么使用Mono开发的特殊之处是什么?与使用Visual Studio进行开发相比,有什么优势(跨平台的东西除外)? 问题答案: 在Mono中进行开发绝对是跨平台的,有一个 警告请求者 : 努力避免使用Windows特定的API 与本机Window
ASP 应用程序可在运行 Windows NT 4.0 或 Windows 95 及其更新版本的操作系统的计算机上运行。另外,可在 Macintosh 上运行 streamline 版本的 ASP。因为在 Windows 95 和 Macintosh 上的 Personal Web Server 是为个人发布设计的,所以在对 ASP 应用的支持方面有些不同。您可以在 Windows NT Work
前言 跨平台(Wirte once, Run Everywhere)一直以来是软体工程的圣杯。过去一段时间市场上有许多尝试跨平台开发原生行动装置(Native Mobile App)的解决方案,尝试运用 HTML、CSS 和 JavaScript 等网页前端技术达到跨平台的效果,例如:运用 jQuery Mobile、Ionic 和 Framework7 等 Mobile UI 框架(Framew
多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。
Chromium是一个巨大而复杂的跨平台产品。我们试图在不同平台间共享尽可能多的代码,同时为每个平台用最合适的方式实现UI和操作系统集成。这提供了一个更好的用户体验,但它给代码增加了额外的复杂度。这个文档描述了保持这种跨平台代码简洁性的推荐实践。 我们使用大量不同带后缀的文件来表示一个文件应该被使用的时机: Mac文件中,低层级文件使用_mac后缀,Cocoa(Mac UI)文件使用_cocoa后
问题内容: 我的公司正在改造IT基础架构和系统,因此我们正在最终确定用于开发新系统的技术。 我们有两名候选人;Java和Python。 选择的主要标准是语言必须完整。从某种意义上说,它必须能够用于Web和桌面应用程序开发。Java被证明是这一领域,具有许多优秀的Web框架(JSF,Hibernate等)和相对优秀的GUI库(SWT,Swing)。 但是,从我个人的经验来看,Python看起来更美味
问题内容: 首先,我对专业从事这项工作不感兴趣。我是一名Web开发人员,我的一个同事最近离开了Spotify,他说他将主要在JavaScript中使用SpotifyDesktop应用程序。他说,它使用“ Chrome框架”,并且内部的所有内容都像网络应用程序(HTML / JS / CSS)一样完成。 作为一个从未为Desktop构建任何东西的Web开发人员,这是个好消息。如果我可以使用我已经知道