我应该将我的Android应用程序移植到iPhone吗?

时间:2011-04-28 18:56:20

标签: iphone android

我已经为Android开发了一个应用程序,它运行良好,最后,感谢StackOverflow的所有帮助!!

现在我被要求让它在iPhone上运行。我刚才看了一下iPhone,但不是最近。

每个人都在想什么?我是否应该花时间学习Objective C和iPhone并移植应用程序或忘记它?

是否有任何交叉引用功能的书籍,以便您可以在iPhone上查找如何在Android上执行某些操作?

7 个答案:

答案 0 :(得分:5)

根据我在学校的经验,如果你已经能够在至少一个移动操作系统(如android)中创建一个可用的智能手机应用程序,那么在你能够理解目标C和可可框架之前不会花很长时间。唯一的问题是您可能需要Apple开发人员许可才能使用XCode。

所以,我会说,因为你也得到了报酬,这里也是Android开发人员iphone开发指南的链接:http://integratingstuff.com/2011/02/27/starting-iphone-development-as-an-android-developer/

答案 1 :(得分:3)

或许,让自己开发iOS的合作伙伴比自己做的更好。

专注于平台,让您的产品运行给所有用户。

答案 2 :(得分:3)

除非您使用的是支持iOS和Android的框架(类似the Corona SDK),否则您将无法转移过多的实际代码。想法,算法,逻辑,图形,设计等都将完全转移。这些是软件开发中最难的部分(IMO)。

如果您已经了解基于C语言(如Java),目标C(编写iOS应用程序的语言)并不是一种难以学习的语言。有一些概念是不同的,但在大多数情况下,它并没有那么糟糕。在iOS上开发的最大挑战是购买Mac。您可以在Windows或Linux机器上为Android编程,但iOS应用程序只能在Apple上开发。除非在Hacintosh领域发生了允许在其他平台上进行iOS开发的事情,否则您将无法购买新硬件。 但是如果您已经有Mac,请下载XCode并前往城镇!

像Haphazard所说,如果有足够的钱让它值得你的时间,那就去做吧。

答案 3 :(得分:2)

如果你得到报酬,那就去吧! (此外,这可能是一次很棒的学习经历。)

答案 4 :(得分:1)

我刚刚了解了这个并且还没有测试过,但根据您拥有的应用程序,您可以做的一件事情可以看一下PhoneGap。它看起来非常有前途,但它可能不适用于您的初始应用程序已经制作的情况。但是在将来这可能有所帮助。

答案 5 :(得分:1)

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

  1. 另一个平台上的应用程序有多少钱?
  2. 将来会发生多少次,或者这将成为唯一的应用程序? (学习未来其他平台的好处有多大)
  3. 在应用程序中有多少内幕专有技术人员愿意向另一个移植此应用程序的程序员透露(在我的情况下,我主要是设备处理应用程序,这并不是真的那么常见)
  4. 在移植应用程序上花费时间而不是在初始平台上开发另一个有利可图的机会成本是多少
  5. 如果您有任何可能性,您可以查看类似的应用程序,看看他们在这两个平台上的表现......

    祝你好运,不管你要做什么......

答案 6 :(得分:0)

不幸的是,您要么必须从头开始为iOS重新编写应用程序,要么将工作移交给经验丰富的iOS开发人员。您可以轻松地将应用程序中的逻辑和计算从Java移植到Objective C,但是用户界面是您无法真正重用任何内容(可能是图标的地方)的区域,并且用户界面往往占很大一部分大多数应用程序。

作为一个将我的多个应用程序移植到iOS的Android开发人员,我可以说这种过渡是艰难的。首先,您需要购买iPhone和Mac(如果尚未购买),因为没有Apple硬件就无法为iOS开发应用程序。其次,您需要学习如何使用XCode和Objective C或Swift。第三,由于XCode仅允许以图形方式创建用户界面(与之相反,Android允许您手动编辑XML),因此有很多隐藏的东西可能使您无法使用。

最后,对于习惯于Windows和Android Studio的用户来说,Apple和XCode环境似乎有些陌生。像Home和End键之类的东西的行为与Windows完全不同,这令人沮丧。另外,您还必须结合使用快捷键和鼠标移动来将用户界面元素连接到代码中。此外,还有很多烦人的事情,例如iOS上的弹出键盘不会像Android那样自动将内容推开。这可能是因为Android是为多种屏幕尺寸设计的操作系统,而iOS是为有限数量的屏幕配置而设计的,但是从开发人员的角度来看,这使iOS感觉较差且难以使用。