【问题标题】:Build a Flutter Web App and run the same web app in Flutter Desktop programs构建 Flutter Web App 并在 Flutter Desktop 程序中运行相同的 Web App
【发布时间】:2022-10-04 19:34:17
【问题描述】:

我是颤振编程的新手。我想创建一个 Flutter Web 应用程序,它可以在 Flutter 桌面应用程序的 Web 视图中运行,适用于所有桌面平台(Linux、Windows 和 MacOS)。网络应用程序将在主线程上运行。桌面特定的任务将在隔离上运行。 Web 应用程序将是 UI,主要使用 Cloud Firestore,主要是监听文档或集合的更改,并将更改的数据传回隔离区。

Flutter 桌面应用程序上的 Web 应用程序是否可行?我是否需要“托管”要在 web_view 中使用的网页?

我是否能够通过通常的 Isolate 通信与隔离中的 Web 应用程序进行通信?

【问题讨论】:

    标签: flutter firebase flutter-web flutter-desktop isolate


    【解决方案1】:

    我想创建一个 Flutter Web 应用程序,它可以在 Flutter 桌面应用程序的 Web 视图中运行,适用于所有桌面平台

    目前 Flutter 不支持平台视图的桌面,这意味着您不能拥有内联 web 视图。您可以使用没有 Flutter UI 的全窗口 web 视图,但不清楚将桌面主机作为 Flutter 应用程序可以获得什么价值。

    我是否能够通过通常的 Isolate 通信与隔离中的 Web 应用程序进行通信?

    如果您希望能够在 Flutter 桌面主机的隔离和 Flutter Web 应用程序之间直接通信,则不。您将受到使用 webview 的所有标准限制,这意味着任何进出通信都必须通过 JavaScript。主机应用程序是 Flutter 应用程序这一事实对于 Web 应用程序来说基本上是不可见的,并且在另一个方向上也是如此,因为您将运行两个完全不相关的 Flutter 引擎和 Dart VM 实例(一个编译为本机代码,一个编译为本地代码)编译成 JS)。

    【讨论】:

    • 您好感谢您的回答。 Flutter 应用程序适用于所有平台,包括 Android 和 Ios。我已经完成了应用程序的 android 部分,它是 UI 的 dart 和所有后台工作的 kotlin。而且我的应用程序并没有真正专注于 UI,它更多的是关于它所做的后台工作。而且大部分时间会在后台运行,监听 Firebase 集合和剪贴板的变化。我不习惯用 C 和 C++ 为桌面应用程序编写本机代码。所以我正在考虑将 Flutter Web-app 用于桌面 UI。并隔离用于后台工作。
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 2021-12-31
    • 2021-07-25
    • 2021-01-17
    • 2021-01-06
    • 2021-12-11
    • 2021-01-23
    • 2021-07-13
    相关资源
    最近更新 更多