主题:iPhone和Android应用开发:优缺点比较
正序浏览
主题图片汇总
主题内检索
资深泡菜
泡网分: 22.353
主题: 17
帖子: 1697
注册: 2006年6月
iPhone和Android应用开发:优缺点比较

2010年07月15日 10:25分         作者:胡杨编译     来源:网界网

摘要:智能手机及其应用程序正在成为这个世界的一种新的生活方式。开发人员正在被它们的日益流行所吸引。但是,由于有两个主要的平台(苹果最近升级并且重新命名的iOS 4和谷歌的Android)相互之间进行竞争,开发人员如何在它们之间进行选择呢?

标签:Android  iPhone  应用开发

【CNW_com_cn 资讯】智能手机及其应用程序正在成为这个世界的一种新的生活方式。开发人员正在被它们的日益流行所吸引。但是,由于有两个主要的平台(苹果最近升级并且重新命名的iOS 4和谷歌的Android)相互之间进行竞争,开发人员如何在它们之间进行选择呢?

事实上,希望看到自己的应用有最大曝光率的开发人员怎样从上述的一个或两个平台获得收益呢?存在的障碍是什么?开发者如何绕过障碍?我将分析这些问题并且转达两个平台的资深开发人员的忠告。

编程语言

对于那些希望开发一个应用然后指望能在多个移动平台上运行的开发人员来说,这种情况在目前的世界是很困难的。

Android应用是用Java语言编写的。许多开发人员通过熟练掌握Java语言在企业中获得了职位,因此为Android平台开发应用很自然地适合这些人。

另一方面,运行在苹果iPhone操作系统上的原生应用是用苹果的Objective-C语言编写的,Objective-C语言是一种包含Smalltalk语言元素的非标准C语言。在职业生涯中使用C和C++语言的开发人员可能发现 Objective-C语言不难掌握,尽管在开发过程中也许会遇到小障碍。

英国一家软件公司AMX Software的经理、即将出版的《多移动开发:为智能手机构建应用》一书的作者Matthew Baxter-Reynolds说,没有任何明显的方法可以为这两个平台编写一套代码。你不能在iPhone上运行Java,你也不能在Android上运行Objective-C。

为多平台编写应用

情况暂时就是这样:你必须用每个设备的原生语言开发应用。然而,在过去的一年左右的时间里,市场上出现了一些新的工具和开发平台,能让程序员不用学习Objective-C语言就可以创建iPhone应用。

Rhomobile的Rhodes、Nitobi的PhoneGap、Appcelerator的 Titanium和Ansca的Corona等工具让创建能在iPhone、黑莓、Windows Mobile、Symbian和Android等平台上运行的应用变得比较简单。

然而,这些仿真器和运行时间层都是新的,功能不全。上网和下载信息等简单应用对于这类框架是合适的,而依赖大量计算和数据库访问的移动应用--包括一些定制编写的商业应用--就不适合,因为运行一个兼容性框架会过度消耗性能有限的移动处理器,这是大多数用户不能接受的。

此外,对于游戏或者视频编辑器等图形密集型应用,目前还没有提供跨平台支持的好的解决方案。

换句话说,没有任何东西可以改变这个事实:你在使用两个不同的平台和两种不同的原生语言。目前的解决方案是用目标平台的原生语言改写应用。

封闭系统 vs 开放系统

一些开发人员喜欢Android,因为它提供一个开放的开发平台。在这个平台上可以开发出具有潜在颠覆性特色的丰富应用。开发人员能够利用Android设备硬件,创建基于设备上的GPS和其它感觉信息的位置应用,设置闹钟提醒用户有关活动,在设备的状态条上包含通知和其它信息,等等等等。

相比之下,iPhone很难显示多项通知信息,因为应用仅限于使用一次只能显示一个信息的弹出式消息。此外,Android开发人员(至少在美国是如此)能够利用运营商针对广泛的Android设备提供的各种功能,而iPhone设备仅限于 AT&T允许的网络功能。

利用Android 2.2开发工具的功能,开发人员能够创建或者使用触摸屏或者使用设备键盘的应用。这点非常重要,因为Android开发人员必须适应范围更大的设备,所有设备都有不同的硬件配置。

Justin James最近在TechRepublic网站发表的一篇文章中报告称,谷歌的Android开发支持者Jason Chen说,初期Android开发人员遇到的两个最大的障碍是理解、驾驭Android平台的多任务以及完美解决应用中断,如收短信或接电话。

另一方面,开发人员在为iPhone编写应用的时候会很顺利,至少在开始的时候是如此。由于 iPhone操作系统是一个封闭系统,是专门为苹果自己的设备创建的,开发人员有已知的目标设备范围,有明确的功能和局限性范围。

一些开发人员报告称,这种封闭系统模式有更好的可用性,这是苹果产品一直倍受称赞的一个特点。把手机、操作系统和第三方应用这样紧密地集成在一起,很容易满足用户明确的预期,如给手机找一个应用,应用安装到手机上能够做什么,应用将支持什么功能。

从设计的角度看,这是一件好事。但是,在某些实例中--例如,你的软件能更好地适合不同类型的设备,或者至少是不一样的--它限制了开发人员创建应用的灵活性。

学习资源和测试工具

提高速度是开发过程的一个重要部分。苹果以许多方式向iPhone应用开发人员提供信息,包括多媒体方式。加拿大不列颠哥伦比亚省温哥华市的软件开发商MAKE Technologies公司的David Green说,视频中解释了许多重要概念,使许多复杂的概念变得简单。然而,我发现那些视频进展非常慢,我观看了几个小时才找到应该用几分钟时间就能找到的信息。

相比之下,Android对开源应用的支持使样本应用和其它应用更容易学习。Green说,我也下载了许多开源Android项目,以便了解架构和应用程序编程接口的使用。这是Android具有优势的地方,因为根据苹果以前的保密协议政策,iPhone 在开源方面没有那样多的项目。

当然,对于应用开发者来说,开发环境和测试工具构成了整个体验的相当大的一部分。Green 说,Android在这个方面是明显的赢家。Android开发过程利用了极好的JDT工具。每一个Eclipse软件都使用了JDT工具。我使用这些工具已经有许多年的时间了。这些工具非常好。有关Java的一切都提供了索引。集成开发环境有丰富的源代码模型,而且源码处理非常匹配,以至于都改变了我的工作方式。

在iPhone方面,据Green说,苹果的Xcode集成开发环境根本不能相比。Xcode非常糟糕,我几乎都不知道从哪里开始。

Green建议Xcode至少应该进行以下一些改进:增加窗口/编辑器管理系统,方便使用;增加集成应用程序编程接口说明文件,节省时间;增加内容辅助功能,比目前可用的编程规范集合更大。

不允许使用Java或者Flash?

最近,苹果经常公开批评Adobe的Flash技术的稳定性和有用性。苹果过去对Java语言也有过类似的指责。这些指责可能来自苹果首席执行官史蒂夫·乔布斯等高级官员,苹果规定iPhone及其各种姊妹技术将不支持Flash或者Java。在最近的 iOS 4.0发布期间,在被问到是否会改变立场时,乔布斯回答说"不"。

在一个只需要触摸几下或者点击几下就可以下载的环境中,安装和运行应用都是无缝完成而且是以无线方式完成的,人们可能会说,必须采取某些合理的保护措施,保护用户防止受到恶意应用的攻击。不过,这会限制开发人员为iPhone开发应用的灵活性,特别是当音频、视频、动画等功能是一个应用的关键组件的时候。

Baxter-Reynolds说,目前,苹果的集成开发环境许可证还存有一些疑问,即苹果是否允许用间接层或转换工具编写的应用在苹果应用商店销售。

Baxter-Reynolds说,苹果目前提供的信息是iPhone应用必须用这种手机的原生语言编写。因此,开发人员要努力维护和开发一个代码集,把iPhone包含在目标平台中。这种做法令人遗憾,因为这样做是为了合法,而不是由于技术原因。

批准与付款

iPhone平台的限制没有减缓这种手机本身的流行和苹果应用程商店的成功。iPhone继续大量地销售。苹果应用商店目前已出售22.5万个iPhone、iPod和iPad应用。

苹果还为那些不想让苹果应用商店审批自己开发的应用的开发人员提供了一个开放的应用编程接口。这些开发人员可以把打包的应用放在自己的网站,然后告诉用户可以下载安装这个应用的地址。但是,以这种方式部署iPhone应用,开发人员肯定会失去成千上万专门浏览苹果应用商店的那些人的关注,得不到在那里的销售收入。

要走苹果商店路线的开发人员可以报名参加iPhone开发者计划。这个计划允许开发人员得到销售收入的 70%,而不必支付应用的任何分销成本。然而,要使用iPhone软件开发工具,开发人员必须支付每年99美元的费用。付费之后,开发人员将得到一个在苹果商店出售应用所需要的数字证书签名。

批准过程在2009年通常需要几个星期的时间,现在已经减少到了只需几天时间,不过,专为iPad开发的应用目前的批准过程可能会长一些。

相比之下,Android市场对于编写应用的语言、应用的功能或应用的其它属性都没有限制。注册 Android市场的开发人员一次性支付25美元的注册费,以后70%的销售收入归开发人员所有。开发人员也可以自由地在其它应用市场发布同样的应用,没有任何限制。

展望未来

从最终用户的角度看,支持和反对苹果和谷歌采取的方法的论点都与开发人员创造的应用的最终消费者没有关系。对除极少数用户之外的大多数人来说,重要的是综合体验:形式与功能的结合。

此外,技术的进步通常都会使有关工具和平台的任何论点变成过时的东西。正如Baxter- Reynolds指出的那样,即将推出的HTML 5标准将为许多开发人员解决Adobe与苹果之间的大部分争论。

Baxter-Reynolds说,这不是世界末日。Android和iPhone都使用极好的 WebKit浏览器框架。这个框架承诺完全支持HTML 5,并且将在未来几年里转变为一个跨平台的应用平台。此外,HTML 5的发展意味着将有学习这种语言的大量学习文档和开发人员希望的在任何环境下开发HTML代码的自由。

不管是什么结果,移动应用领域的有趣的时代就要到来了。(胡杨编译)
相关标签: iPhone iPad Make
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
浏览:2930 回帖:9
第 1 页 / 共 1 页
游客没有回帖权限
资深泡菜
泡网分: 74.027
主题: 291
帖子: 29013
注册: 2005年10月
内容贡献勋章
原文由 ecloud 在2010-08-02 16:43发表

daydream

Linux上apt/yum/yast等等各自为战的源,就是Andriod的明天


确实,现在看Andriod就是这个状态了

Linux还好,只是软件

现在Andriod的旧版OS的机器,比如HTC G2,厂家根本不管了
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
禁言中
泡网分: 15.778
主题: 206
帖子: 5659
注册: 2010年5月
原文由 kevinwong55 在2010-07-30 15:47发表

支持安卓,有竞争才能发展

但我最近两年不会尝试安卓,除非我看到每款安卓手机都能更新最新版本的固件

daydream

Linux上apt/yum/yast等等各自为战的源,就是Andriod的明天
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 74.027
主题: 291
帖子: 29013
注册: 2005年10月
内容贡献勋章
原文由 zenga 在2010-07-30 16:32发表
开创一个时代,然后固步自封,慢慢从革命走向保皇,最后小众化并保有一群孤芳自赏的粉丝。
苹果又不是第一次演绎这样的故事,用家根据自己需要选择就是了,今天我在用iphone,明天可以换android。


支持安卓,有竞争才能发展

但我最近两年不会尝试安卓,除非我看到每款安卓手机都能更新最新版本的固件
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
陈年泡菜
泡网分: 47.654
主题: 169
帖子: 8473
注册: 2003年1月
开创一个时代,然后固步自封,慢慢从革命走向保皇,最后小众化并保有一群孤芳自赏的粉丝。
苹果又不是第一次演绎这样的故事,用家根据自己需要选择就是了,今天我在用iphone,明天可以换android。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 68.136
主题: 694
帖子: 22594
注册: 2005年12月
内容贡献勋章
原文由 败家玩意 在2010-07-20 13:03发表
iPhone和Android应用开发:优缺点比较

2010年07月15日 10:25分         作者:胡杨编译     来源:网界网

摘要:智能手机及其应用程序正在成为这个世界的一种新的生活方式。开发人员正在被它们的日益流行所吸引。但是,由于有两个主要的平台(苹果最近升级并且重新命名的iOS 4和谷歌的Android)相互之间进行竞争,开发 ......

不允许使用Java或者Flash?

最近,苹果经常公开批评Adobe的Flash技术的稳定性和有用性。苹果过去对Java语言也有过类似的指责。这些指责可能来自苹果首席执行官史蒂夫·乔布斯等高级官员,苹果规定iPhone及其各种姊妹技术将不支持Flash或者Java。在最近的 iOS 4.0发布期间,在被问到是否会改变立场时,乔布斯回答说"不"。

在一个只需要触摸几下或者点击几下就可以下载的环境中,安装和运行应用都是无缝完成而且是以无线方式完成的,人们可能会说,必须采取某些合理的保护措施,保护用户防止受到恶意应用的攻击。不过,这会限制开发人员为iPhone开发应用的灵活性,特别是当音频、视频、动画等功能是一个应用的关键组件的时候。

...... 此外,技术的进步通常都会使有关工具和平台的任何论点变成过时的东西。正如Baxter- Reynolds指出的那样,即将推出的HTML 5标准将为许多开发人员解决Adobe与苹果之间的大部分争论。

Baxter-Reynolds说,这不是世界末日。Android和iPhone都使用极好的 WebKit浏览器框架。这个框架承诺完全支持HTML 5,并且将在未来几年里转变为一个跨平台的应用平台。此外,HTML 5的发展意味着将有学习这种语言的大量学习文档和开发人员希望的在任何环境下开发HTML代码的自由。

不管是什么结果,移动应用领域的有趣的时代就要到来了。(胡杨编译)


支持中间史蒂夫·乔布斯关于JAVA和FLASH的意见.这些是不安全的,对人身,环境和隐私,就像坐出租车而司机刚拿到驾照.
用户大多都是小人物,不关心这些.
大人物会关心这些,可惜他们不懂,想不到关心这些.

大人物请使用IPHONE和MAC.
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 191.292
主题: 122
帖子: 52551
注册: 2006年8月
内容贡献勋章
简单有简单的好,复杂有复杂的好
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 40.968
主题: 159
帖子: 9959
注册: 2008年6月
内容贡献勋章
原文由 马戊 在2010-07-20 13:22发表
Android的问题是版本太杂了。

相对来说这里iOS的封闭型是好事,省了程序员的事情,用户也比较少碰到麻烦。


但水果用户遇到的麻烦,要等漫长的时间,才有可能“惊喜”地得到解决。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
资深泡菜
泡网分: 22.353
主题: 17
帖子: 1697
注册: 2006年6月
原文由 马戊 在2010-07-20 13:22发表
Android的问题是版本太杂了。

相对来说这里iOS的封闭型是好事,省了程序员的事情,用户也比较少碰到麻烦。


版本杂是因为升级太快了,也是好事...
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
泡菜
泡网分: 6.169
主题: 15
帖子: 350
注册: 2010年4月
Android的问题是版本太杂了。

相对来说这里iOS的封闭型是好事,省了程序员的事情,用户也比较少碰到麻烦。
(0)
(0)
只看该作者
不看该作者
加入黑名单
举报
返回顶部
个人图文集
个人作品集
回复主题: iPhone和Android应用开发:优缺点比较
功能受限
游客无回复权限,请登录后再试