Flutter – 从现有的android项目导入
作者:互联网
我目前正在开发一个大约75%完成的android项目.我需要一个类似的iOS应用程序.
我可以导入这个项目来扑动吗?怎么样?
另外,flutter会支持我在这个项目中使用过的库吗?
解决方法:
Flutter应用程序完全不同,即不像Android,也不像iOS. Flutter有自己的架构,因此拥有自己的插件等.
摘要
不,您无法将现有的Android代码转换为Flutter的Dart代码,这是启用跨平台行为所必需的,因为Flutter SDK使用的所有代码都必须使用Dart编写.
但是,您可以通过将其包含在Android文件夹中并尝试将其与Flutter SDK集成来使用您的Android代码,这可能比仅仅在Dart中重写它可能要多得多.这也不是您通常想要做的事情,因为原生Android和iOS代码最有意义的是用于启用Flutter无法实现的功能,形式为plugins.
还有第三种方法,即保留Android代码并仅使用Flutter添加功能.这很难实现,因为您必须创建一个从Android代码“切换”到Flutter的界面.使用此功能,您还需要在Flutter或本机iOS中重写iOS的剩余部分,这对您没有任何帮助.
精
对此有一个非常直截了当的答案.
Flutter是原生SDK之上的一层.这意味着你可以保留你的代码,因为如果你曾经看过一个Flutter项目,你会发现它现在基本上可以使用三种结构:
>用于Dart代码文件的lib文件夹Flutter需要例如包括插件,简称:Flutter的Dart代码
>用于Objective-C或Swift代码的iOS文件夹,其中还包括常用的iOS附件
>用于Java或Kotlin(或C)代码和所有其他gradle文件等的android文件夹.
这意味着您可以根据需要使用本机代码,但不需要这样做.
如果你想`,你可以在开发过程中完全忽略android和ios文件夹.
您很可能只是在您的本机代码中修改应用程序图标,名称,版本名称,许可证密钥等方面.
Flutter的目标是在Dart中编写所有代码,并且仅在Flutter SDK中编写,这意味着您现有的Android代码可以包含在项目中,但它对iOS没有任何用处,因为所有跨平台工作都是在Dart制作中完成的使用Flutter SDK.
结论
如果你真的想切换到Flutter SDK,你最好的选择是完全切换到Flutter,即重写Dart中的所有功能.
将“Android”代码“转换”为Flutter代码没有“导入”可能性.如果它们是用同一种语言编写的话,这甚至都不会起作用,因为Flutter架构完全不同,而且构建应用程序的方式与Android应用程序没有太大关系.
如果您认为学习Dart并重写您的跨平台应用程序是不值得的,但您仍然需要iOS支持,我建议您使用iOS本机编写,但我对该问题的一般建议是在Dart中重写整个应用程序.
标签:android,ios,import,porting,flutter 来源: https://codeday.me/bug/20191004/1854430.html