Flutter - 从现有的android项目导入

Ras*_*hiq 18 import android porting ios flutter

我目前正在开发一个大约75%完成的android项目.我需要一个类似的iOS应用程序.

我可以导入这个项目来扑动吗?怎么样?

另外,flutter会支持我在这个项目中使用过的库吗?

cre*_*not 34

颤动的应用程序完全不同,即不像Android,也不像iOS.Flutter有自己的架构,因此拥有自己的插件等.

摘要

,您无法现有的Android代码转换为Flutter的Dart代码,这是启用跨平台行为所必需的,因为Flutter SDK使用的所有代码都必须使用Dart编写.

但是,您可以通过将其包含在Android文件夹中并尝试将其与Flutter SDK集成来使用您的Android代码,这可能比仅仅在Dart中重写它可能要多得多.这也不是您通常想要做的事情,因为原生Android和iOS代码最有意义的是用插件形式启用Flutter无法实现的功能.

还有第三种方法,即保留Android代码并仅使用Flutter 添加功能.这很难实现,因为您必须创建一个从Android代码"切换"到Flutter的界面.使用此功能,您还需要在Flutter或本机iOS中重写iOS的剩余部分,这对您没有任何帮助.

对此有一个非常直截了当的答案.

Flutter是原生SDK 之上一层.这意味着可以保留你的代码,因为如果你曾经看过一个Flutter 项目,你会发现它现在基本上可以使用三种结构:

  • lib对于文件夹飞镖代码+文件扑需要,例如包括插件,简称:飞镖代码

  • iOSObjective-CSwift代码的文件夹,其中还包括通常的iOS附件

  • android文件夹或者爪哇科特林(或C++)码和所有其他的gradle文件等

这意味着可以根据需要使用本机代码,但不需要这样做.

如果你想要,你可以在开发过程中完全忽略androidios文件夹.

您很可能只是在您的本机代码中修改应用程序图标,名称,版本名称,许可证密钥等方面.

Flutter目标是在Dart中编写所有代码,只在Flutter SDK中编写代码,这意味着您现有的Android代码可以包含在项目中,但它对iOS没有任何用处,因为所有跨平台工作都是在Dart使用Flutter SDK.

结论

如果你真的想切换到Flutter SDK,你最好的选择是完全切换到Flutter,即重写Dart中的所有功能.

将"Android"代码"转换"为Flutter代码没有"导入"可能性.如果它们是用同一种语言编写的话,这甚至都不会起作用,因为Flutter架构完全不同,而且构建应用程序的方式与Android应用程序没有太大关系.

如果您认为学习Dart并重写您的跨平台应用程序是不值得的,但您仍然需要iOS支持,我建议您使用iOS本机编写,但我对该问题的一般建议是在Dart中重写整个应用程序.