我目前正在做一个Android项目,已经完成了大约75%.我需要一个类似的iOS应用程序.

我可以将此项目导入Ffltter吗?多么?

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

推荐答案

Flutter applications work completely different,即既不像Android也不像iOS.Ffltter有自己的架构,因此有自己的插件等.

摘要

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

However,您只需将其包含在Android文件夹中即可使用Android代码,而trying则将其与Ffltter SDK集成,这可能比完全用DART重写要多得多.这也是你通常想要做的not,因为原生Android和iOS代码最有意义的是用来启用你用Ffltter无法实现的功能,以plugins的形式.

还有第三种方法,那就是你保留你的Android代码,只保留add个带有Ffltter的功能.这很难实现,因为您必须创建一个接口来"切换"Android代码.使用此功能,您还需要用Ffltter或本地IOS重写IOS的其余部分,这对您没有任何帮助.

精雕细琢

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

Flutter是本机SDK的layer on top.could保留代码是因为,如果你看一看Flatter project,你会发现它目前基本上有three structures个,你可以使用:

  • 用于Dart代码+文件的lib文件夹Flutter 需要包括例如plugins,简写:Dart code for Flutter

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

  • android文件夹,用于JavaKotlin(或C++)代码和所有其他Gradle文件等.

This means如果你愿意,你can可以使用native code,但你不需要这么做.

You can completely ignore the 100 and 101 folders during development if you want to`.

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

Fluttergoal是用DART编写所有代码,只能用Ffltter SDK编写,这意味着您现有的Android代码could将包含在项目中,但它对iOS没有任何用处,因为所有跨平台的工作都是在DART中利用Flutter SDK完成的.

Conclusion

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

不存在将Android代码"转换"为Flutter 代码的"导入"可能性.如果它们是用同一种语言编写的,这甚至是行不通的,因为Ffltter架构完全不同,你构建应用程序的方式与Android应用程序没有丝毫关系.

如果你认为学习DART和重写跨平台的应用程序不值得,但你仍然想要iOS支持,我会建议你用iOS原生语言编写,但我对这个问题的一般建议是用DART重写整个应用程序.

Flutter相关问答推荐

Flutter flutter_Local_notices点击通知时,打开特定页面

我遇到了一个问题,从showDialogue()调用Navigator.pop()两次导致屏幕空白

Flutter -设计具有奇怪边界的容器的方法Radius

在Flutter中,CachedNetworks Image不工作(不从CachedData加载)

我不能通过第5步了解Flutter 翼Firebase教程

Flutter 动画列表一次构建所有项目,而不是仅构建可见的项目

从外部类动态更改IconButton的图标

如何删除使用isscllable时出现的左边距?

如何从文本比例因子迁移到文本比例因子

如何修改来自合并 list 的 Android list 权限?

无法在 Flutter 项目中安装最新版本的 image_picker

Flutter:注册 UI 出现 UI 问题(将注册框提升到顶部并向电话号码 pin 码添加一个框)

课程中的访问Provider

Flutter - firebase_auth_web 5.4.0 依赖于 intl ^0.17.0 但我必须使用更高版本 (intl ^0.18.0)

更改 flutter listview 中的布局

Flutter blue plus 库,当try 从 esp32 驱动程序获取 PlatformException 时读取特性

当我使用 Confetti Widget 时,Flutter Android 和 IOS 应用程序崩溃

无法列出 com.facebook.android:facebook-login -Facebook 登录问题的版本

解密 Modulr 安全令牌

Textfield 和 MasonryGrid 给出错误(垂直视口的高度没有限制)