将 iPhone/iPad 应用程序转换到 Android
我已经开始使用 iPhone SDK 在 iPhone 和 iPad 上构建自己的应用程序。客户经常问的下一个问题是:“我们可以在 Android 上使用它吗?”
所以我向你“互联网”提出的问题是:我有什么选择?
我没有时间学习另一种语言(学习iOS就足够了!),那么有没有专门从事这方面的公司,或者有没有在线服务可以进行转换?
对此欢迎有任何帮助,只需要知道该走哪条路......
I have started to build my own apps on iPhone and iPad using the iPhone SDK. The next question that is always asked by the client is, "Can we have it on Android?"
So my question to you, 'the internet', is: what are my options?
I don't have the time to learn another language (learning iOS has been enough!), so are there companies who specialize in this, or are there any online services that do a conversion?
Any help on this welcome, just need to know which way to turn...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
不,无法将现有 iOS 应用程序转换为 Android 应用程序。
但是,有些跨平台框架允许您编写一次代码并将应用程序部署在多个平台上。最流行的基于 HTML/CSS/JavaScript,其中之一是 PhoneGap。
您还可以使用 Adobe 技术进行 iOS 和 Android 开发,例如 Adobe AIR(Apple 禁止这样做,直到最近)。
还有一些在线服务(例如 Mobile Roadie)允许您使用内容管理系统生成跨平台应用程序。
也就是说,我强烈建议:
No, there is no way to convert an existing iOS app to an Android app.
However, there are cross-platform frameworks that allow you to code once and deploy your app in more than one platform. The most popular are based on HTML/CSS/JavaScript and one of them is PhoneGap.
You can also develop for iOS and Android with Adobe technologies such as Adobe AIR (this was forbidden by Apple until recently).
And there are online services (such as Mobile Roadie) that allow you to generate cross-platform apps using a content management system.
That said, I strongly recommend to:
将本机应用程序从一个移动平台转换到另一个移动平台并不是一个直接的过程,除非初始应用程序从一开始就使用具有跨平台功能的框架构建。
此时,您的选择是了解其他平台并自行开发,或者与专门从事您需要的目标平台的另一家开发公司签订合同。
Converting a native application from one mobile platform to the other is not a straight-forward process unless the initial application was built with a framework with cross-platform capabilities from the start.
Your options at this point are learn the other platform and develop it yourself, or contract with another development company which specializes in the platform you need to target.
由于两个平台之间存在巨大差异,您需要完全重写您的应用程序。你要么自己做,要么花钱请别人做。我看不出有什么捷径可走。
Due to the massive differences between the 2 platforms, you are looking at a complete rewrite of your application. You either do it yourself or pay someone else to do it. I don't see any shortcuts you can take.
您可能有兴趣阅读我的书《适用于 iOS 和 Android 的 HTML5》,这本书使您能够使用 HTML、JavaScript 和 Android 创建的 Web 应用程序。 CSS,并将它们转换成独立的应用程序,您可以将其上传到应用程序商店(免费或出售)。请参阅 http://html5formobile.com - 用于 iOS 和 Android SDK 的包装器可在网站上免费获得,如果您按照书中的说明进行操作,则不需要任何编程语言的知识。
You may be interested in reading my book, HTML5 for iOS and Android, which enables you to take web apps created in HTML, JavaScript & CSS, and turn them into standalone apps that you can upload to the app stores (for free or to sell). See http://html5formobile.com - the wrappers to do this for the iOS and Android SDKs are freely available on the website, and you don't need any knowledge of either programming language if you follow the instructions in the book.
您可以尝试以下https://bitbucket.org/zabirauf/icona。
其开源 iOS 到 Android 应用程序转换工具。
You can try the following https://bitbucket.org/zabirauf/icona.
Its open source iOS to Android Application Conversion Tool.
即使有一种方法可以轻松地将 Objective-C 应用程序移植到 Java,我也不会强烈鼓励它。 iPhone用户和Android用户是两个不同的用户群体。典型的 iPhone 界面不太适合不熟悉 iPhone 工作原理的 Android 用户。是的,我知道 iPhone 和 Android 的 UI 对于大多数人来说似乎都很简单,但是当您打破新手的舒适区时,您的应用程序(或网站)就会处于更高的学习曲线上。
您应该花时间学习 Android 的语言和 UI,并以与 Android 上应用程序的工作方式一致的方式开发应用程序。正如其他答案中所说,如果您自学了 Objective-C,您应该会发现 Java 对您来说非常容易。此外,了解一种以上的编程语言也没什么坏处。
Even if there was a way to easily port an Objective-C application to Java, I wouldn't highly encourage it. iPhone users and Android users are two different families of users. The typical iPhone interface just wouldn't sit well with Android users who aren't familiar with how the iPhone works. Yes, I understand that the UIs of both iPhone and Android seem pretty trivial to learn to most people, but when you break a novice's comfort zone, it puts your applications (or websites) on a higher learning curve.
You should take the time to learn Android's language and UI and develop your application in a fashion that is consistent with how applications on Android work. As said in other answers, if your taught yourself Objective-C, you should find that Java will come pretty easily to you. In addition, in never hurts to know more than one programming language.
您不能只是将 iOS 应用程序转换为 Android 应用程序。 iOS 是 Objective-C,Android 是 Java。
我非常怀疑互联网上是否存在“转换器”,即使存在,这也不应该是您编写应用程序的方式,因为每个 SDK 都有自己的特殊功能,您应该使用它们来获得最大的用户体验。
我确信有一些公司专门将应用程序从 iOS 移植到 Android。在谷歌上查一下我会说..
You can't just convert iOS apps into Android. iOS is Objective-C and Android is Java.
I highly doubt there are 'converters' on the internet, even if there are that's not the way you should program an app because every SDK has his own special capabilities and you should use them for maximum user-experience.
I'm sure there are some companies who specialize in porting apps from iOS to Android. Look it up on Google I'd say..
如果你想要一个简单的地方来寻找 Android 开发,你可以尝试 appMaker,我听说它是一个基于 GUI 的 Android 开发工具,或者我相信 Google 已经发布了自己的基于 GUI 的 Android 应用程序开发工具。如果您不是 Java 程序员,那么使用 GUI 可能会更好。否则我会说android与传统的java没有太大区别。作为一名从 Android 转向 iOS 的 Java 程序员,我会告诉你,与学习 iOS 相比,Android 简直就是在公园里散步。在我看来,这是两种完全不同的野兽。
If you want an easy place to look for android development you can try appMaker which I hear is a GUI based Android development tool or I believe Google has released its own GUI based android application development tool. If you are not a java programmer than you might be better off with the gui. Otherwise I would say android is not too different from traditional java. As a java programmer who went from Android to iOS, I will tell you Android is a walk in the park compared to learning iOS. Two completely different beasts in my opinion.
选择一个移动开发环境,使您能够编写一次并在许多设备上部署/分发它,这将是未来更好的解决方案。如果您的应用程序基于 HTML,请使用 HTML5/CSS 替代方案(例如:PhoneGap,)。如果您更喜欢本机,那么您可能想学习 Lua,一种脚本语言(例如:Gideros Studio)或C++(例如:Mosync)。
除此之外,您使用 Objective-C 在 iOS 上创建的应用程序非常非常难以移植到 Android 和其他设备。
Selecting a mobile development environment which will enable you write once and deploy/distribute it on many devices would be a better solution in the future. If your application is HTML-based, go with HTML5/CSS alternative (ex: PhoneGap, ). If you prefer native, then chances are you may want to learn Lua, a scripting language (ex: Gideros Studio) or C++ (ex: Mosync).
Other than that, the application you created on iOS with Objective-C is very, very hard to port to Android and other devices.