答案 0 :(得分:34)
关于两个平台的相对限制性,有许多方面需要考虑。
在提交过程中,Android Market无疑比App Store的限制更少。好处是你可以在Android Market中获得你想要的任何东西。缺点是你可以在Android Market中获得你想要的任何东西(充斥着spam "applications"的市场在某种程度上是一种限制)。
iPhone方面的一个重大缺点是您安装不在App Store中的应用程序的选项有限 - 您可以将应用程序分发为测试版(限制为100个用户)或越狱iPhone。但是,Android允许您从任何地方安装应用程序,包括网页。
Android平台的核心设计理念之一是“所有应用程序都是平等的”,这意味着您可以使用第三方版本自由替换手机上的应用程序。实际情况并非如此,因为许多Google应用程序要么具有大多数应用程序无法使用的特殊功能(请参阅:Android Market),要么使用未记录的/本机API(请参阅:Calendar)。
另一方面,iPhone并没有提出关于平等的说法,而苹果公司的立场一般是“只有一种方法可以做到这一点,这就是Apple的方式”。Android是开源的 - 主要是(某些固件组件是封闭源代码)。即便如此,还是有一些火箭科学只是让Android codebase进行编译。此外,Google has sent cease & desist orders用于重新分发包含Android电子市场和Google地图应用的自定义图片。
iPhone是完全封闭的源代码,最近对开发者协议的更改一直存在争议,因为他们要求提交给应用商店的所有应用最初都是用"Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs"
撰写的Android SDK可以是freely downloaded; iPhone SDK需要免费下载user registration。 Android开发可以在Mac OS X,Windows或Linux下完成,而iPhone开发只能在Mac OS X下进行。如果您想在实际设备上测试您的软件,您还需要支付99美元的iPhone开发者帐户(而不是模拟器。)
最后但并非最不重要的是,用户群。当这个答案最初编写时,iPhone拥有更大的用户群,并且增长速度远远超过Android。随着Android开始支持多个运营商和硬件平台,这种情况正在发生变化(请参阅:Open Handset Alliance)。运行Android的list of devices现在已经很长了,虽然还没有匹配iPhone的受欢迎程度。
一些分析师现在报道称,Android的销量超过了iPhone,预计Android将很快超过iPhone市场份额。其他分析师认为苹果将在iPhone 4g发布时占据一席之地。前者似乎更有可能基于PC行业的平行历史 - Apple的设计和用户体验被 Google Microsoft复制并开放在商用硬件上运行。
答案 1 :(得分:32)
都能跟得上!这就是Android的魅力所在。即使有相同的AppStore,您也可以从任何地方下载应用程序。另外,它是用Java编程的,所以你不必担心像垃圾收集那样平凡的事情(只是以速度为代价)。
不要故意侮辱iPhone。这也是一个很棒的平台。
iPhone 3.0是朝着正确方向迈出的一步,但还有一些工作要做。
另外,你考虑过制作JB iPhone软件吗?我不确定它的市场份额,但我知道很多人使用越狱设备。
编辑:我已经阅读了一些类似问题的帖子,因为垃圾收集器导致Android的Java速度降低。需要注意的事项。
答案 2 :(得分:8)
如果你说iPhone是限制性的,我会将Android描述为不成熟。
如果您正在做一些非常重要的程序,Android中仍然会遇到很多错误。其中一些只存在于模拟器上,而其他只存在于实际的手机上。
虽然根据我的经验,使用Eclipse进行Android开发与使用Xcode在iPhone上进行开发一样好,如果不是更好的话。 Google提供的工具集非常完整,并且是跨平台的。垃圾收集器在编程时会产生巨大的差异。
我假设你已经有了Mac,否则iPhone根本不是一个选择。
答案 3 :(得分:7)
iPhone开发并不是特别限制。在Apple的App Store上获得最终的应用程序是一个限制性的部分。
如果您正在处理的应用程序遵循Apple关于允许iPhone应用程序执行操作的指导原则,那么选择该应用程序作为您的初始开发平台似乎是明智之举。如果它违反Apple的指导原则并且不能修改以遵循它们,那么您的市场将仅限于越狱手机 - 这是一个非常小的子集。
答案 4 :(得分:2)
Apple开放了吗?嗯..呃..不。封闭的硬件,封闭的软件,关闭一切。我认为恶魔岛比苹果更开放,至少你可以把你的牢房留在那里。
您可以为iPhone编写应用程序。它会被批准吗?不太确定。他们可以出于任何原因否认它。您可能使用了蓝色背景,Apple只喜欢白色和灰色,因此拒绝。
然而,对于Android,它是完全开放的。您可以为它开发,甚至开发Android本身。不要害怕被拒绝。
但严肃地说。苹果拥有更大的市场份额,数百万人使用和喜爱iPhone,他们很可能不会离开很长一段时间。另一方面,Android用于T-Mobile。有人甚至使用T-Mobile吗?
IMO,如果你没有gPhone,我会为iPhone开发。然而,尽管我不喜欢苹果这种封闭性的理念,但如果你想用你的申请赚钱,那么它们是更好的选择。
答案 5 :(得分:1)
有一些限制......
答案 6 :(得分:0)
是的,Android确实是开放的,您可以向Market Place发布您想要的任何内容 但是:
您仍然需要了解如何签署您的申请并注意市场上的技术发布要求(例如保留正确的版本ID等)。
如果你真的想从/向任何人发送/发送包,那么包的接收者(称为APK文件将需要知道如何使用名为'adb'的命令行工具来管理他们的手机安装和卸载应用程序。这很简单,但是 您需要安装Android驱动程序和SDK工具。
为了公平对待iPhone开发模式,您还可以合理轻松地分发应用程序的测试版本,尽管可能不像Android那样容易。您的测试人员需要在设备连接时为您提供他们从iTunes获得的特殊设备ID,然后您创建一个许可文件,其中包含您使用应用程序的发布目录分发的所有测试人员的密钥。然后,用户通过iTunes安装您的应用程序。
答案 7 :(得分:0)
不,您可以自行签署该应用程序,并通过您自己的网络服务器或其他方式分发生成的APK文件。
答案 8 :(得分:0)
'限制'可能意味着两件事:
YMMV
答案 9 :(得分:0)
在大多数情况下没有,但谷歌允许运营商和设备制造限制某些事情的能力。运营商可以阻止个人应用。运营商/制造商也可以阻止设备的某些功能。
一个例子是摩托罗拉Backflip,它不会让你安装非官方市场应用程序。还有一些手机无法进入官方市场。