用Python同时支持Android和iPhone
我想开发一个可以在安卓和iPhone上运行的应用。我猜它们分别使用Java和Objective-C这两种语言。请问我能不能只用一种语言,比如Python?这样做是最好的选择吗?使用Python的话,会不会影响性能、功能等?我会遇到什么限制吗?
4 个回答
PhoneGap 是一种可以让你用 JavaScript 和 HTML 来开发 iPhone 和 Android 应用的方法。
在安卓和iPhone平台上,你不能使用Python。这是因为苹果的开发者协议明确禁止这样做。虽然安卓上有一个安卓脚本环境,但你会发现这并不适合普通用户使用。总之,由于iPhone不支持Python,所以它不能作为一个跨平台的选择。
我认为,想要开发一个真正支持安卓和iPhone的跨平台应用,最好的办法就是使用HTML5。当然,HTML5应用并不是完全原生的,但你可以设计一个混合的方案,把HTML5内容放在设备本地或者你的网站上,然后在一个原生的网页视图中展示出来。
纯HTML5应用并不是完全原生的,因为它们是HTML5而不是CocoaTouch(安卓)应用。它们只能做HTML5允许的事情,并且看起来也像HTML5的样子。一个主要的限制是,它们无法使用设备上的特殊硬件,比如加速度计、陀螺仪等等。不过,它们提供了很大的灵活性和最大的跨平台兼容性。
这是一种极端的情况。另一种极端是“完全原生应用”,也就是用Objective C/Cocoa Touch或Java/Android开发的应用。这种应用可以完全访问SDK和特殊硬件,外观和感觉都是原生的,但在不同平台之间不兼容。
还有第三种可能性,就是混合应用。你可以定义一个原生的基础用户界面(比如在iPhone上做一个基于导航的应用),然后通过HTML5提供你的视图内容和详细界面。这个基础用户界面不能移植,但它能让你做更多的事情,比纯HTML5应用要强大得多。这种方法通常需要在你的应用中使用一个HTML查看器类,这样你就有了:基础用户界面 + 原生网页查看器 + HTML5内容。
关于“在设备本地托管的HTML5内容”:你可以把你的HTML5应用托管在一个网络服务器上,或者直接放在设备本地并从那里加载(不需要网络访问)。