可能重复:
Technology to write iPhone, BlackBerry and Android phone at the same time?
编辑 - 伙计们,我们需要再投一票来结束这个。这个问题是重复的(阅读评论)
我听说Apple禁止使用此类工具。好的,所以苹果公司在9月解除了他们的禁令。问题仍然存在 - 是否有一种理智的方式来开发应用程序到这两个平台,而不必写几乎所有的两次?
我是否缺少某些东西,或者当前的事态是否真的是每个开发跨平台的公司必须维持两个代码库?
答案 0 :(得分:6)
答案 1 :(得分:5)
您始终可以使用标准HTML5技术制作纯网络应用。 Apple有两种应用程序:使用Objective-C编写的App Store中的本机应用程序,或仅具有基础HTML5技术限制的Web应用程序。
如果您不喜欢纯网络应用程序,您甚至可以合并这两个应用程序并制作一个自定义应用程序,在嵌入式浏览器视图中显示大量自定义的类似Web的内容(iOS上的UIWebKit)。 Android和iOS Web浏览器框架来自WebKit,功能/外观/一致性非常接近。
不是从“我无法在Apple的封闭式iOS上做X”的观点开始,而是“我可以在任何支持的应用程序技术中执行此操作,即使其基于Web或Web应用程序混合,也可在所有应用程序中使用平台?“
答案 2 :(得分:3)
我最近对此做了一些研究,并找到了一些可以为你做这件事的公司。
所有解决方案都有优缺点。根据您的应用程序的复杂性,选择像开发那样的平台可能是一个很好的决定。如果他们支持的功能适合您的应用,则编写应用可能会快得多。现在,似乎它们都处于早期发布阶段,并且不支持开发人员习惯使用的完整工具包,例如调试器,完整的IDE支持等。此外,它们中的许多都构建为最低的常见功能设置,因此您可能无法获得所有新版本的功能,您必须等待发布特定版本的平台才能拥有它们。
答案 3 :(得分:2)
XMLVM可以将您的Android代码转换为适用于iPhone的Objective-C。但据我所知,你仍然需要一台Mac来编译iPhone应用程序。
答案 4 :(得分:1)
Android拥有NDK(本机开发工具包),允许C和C ++代码包含在APKG中,并通过JNI从Java调用。 Apple的工具链也将同时处理;不同的代码将是平台接口代码,主要是Android上的Java和iOS上的ObjC。
这仅在大部分应用程序使用C或C ++时有用。
答案 5 :(得分:1)
答案 6 :(得分:0)
9月份,Apple取消了iOS许可证中的一些限制,这些限制使得跨平台开发变得困难。见this press release。我不熟悉当前许可证的详细信息,但您可以通过他们的开发人员计划获得一份副本。
答案 7 :(得分:0)
另一种可能是Rhodes框架,如果你喜欢MVC,ORM和Ruby。
答案 8 :(得分:-3)
查看供应商显示为Android项目的Android的System.getProperty()
值。我没有看过iPhone或iPad,因为我没有,但希望他们也有一些改变。但这只适用于我所知道的java。