用Python定位android和iphone

时间:2011-06-02 15:47:42

标签: iphone android python

我想开发一个针对android和iphone的应用程序。我猜他们使用Java和Objective-C。我可以使用像Python这样的单一语言吗?这是最好的路线吗?我是否会通过使用Python丢失性能,功能等。我会遇到任何限制吗?

4 个答案:

答案 0 :(得分:3)

您无法在Android或iPhone平台上使用Python。 Apple SDK许可证显然没有这一点,而Android实际上只有Android scripting environment,但您很快就会意识到这并不适合最终用户。无论如何,iPhone不支持Python这一事实将其视为跨平台选项。

我认为构建支持Android和iPhone的真正跨平台应用的唯一方法是使用HTML5。当然,HTML5应用程序不是完全原生的,但您可能会想到一种混合设计,您可以在设备或网站上使用本地托管的HTML5内容,并在本机视图中显示它。

纯HTML5应用并非完全原生,因为它们是HTML5而不是CocoaTouch(Android)应用。他们只能做HTML5允许的内容和HTML5外观。一个主要限制是设备上没有可用的特殊硬件,如加速度计,陀螺仪等等。无论如何,它们提供了很大的灵活性和最大的跨平台兼容性。

这是一个极端。另一个极端是“完全本机应用程序”,即用Objective C / Cocoa Touch或Java / Android开发的应用程序。完全访问SDK,特殊硬件,本机外观,跨平台无兼容性。

还有第三种可能性,即混合应用程序。您可以定义本机框架UI(例如,在iPhone上,基于导航的应用程序),并通过HTML5提供视图内容和详细界面。骨架UI不是可移植的,但它允许您在纯HTML5应用程序上做更多的事情。这种方法通常需要在您的应用程序中使用HTML查看器类,以便您拥有:框架UI +本机Web查看器+ HTML5内容。

关于“在设备上本地托管的HTML5内容”:您可以在Web服务器上托管HTML5应用程序,也可以在本地托管设备并从那里加载(无网络访问)。

答案 1 :(得分:0)

phonegap 是您可以用来定位iPhone和iPad的方式之一。 android.through javascript,html。

答案 2 :(得分:0)

我所知道的最接近的是MonoTouchMonoDroid项目。它们允许您编写C#代码而不是Objective-C(适用于iPhone)和Java(适用于Android)。问题出现在UI中,因为不存在针对不同UI模型的通用抽象。理想情况下,您可以编写核心业务/域/任何代码,使其不依赖于UI,然后以这种方式重用。

我没有看过@Snicolas提到的Appcelerator,但它可以更好地在两个平台上提供完全抽象。

答案 3 :(得分:0)

我会考虑咬紧牙关,并瞄准最终学习Java和C / Objective-C的最终目标。我有一些比较here.所以也许在Java / Android中编写一个简单的应用程序然后尝试在iOS / C / Objective C中复制它。如果你的目标是让星星降落在月球上,你会忘记你在一生中学到了多少种语言。