下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

移动开发:Android 的快速增长让一些开发人员担忧

作者:sillymouse     来源: https://kb.cnblogs.com/page/57367/点击数:1170发布时间: 2021-07-12 17:19:58

标签: android下载android是什么意思android官网

  Google开始提供一项名为GooglePrint的新服务,现已更名为GoogleBookSearch。该工具可以在搜索页面提供由内容出版商提供的书本内容的搜索结果,并提供连向购买书本的网页以及内容相关广告。Google会限制可查阅书本的页数。不过有人已经发现破解方法。至2005年12月,该服务仍然处于Beta阶段。这个服务与A9com提供的很类似。

  Google的开源操作系统Android在发布一年后终于引发轰动。经历了初期的慢热,现在该系统至少已被12款手机所采用,更多的手机即将到来。

  对于开发者而言,Apple的独裁政策或许很令人沮丧,但这些可以通过收益获得补偿。

  “Apple保持着严密控制,这有一个很大的好处——iPhone开发者用不着担心分裂,为iPhone开发程序要容易得多。”Fognl公司所有者KellySchrock说,该公司在AndroidMarket上已有三个程序。

  对于用户来说,这意味着网络商店里的程序可能会充满bug,在特定机型上无法顺畅工作,带来糟糕的使用体验。由于不清楚后端复杂性的日益增长,用户很可能会在网络商店里对程序本身作出负面评论——而这对小型软件来说很可能是致命的。

  这对Android支持者来说是好消息?不一定,有些开发者这么认为。他们说一系列问题使得管理Android程序成为了一场噩梦:一堆手机上运行着3个版本的系统(Android1.5/1.6/2.0)以及自制固件,各机型的硬件也有诸多差异。

  “我们发现自己正在把精力花在保证每个程序兼容不同版本的系统和硬件机型之上,而不是改进程序。我们并不是在抱怨Android系统的增长,但如果你是一家小公司或是刚刚入门、希望学习Android开发的新人,我可以想象你的头都快烦爆了,这确实很恼人。”Froogloid公司创始人ChrisFagan说道,该公司专注于Android程序开发。

  这和90年代java的问题相似。Java起初以能够让程序运行于任何电脑为卖点(“写一个程序,哪儿都能运行”writeonce,runanywhere),但开发者们发现Java虚拟机在不同硬件上的变化太多,让Java的许诺实际上变成了(“写一个程序,哪儿都要debug”writeonce,debugeverywhere)。虽然Java仍被使用——特别是在移动领域,有大量的游戏和软件由Java写成——但它远不像当初宣称的那般跨平台。

  自第一款Android手机HTCT-MobileG1面世以来,已有不少手机生产商跳上Android的大船。HTC一家就有五款Android机型,摩托罗拉等公司也已全面转向Android平台。在过去两个月里,摩托罗拉发布了两款Android手机——Cliq和Droid。此外,厂商们为了有别于彼此,正自制各种用户界面,例如HTCSense、摩托罗拉Blur、索爱RachaelUI。

  移动程序分析公司Flurry的商业开发副总裁SeanGalligan说,Fagan对于Android分裂的担忧正引起很多其他开发者的共鸣。他说:“毫无疑问,我们已经开始听到开发者们表达自己的忧虑,Android增长速度非常快,激动人心,但这也意味着更大的工作量,特别是对中小开发者而言”。

  Android手机在硬件上也有很大的区别,比如拍照闪光灯和实体按键的有无。

  Fagan说:“有可能你打造的程序完美运行于官方的三个固件之上,但在运营商定制ROM上就完全崩溃。因此我们发现自己不得不让程序兼容多种固件、多种ROM以及多种采用不同硬件的产品。”

  这和iPhone平台由天壤之别。Apple严格控制iPhone新机型及其所用操作系统的版本数量。自2007年第一款iPhone发布以来,总共仅有三款机型。此外,所有这三个机型都可以升级到同一个版本的操作系统。

  Apple通过iPhone开创AppStore程序商店理念。Android也提供了自己的程序商店——Market,发布第三方程序。与AppleAppStore不同的是,开发者在AndroidMarket发布程序时不需要经过审核流程。AndroidMarket目前有大约一万个程序,而AppleAppStore则有十万个。

  Android版本造成混乱

  Froogloid公司的成立时间与G1的上市几乎同时,它的三个程序a2b、KeyRing和CowPotato目前已有10万用户。但Fagan说,随着Android的增长,维护这些程序正成为一大挑战。

  Android手机的多样化导致了一些未曾预料的结果。

  一个例子,SprintHTCHero没有开启GPS设置。a2b程序在运行时可以触发它,但Froogloid很快发现Hero的命令和其它Android机型不一样。开启GPS设置的命令变成了开启屏幕锁设置,ChrisPick说公司不得不为在自己的程序中为这一款机型加入特定代码。(译注:AndroidMarket上有大量程序为兼容Hero进行过更新)

  Google说自己的模拟器可以让开发者们测试程序在特定机型上运行的效果。

  但它并不总是可靠,Fagan说,“换句话说,我们用模拟器就是在无的放矢,因为我们不知道它运行在手机上时究竟是什么结果。”

  Pick说:“一旦我们不得不在代码中根据不同机型写规则,就会增大代码库,加大我们的工作量,把程序变得更繁重”。

  ChrisPick举了另一个例子进行解释,他们的3D游戏Cowpotato在模拟器上运行得一切正常,但真正运行于摩托罗拉Droid时却崩溃了。Pick怀疑这是Droid显示驱动中的一个bug所导致的问题,写了个补丁解决了崩溃问题,但这并不是最佳的解决方案。

  不同的系统版本意味着功能的增减。了解这些改变并让软件向后兼容需要时间,Schrock说:“支持所有这些版本需要进行数倍的工作”。

  更大的问题是自制固件和ROM。例如Google在Android代码中提供了一个基本的主界面。但手机制造商和网络运营商总是可以修改它。有些修改很简单,比如把白色换成灰色、红色或黄色。这让手机制造商和运营商可以为自己的客户量身定制Android产品,这正是Google宣称自己“积极”支持的。

  Galligan说,开发者们最终必须做出艰难抉择,选择自己希望支持的产品和操作系统版本:“开发者们将必须确定程序的目标究竟是哪些产品和运营商,写出来的程序只为它进行后续开发”。

  Fagan说:“这些不是大问题。但当他们改动特定活动的控制方式时(比如用户设置和屏幕方向),就会给通过标准固件/SDK开发程序的开发者造成各种问题”。

  而自制ROM则总是需要开发者详尽核查,Pick说“Google命令所有Android发布必须基于标准版,但这在Google控制范围以外”。(译注:Google在不久前曾以自制ROM非法使用Gmail等版权程序为借口向最具影响力的自制ROM——CyanogenMod发难,要求作者Cyanogen停止开发。但Cyanogen去掉了自制ROM中内置的版权程序,通过在官方ROM基础上进行刷机的方法绕过了法律问题。)

  作为个人开发者,Schrock说自己无法维持四个不同的软件版本:“在Android上这变得更加危险。不单单是开支x4,工作量也变大了”。他说自己不靠这些程序过活,也不希望作出选择放弃部分Android用户,“但我未来必须根据回报来判断这事究竟是不是值得”。

  Google扩展了GooglePrint的功能。其书本包括了一些著名大学和一些公共图书馆,包括密歇根大学,哈佛大学的Widener图书馆,斯坦福大学的格林图书馆),牛津大学的牛津大学图书馆以及纽约公共图书馆。根据这些大学图书馆和图书的出版状况,Google计划十年内将有约1500万本位于公共领域的书上线。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程