问题描述
我正在寻找一种可能在我的 Flutter 应用程序中使用我自己的 Java 库的方法。 我做了一些研究,但只能找到有关如何在 Android 上专门将 Flutter 与原生 Java 库集成的信息。
是否也可以从 Flutter Web 和/或 Flutter Desktop 调用 Java 代码?
很抱歉,我无法为这个问题提供更多信息,因为如果不是 starflut (https://pub.dev/packages/starflut),我无法找到任何“线索”——这对于我在 Flutter 中的“初学者”程序员来说可能这个问题似乎是一种矫枉过正的方法 - 我什至不确定它目前是否支持 Flutter Web/Desktop。
任何帮助、评论或想法将不胜感激
编辑 1
由于在 Flutter Web 上实现 Java 似乎几乎不可能(或者不值得麻烦),从 Flutter Web 调用 C++ 库是否有可能?
编辑 2
为了更好地描述我的问题/情况,我将添加一些上下文。
我需要编写一个可以被多个 Flutter 应用程序(包括 Web 和移动应用程序,但 PWA 也可以)访问的库,但也可以被多个不使用 Flutter 框架的程序访问。
我考虑了几个选项,但我仍然很缺乏经验,我不知道该走哪条路:
- C++ 作为库的核心,并与 Dart 进行语言绑定
- JavaScript 作为库的核心,以及
- 直接从 Flutter Web 访问库(似乎是可能的 https://medium.com/flutter-community/using-javascript-code-in-flutter-web-903de54a2000 )
- 虽然我不确定这个解决方案是否也适用于 Mobile Flutter
- 使用 Dart 本身作为库的核心
- 在推出 Flutter 应用程序时,这将是最快的选择,但它也有缺点,我稍后需要用另一种语言重写库
解决方法
无法从 flutter web 调用 c++。但是,您可以使用您想要的任何语言在服务器端实现您想要的任何功能,并使用您想要的任何 Web API 将功能暴露给 flutter。您可以对 Java 遵循相同的方法,而且它不必只是 Web。但是,要求是您正在实施的任何内容都必须驻留在系统可以自由运行的“服务器”上。您的 Flutter 应用程序只是“连接”到它并发送和接收消息