【问题标题】:Is there a way to easily (and officialy?) integrate python, and more specifically matplotlib, with flutter?有没有办法轻松(和官方?)将python,更具体地说是matplotlib与flutter集成?
【发布时间】:2022-01-14 17:00:08
【问题描述】:

我是一名拥有大量 Python 背景的科学家,我喜欢为我开发的小项目开发 UI,这很有趣。我已经用kivy构建了一个android应用,现在正在学习dart和flutter。我发现使用 Flutter 构建 UI 比使用 kivy 容易得多,但是我为该应用程序构建的所有逻辑都在 python 中,并且它使用了很多包(用于磁力计算)。

是否有一种(简单/友好)的方式来重用用于逻辑和/或 matplotlib 的 Python 脚本以使用 Flutter 来设计 UI 来输出绘图?

提前致谢。

【问题讨论】:

  • 我不是 python 专家,但应该可以创建一个 python 网络服务器来运行您的脚本并通过 http 发回生成的绘图图像。然后,在您的颤振应用程序中,您可以使用 Image.network (docs.flutter.dev/cookbook/images/network-image) 来显示绘图。

标签: python flutter dart matplotlib user-interface


【解决方案1】:

您可以使用 Flask 作为 Python 函数的包装器,并以 JSON 格式返回数据。

然后,您可以通过调用 Flask 端点(反过来调用 Python 函数)在 Flutter 中使用 JSON 数据,并在 Flutter UI 中呈现数据。

关于如何通过 Flutter 调用 HTTP 服务以及如何将这些服务返回的 JSON 数据消费到 Flutter Object 中有很多文章。

注意: 这将需要一些设置工作,并且需要更多用于生产质量代码的元素,例如 API 网关,但出于测试/学习目的,您可以跳过它并直接与您在 Flask 中设置的服务对话。

【讨论】:

    【解决方案2】:

    回答您可以使用 Flask 作为本地网络服务器并从 python 应用程序检索数据。

    但是,如果您需要更快的速度并且还需要从 python 应用程序发送多个响应(如进度)到颤振。我更喜欢使用 WebSocket。 你可以创建一个本地的WebSocket server,以更快的方式连接flutter和python。

    注意:当您只需要响应特定请求时,不建议使用 WebSocket。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      相关资源
      最近更新 更多