问题
我的想法是使用Flutter创建一些简单的组件,以便可以在我们公司的多个本机iOS和Android项目中使用它们。
例如,考虑一个通用的登录视图。此视图可以在Flutter中编码一次,然后可以包含到同时具有iOS和Android部件(本机)的项目中。因此,此类通用组件可以使用Flutter编写一次,而不是本机iOS和Android组件编写两次。
我到目前为止已经尝试过的内容
我在这里遵循了https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps的步骤,它可以工作,但是功能似乎很受限制。
我的问题是
最佳答案
您的“功能似乎非常受限制”是什么意思?
https://flutter.dev/docs/development/add-to-app列出了这些限制:
您的第一个问题由第三个限制回答。如果您正在考虑将简单组件分别分成单独的Flutter库,则不会。您需要将所有组件打包到单个Flutter库中,然后让本地应用程序从池中选择。
对于您的第二个问题,您能否具体说明“没有本机黑客”的含义?您是否有不能/不能使用FlutterViewController的原因?
关于在本机和Flutter之间传递数据的第三个问题将涉及https://flutter.dev/docs/development/platform-integration/platform-channels
// flutter side, send the data
final String result = await platform.invokeMethod('getBatteryLevel', {"text":text});
// native side, retrieve it
String text = call.argument("text");
result.success(batteryLevel);
将其发送回final String result
。