我应该将我的安卓应用移植到iPhone吗?

4
我已经开发了一款适用于 Android 的应用,目前运行良好,非常感谢 StackOverflow 给予的所有帮助!!现在我被要求让它在 iPhone 上运行。我之前看过 iPhone,但最近没有了解。大家认为呢?我是应该花时间学习 Objective C 和 iPhone 并移植这个应用,还是放弃呢?是否有任何跨引用函数的书籍可以让您在 iPhone 中查找如何实现 Android 中已有功能的方法?

除非你在C语言(Android NDK)中写了一个巨大的代码块,否则你可以忘记重用它。 - Daniel Sloof
7个回答

5
根据我的学校经验,如果您已经能够在至少一个移动操作系统(如Android)中创建工作的智能手机应用程序,那么很快就可以理解Objective C和Cocoa框架。唯一的问题是可能需要苹果开发者许可证来使用XCode。
因此,我建议您尝试一下,因为您还可以得到报酬。此外,这里有一个链接,为Android开发人员提供iPhone开发指南:http://integratingstuff.com/2011/02/27/starting-iphone-development-as-an-android-developer/

4

也许与其自己开发iOS应用,找一个能够开发iOS应用的合作伙伴更好。

专注于一个平台,让你的产品覆盖到所有用户。


3
除非您使用支持iOS和Android的框架(例如Corona SDK),否则您不会有太多实际的代码可以转移。想法、算法、逻辑、图形、设计等都可以完美转移。这些是软件开发中最难的部分(在我看来)。
Objective C(iOS应用程序所编写的语言)并不难学,如果您已经掌握了基于C的语言(如Java)。虽然有一些概念是不同的,但大部分都不那么困难。在iOS上开发的最大挑战是购买Mac电脑。您可以在Windows或Linux计算机上为Android编程,但iOS应用程序只能在Apple设备上开发。除非Hacintosh领域出现了某些事情,允许在其他平台上进行iOS开发,否则您只能购买新硬件。但是,如果您已经有一台Mac电脑,请下载XCode开始吧!
正如Haphazard所说,如果这项工作有足够的利润,那就去做吧。

2
如果你可以得到报酬,就去做吧!(而且这可能会是一个很好的学习经验。)

1

我刚学习到这个,还没有测试过,但是根据你所拥有的应用程序,你可以尝试一下PhoneGap。它看起来非常有前途,虽然可能无法在你已经制作好的初始应用程序中使用。但是在未来,这可能会有所帮助。


1

当我需要做出同样的决定时,我考虑了以下标准:

  1. 在另一个平台上的应用有多少钱?
  2. 这种情况将来会发生多少次,或者这将是唯一的应用程序吗?(学习其他平台对未来的好处有多大)
  3. 应用程序中有多少内部知识是愿意透露给另一个程序员移植此应用程序的(在我的情况下,我主要处理设备应用程序,这并不是很常见)
  4. 将时间花费在移植应用程序而不是在初始平台上开发另一个有利可图的应用程序的机会成本是多少

如果有可能,您可以查看类似的应用程序,并查看它们在两个平台上的表现...

祝你好运,无论你要做什么...


0

很遗憾,您要么必须从头开始为iOS重新编写应用程序,要么将工作交给有经验的iOS开发人员。您可以相对容易地将应用程序中的逻辑和计算从Java移植到Objective C,但用户界面是您无法真正重用任何东西的领域(除了图标),而用户界面往往是大多数应用程序的重要组成部分。

作为一名已将我的几个应用程序移植到iOS的Android开发人员,我可以说这个转换是困难的。首先,您需要购买iPhone和Mac(如果您还没有这些设备),因为没有苹果硬件,您无法开发iOS应用程序。其次,您需要学习如何使用XCode和Objective C或Swift。第三,由于XCode仅允许以图形方式创建用户界面(与Android相反,后者允许您手动编辑XML),因此有许多隐藏的事情可能会导致您失败。(更新:使用新的SwiftUI方法进行用户界面设计可以帮助解决最后一个问题,并且在我看来使从Android到iOS的转换更加容易)。

最后,对于习惯了Windows和Android Studio用户来说,Apple和XCode环境可能会感觉非常陌生。例如Home和End键与Windows完全不同,这很让人沮丧。另外,您必须使用键盘快捷键和鼠标移动的组合将用户界面元素连接到您的代码中。此外,iOS上的弹出键盘不像Android那样自动把内容挤开,这是一个大问题。这可能是因为Android是为多种屏幕尺寸设计的操作系统,而iOS则是为有限数量的屏幕配置设计的,但这使得iOS在开发者眼中感觉不如Android那么好用和难以处理。(更新:在SwiftUI中使用ScrollView可以解决键盘遮挡问题)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接