開發者評判Android 3.0 SDK的優點與不足
原創【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譯者!】
【編輯推薦】