我有兴趣开始为手机编写应用程序。主要的两个当然是 Android 和 iOS(但对于 Windows 也只能是一件好事)。
我只是想决定选择哪个选项:
我是一名 .NET 程序员(以及业余爱好的 Python Web 开发人员)——因此这是我所有经验的所在。
几年前我在大学学过一点 Java,如果我重新开始,我相信它会开始泛滥。
所以我的选择是:
1) 用 Java 开发 Android 应用程序 用 C++/Objective C 开发 iOS 应用程序。
我不太介意学习一门新语言 - 但尝试学习 2 可能有点多,而且我不想限制自己只在一个平台上发布应用程序。
2) 用Java 开发Android 应用程序。使用 googles j2Objc ( https://code.google.com/p/j2objc/ ) 将 java 代码转换为 Objective-C 以便能够在 iOS 上本地编译/运行。
听起来不错,如果效果好的话。但是是否有很多 iOS SDK 功能由于 Java 中不存在而无法使用?
3) 使用 C#/.NET 开发并使用 MONO 在 android 和 iOS 上分发它们。(这大概也允许轻松访问发布 Windows 移动应用程序?)
听起来不错,如果它运行良好。我已经很了解 .NET,所以从一开始就可以减轻很多痛苦。
我(目前)并不是真的想开发“游戏”——我更关注各种不同类型的应用程序——从数据驱动到图像处理再到大量计算。
如果我没有沿着路线 2 或 3 走下去,我相信我仍然必须使用本机应用程序(xcode 和一些 java?)来设计 UI,对吗?
我只是想知道是否有人对 Monotouch、Android 单声道或 Java->ObjectC 转换器有任何经验,或者可以提出任何更好的方法。
抱歉,如果这是一个常见问题,我能找到的唯一答案或文章是几年前的,从那时起事情(大概)发生了很大变化!
TL;DR
以最少的麻烦为多个平台开发应用程序的最佳方式是什么。