我们制作了一个具有2000+目标c类的退出大型iOS应用程序。我想知道有一个最佳实践指南将其移植到Android?目前我正在研究Visual Paradigm(UML),它将工程目标c文件反向工程到UML。与Enterprise Architect一样,它也允许我为另一种流行语言(如java或c ++)生成代码(标题+声明)。还有其他方法吗?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现。
到目前为止,感谢guenter
答案 0 :(得分:7)
老实说,我认为你正在制定的目标只是制作难以维护的糟糕代码。我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写。
答案 1 :(得分:4)
Apportable SDK
它将Objective-C应用程序交叉编译到Android,而不对原始代码库进行大量更改。 Apportable不是将代码转换为Java,而是交叉编译您的代码,直接在Android设备的处理器上运行,绕过Java运行时,从而实现与iOS版本相媲美的速度和性能。
该平台已经在Apportable的超过150种设备的库中进行了测试,在野外,Apportable驱动的应用程序已经在数千台设备上获得了5星评价。
查看sdk here
答案 2 :(得分:1)
从C或C ++到Android,你可能最好使用NDK。问题是我不认为这对于Objective C来说是可能的(至少不是直接?)。
我认为最好尝试转到C,然后使用NDK将其转换为适用于Android的应用。从你的代码开始,通过UML到JAVA听起来就像是一个更难的选择。
答案 3 :(得分:1)
AFAIK没有将Objective-C转换为Java的自动工具。有java2objc反过来。
以下是将Objective-C移植到Java的一些官方提示:http://www.nextcomputers.org/NeXTfiles/Software/WebObjects/Guides/PortingObjectiveCtoJava.pdf
我不是iOS专家,但AFAIK iOS没有布局管理器 - 它使用XIB / NIB进行布局(或动态代码,不建议使用)。在Android上有布局类,主要用于支持不同的分辨率。此外,布局为declared via XML files.
所以看来你面前有很多手工编码。由于项目规模很大,我会得到一位了解Android和iPhone的专家的帮助。
答案 4 :(得分:0)
只是为了让你知道这个故事是如何结束的,我一直在使用Sparx Enterprise Architect,并且我的设计,架构和文档都得到了很好的控制,最终除了JavaScript之外的所有平台。集成新功能时有点乏味,但在企业环境中,它为我节省了大量时间。我们正在开发iOS,桌面(Web2.0 / HTML5),Android,Blackberry,Symbian和一些路由器系统。为了摆脱平台特定的事情,我总是引入了一个额外的层。到目前为止,我们的产品似乎有效。
再次感谢所有人,g。
答案 5 :(得分:0)
MyAppConverter 服务有助于将原生iOS移动应用即时转换为原生Android应用,但它并不主要关注应用的外观和用户界面互动。这意味着它不会复制您的应用程序。相反,MyAppConverter会进行所有更改,以使项目适合开发Android应用程序。
MyAppConverter目前仅支持 iOS 到 Android 转换和 objective-c < / em> 到 swift 。