我目前正在完成约75%的android项目。我需要类似的iOS应用程序。
我可以导入该项目使它颤抖吗?怎么样?
另外,flutter是否支持我在该项目中使用的库?
Flutter应用程序的工作方式完全不同 ,即既不像Android,也不像iOS。Flutter有其自己的体系结构,因此也有自己的插件等。
不 ,你不能 转换 您现有的Android代码到 达特 颤振代码,这是必要的,从而实现跨平台的行为,因为被扑SDK使用的所有代码在飞镖被写入。
但是 ,您可以通过将Android代码仅包含在Android文件夹中并 尝试 将其与Flutter SDK集成来使用您的Android代码,这可能比仅在Dart中完全重写它要耗费更多的工作。这 也不 是您通常要执行的操作,因为使用本机Android和iOS代码以插件的形式启用Flutter无法实现的功能是最有意义的。
还有第三种方法,就是保留您的Android代码,并仅使用Flutter 添加 功能。这很难实现,因为您必须创建一个接口才能从Android代码“切换”到Flutter。使用此功能,您还需要在Flutter或本机iOS中重写iOS的其余部件,这完全无济于事。
有一个很简单的答案。
Flutter 是本机SDK 之上 的 一层 。 这意味着 您 可以 保留您的代码,因为如果您查看Flutter 项目 ,就会发现目前可以使用的 结构 基本上是 三种 :
lib对于文件夹 飞镖 代码+文件扑需要例如包括 插件 ,简称: 飞镖代码 为 扑
lib
iOS适用于 Objective-C 或 Swift 代码的文件夹,其中还包含常用的iOS附件
iOS
android文件夹为任一 的Java 或 科特林 (或C ++)码和所有其他的gradle文件等
android
这意味着 ,您 可以根据需要 使用 本机代码 ,但不必这样做。
如果需要,可以 在开发过程中完全忽略android和ios文件夹。
ios
您很有可能只是在本机代码中修改应用程序图标,名称,版本名称,许可证密钥等方面。
Flutter 的 目标 是只在Dart中并且仅在Flutter SDK中编写所有代码,这意味着您现有的Android代码 可以 包含在项目中,但对iOS则没有任何用处,因为所有跨平台工作都在Dart使用Flutter SDK。
如果您确实要切换到Flutter SDK,则最好的选择是完全切换到Flutter,即 重写 Dart中的 所有功能。
没有将Android代码“转换”为Flutter代码的“导入”可能性。如果它们是用相同的语言编写的,这甚至不起作用,因为Flutter架构完全不同,并且构建应用程序的方式与Android应用程序没有远程关联。
如果您认为学习Dart并为跨平台重写应用程序不值得,但仍希望获得iOS支持,那么我建议您使用iOS本机编写,但是我对此问题的一般建议是在Dart中重写整个应用程序。