Android Studio初探:不隻是一個簡單的IDE
對於Android 開發者來說,日常開發對於他們來說是幹脆直接的。你隻需要下載Eclipse並且安裝Android Developer工具插件就可以了。Android的Eclipse插件為開發者完成了不少工作,而且或多或少能符合大多數開發者期望那樣。但現在,Google最新發布的Android Studio 攪局了,這款Android IDE開發工具對任何Android 開發者而言,都是極大的飛躍。
雖然擁有”Android Studio”的名稱,並且軟件直接來自Google的,但大多數Java開發人員很快意識到這款IDE是基於IntelliJ IDEA,它是JetBrains公司的出品。我認識有的開發者,一直都大談開源的美德,但一談論IntelliJ就馬上改變論調。有的甚至嘲笑我,不去投資699美元購買一個強大的能節省工作時間的IDE工具,是不夠專業的表現。
Google深知道Eclipse並不是每個人都喜歡使用的,事實上分步的環境配置將不少人攔在了Android開發之外。通過發布一個免費的基於IntelliJ配置的Android開發工具,穀歌不僅滿足了IntelliJ狂熱愛好者的需要,同時也帶給Android開發者更容易安裝和使用的開發環境。然而,更大的問題是是下一步Google打算怎麼走。
更智能的Android IDE
Android Studio基於IntelliJ的社區版本構建,並增強了外觀和分析功能。許多的IntelliJ的愛好者對其複雜的編輯器和幹淨的外表情有獨鍾。事實上,Android Studio運行十分迅速,並提供響應式的接口。是的,的確是這樣的。Android的模擬器繼續給我帶來驚訝的是在我的六核的台式機上運行的速度比在我的用了兩年多的不怎麼高級的智能機上跑Android 2.2還要慢。Android Studio隻集成了模擬器,雖然對此抱怨是不大公平的,但是當調試階段的時候,用戶等待Android虛擬設備啟動並耗費不少時間並會周期性暫停。
Android Studio還提供了一套深度分析工具,這將有助於幫助開發者完成代碼和在交付前進行分析。Android的API現在標記了更多的元數據通常會返回空指針。如果忘記了捕捉這些異常,Android Studio將使用這些元數據去指出這些潛在的bug。我編寫了一些看上去還算整潔的代碼,但Android Studio很快就找到了上百種能讓代碼更整潔運行得更快的方法。IntelliJ團隊花了很長時間去編寫能分析開發者在編輯器中編寫代碼質量的代碼,這樣可以讓開發者重構代碼以提高代碼運行效率。
Android Studio給用戶提供了一套豐富的編輯和分析代碼的工具碼,但當其首次運行時其控製權是交給Android虛擬設備的。
Android Studio的主要貢獻在於它是一個可以用於設計Android布局的拖拉控件集。用戶可以拖動部件並且Studio顯示對應的XML布局文件。
另一個不錯的功能是可以讓開發者在設計的時候能同時看到所設計的應用在6種左右不同設備中顯示的尺寸大小。用戶可以調整布局大小以到布局是如何顯示在一台Nexus手機或平板電腦中。這對於那些必須將其設計的應用適配大量不同尺寸屏幕的Android開發者來說,是天大的喜訊。Android Studio在幫助將控件擺放在正確的位置方麵的確做了很好的工作,因為調試階段中最重要的部分就是測試其實際效果。能夠快速看到設計的界麵在多種尺寸中的效果對開發者來說的確是福音。
采用Android Studio需要那些熟悉Eclipse的開發者重新學習一下。不僅是一些按鈕的位置不同了,Android Studio還和Gradle,目前最新的構建工具進行了整合。如果開發者仍然停留在Ant或Maven階段,則將不得不使用另外一種解決方案去構建應用。無論是文件的結構還是語言,Gradle都有所不同。
關於雲方麵的特性
在web頁麵方麵,Gradle將很容易創建多個版本,但將來情況如何不得而知。我認為,隨著應用變得越來越複雜,Gradle將會是很受歡迎。當我測試的Android Studio的時候,我建了3個不同的應用使用的都是相似的代碼,並使用三個不同的項目,因為這將更簡單的。這樣的工作將越來越普遍,因為我們都想統一去管理項目。
值得注意的是Gradle是最新的領域特定語言中的一個典型的例子,它被描述為“最小化”的語言,有著很好的自定義結構以便去應對各類情況,在這種情況下,Gradle是一種基於Groovy 的DSL,這意味著用戶必須再三考慮Groovy這種語言和Gradle是否適合自己去學習使用。但在使用Android Studio過程中,你使用的是Java語言,這意味著在編程過程中要遇到三個略有不同,但結構相似的語言。雖然我一直非常欣賞的DSL的理念,但依然感覺在Android Studio中使用時有點複雜。
可惜的是,建立一個應用程序是如此複雜以至於我們需要一個圖靈完備的構建語言,所以我們可能會使用最新和功能強大的構建工具 - 今天可能就是Gradle了。好消息是,象Hudson和Jenkins這些基於雲的工具都內置了Gradle工具,因此我們可以期待越來越多的項目使用它。
(上圖所示,Android Studio能讓你能同時在不同的Android設備中看到應用的布局)
關於Android Studio中最有趣的部分是它給大家帶來什麼樣的承諾。其網站宣傳這是“早期預覽版本”這是慣用的代替公測的手法宣傳。在使用過程中,我創建一些基本程序應用時都沒遇到任何嚴重的問題,但我注意到有幾個地方的文檔居然會跳到Eclipse文檔中去。
Android Studio對於Gradle鍾愛有加,他們認為Gradle將更加強大,並能與雲更好地整合。Google已經在談論將更多的功能——比如發行——加入到Android的開發環境。例如,你可以使用Google的雲快速將你的應用發布到外國市場。Android Studio將不會孤軍作戰,它將有Google雲的強大支撐。
這僅僅是Google對Android Studio今後發展設想的一項聲稱,Google認為Android Studio今後不單隻是一個簡單的IDE,而且越來越多會變為一個門戶並跟雲端整合的開發生態係統,beta測試者將很容易獲得其代碼,並且任何人都可以去創建。就目前而言,Android Studio在桌麵端已經是功能十分強大的IDE。
最後更新:2017-04-03 18:52:09