【51CTO译文】数周前,开发人员收到了Android平台的下一个版本蜂巢(Honeycomb,Android 3.0)的预览版,大约1个月后,Android 3.0 SDK发布了最终版,紧接着就出现了***个Android 3.0设备:摩托罗拉Xoom平板电脑。我们已经花了一段时间了解新的SDK、工具和设备,下面是这个平台更新和变化的***印象,我们会涉及到用户和开发人员的内容,但始终从开发人员的角度来评论。
Android 3.0让我们兴奋的特性和API
Android 3.0提供了各种新的特性和API,我们特别兴奋的是,它增加了受支持的应用程序类型。
Android Fragment
Fragment API使开发人员更容易动态创建用户界面,更有效地利用屏幕,虽然最初主要是想将其作为平板电脑API,Fragment API可用于所有用户界面,简化设计,在不同方向和屏幕大小之间共享更多的代码和布局,使其成为面向不同设备类型必需的API。
Android Loader
开发人员经常处理的一个问题是在一个Activity内下载并显示数据,然后当配置变化时管理这些数据的采集过程,蜂巢引入了Loader的概念来解决这个问题,通过异步方式处理数据的提取,以及自动重新连接到数据,避免了重复查询,Loader API改善了数据在屏幕上显示的性能。
Android活动栏
谷歌在去年的Google I/O 2010大会上引入了活动栏(Action Bar)的概念,多个***的Android应用程序包含了活动栏的概念,提供了这种新的用户界面的示范,现在,活动栏的概念已经内置到平台中,并添加了多个新特性,包括下拉菜单,即时访问选项菜单项,标签管理等,旨在为应用程序营造更多的一致性和更简单的导航功能。(拓展阅读:在Google I/O 2011大会上谷歌将重点讲解Android 3.0)
RenderScript
RenderScript是一个承诺提供用C语言编码,可在CPU或GPU上执行的系统,兼容多种CPU和GPU类型,它使我想起OpenCL和CUDA,在高性能计算环境中,GPU的加速效果往往比CPU更明显,虽然GPU常用于图像和游戏编程,但它的计算能力也可在其它领域大放异彩。
Android 3.0工具更新
伴随Android 3.0的发布,许多工具也进行了更新,图形布局设计器(Graphical Layout)再次做了大幅改进,现在它能更精确地显示在多种Android设备,多种屏幕和多个SDK版本上的布局预览效果,不用重新编辑XML就可实现精确的Widget拖放,当然,它仍然不***,我们发现仍然需要调整XML以更好地控制用户界面。
模拟器引入了快照的功能,快照允许模拟器保存某个时刻的状态,以便随后重新载入,节省启动时间。
保持向后兼容的静态库
也许你现在在思考一个问题:这些更新的确很有诱惑力,但现有设备能运行蜂巢吗?是的,不用担心这个问题!Android团队已经发布了一个静态库,包含了***的蜂巢特性,从Android 1.6到Android 2.3.3都可以使用它们,这个库中最主要的两个特性包含在Fragment API和Loader API中,就我个人而言,我希望Action Bar从一开始就包含进去。
蜂巢的一些遗憾
尽管蜂巢已经很酷了,但它也不是***无瑕的,这个版本中有些改变不是我们希望看到的,我一直在想谷歌为什么要这么做。
Android 3.0 SDK模拟器性能
Android模拟器性能一直以来都备受诟病,其中最让人不爽的就是模拟器的分辨率又提高了,在Android 3.0 SDK中内置的模拟器分辨率上升到了1280x800,导致的结果是,即使我们开发用计算机速度很快,在模拟器中运行应用程序时也只能勉强看到程序的样子,但这也需要一定的耐性的,更别说交互式体验了。我们是开发人员,我们没有耐性这样等一个工具慢慢执行,迄今为止,我们大多数时候都是直接在Android设备上调试应用程序的。Android团队已经意识到这个问题,并表示正努力解决这个问题。我们希望他们尽快解决模拟器的性能问题。
被抛弃的专用按钮
多年以来,开发人员和用户都习惯了Android设备上的4个主要专用按钮:后退,上下文菜单,搜索和主页,现在这些专用按钮消失了,后退和主页被屏幕上的虚拟按钮取代,上下文菜单被活动栏菜单取代,但在应用程序底部显示了上下文菜单,搜索按钮也不见了,搜索现在被安排到活动栏中去了,从用户界面设计角度来讲,给开发人员和用户带来的变化太大了。
但从长远来看,这些变化仍然是积极的,按钮现在位于同一个位置,不用再考虑设备和屏幕分辨率的差异,这些变化迫使开发人员和用户重新培养自己的习惯,开发人员必须同时兼顾所有旧设备(有这些专用按钮)和新设备,需要很长一段时间过渡。
Android 3.0失踪的特性和应用程序
尽管Android开发团队在博客上有承诺,但我们从来不期望***的向前兼容,不过这次还是让我们有点失望,一些特性不见了,例如,Android Market发生了变化,不再提供应用程序的评论,开发人员不能获得用户的反馈,这真的是不可理喻。
部分平台级用户特性也发生了变化,如用户不能创建文件夹来组织应用程序,不管是从用户还是从开发人员的角度来看,这都是不可接受的。
Android成长的烦恼
即使谷歌自己的应用程序也受到了蜂巢升级的影响,例如,Google Voice不能工作,升级到蜂巢的设备,在Android Market中根本看不到Google Voice,有些极客尝试独立安装,发现程序一运行就会崩溃,如果谷歌自己的程序不做修改都不能工作,那说自己可以100%向前兼容不是掌自己的嘴吗?普通开发人员还有底气说自己的程序一定可以向前兼容吗?
平台的不稳定对用户或开发人员来说不是一件好事,而媒体是最喜欢报道负面消息的,我们不禁要问:“蜂巢(和Xoom)急着进入市场是为了抢得竞争先机吗?(你应该懂我在说什么)”
小结
总的说来,蜂巢带来了许多令人兴奋的新特性,在许多方面改善了Android平台,这些改进也带来了一些变化,开发人员和用户的习惯需要一段时间调整和适应,不是每个人都喜欢或欣赏这些变化,但从长远来看,这些变化有助于Android未来的成功,有助于继续蚕食市场份额,迫使其它竞争平台提高注意力,只有竞争才能推动技术进步,最终受益的还是广大的用户。
原文出处
原文名:Android 3.0 Honeycomb SDK: The Good, the Bad and the Missing
作者:Shane Conder
【51CTO译稿,非经授权谢绝转载,合作媒体转载请注明原文出处、作者及51CTO译者!】
【编辑推荐】