本篇文章主要來看一下Kotlin語言的使用場景之一:Kotlin用在Android
使用Kotlin開發Android
Kotlin非常適合開發Android應用程序,因為它在沒有引入任何新的約束的情況下,將現代語言語言的所有優點帶到Android平臺上:
- 兼容性:Kotlin完全兼容JDK 6,可以順利地確保Kotlin應用可以運行在更老的設備上。Kotlin工具在Android Studio中完全支持,且與Android構建系統兼容。
- 性能:由于兩者非常相近得字節碼結構,Kotlin應用程序可以運行得和Java一樣快。隨著Kotlin對內聯函數的支持,相同的代碼邏輯使用Lambads表達式比使用java的運行的更快。
- 互用性:Kotlin 100%可以和java互操作,這就允許Kotlin應用可以使用現有的Android庫。同時它還引入了注解處理,這樣數據綁定和Dagger也可以使用啦。
- 內存消耗:Kotlin有一個非常簡潔的運行庫,它會進一步地減少ProGuard的使用。在 實際項目中,Kotlin程序的運行只不過是添加了數百個方法和少于100k的apk文件的大小。
- 編譯時間:Kotlin支持高效的增量編譯(incremental compilation),因此在清理構建方面還需要額外的開銷,增量版本通常與Java一樣快或更快
- 學習曲線:對于Java開發者而言,上手Kotlin非常容易。內置的Kotlin插件可以自動地完成從Java到Kotlin的轉換工作。另外,. Kotlin Koans 用一系列的可交互的練習,為我們掌握Kotlin語言的關鍵特征提供了指導。
Kotlin的Android學習情況
Kotlin已經被一些大型公司所接受,在這里分享一些他們的經驗:
- Pinterest 公司已經成功地將Kotlin引入到他們的應用中,它們的應用每月有150M用戶使用;
- Basecamp's的應用是完全由Kotlin編寫,它們聲稱這是在編程樂趣和改善工作質量及效率方面的巨大差異。
- Keepsafe的應用的應用鎖也完全轉化為Kotlin,這直接導致了資源方面直線下降了30%,以及在方法數量方面減少了10%。
Android開發的工具
Kotlin工作組為Android開發提供了一套超出標準語言特征的工具:
- Kotlin Android Extensions是一個能讓我們在代碼中擺脫調用findViewById() 且將它們替換為合成編譯器生成的屬性的編譯器拓展。
- Anko 是一個為我們提供了包裝為對Kotlin友好的Android APIs,就像一個可以讓我們使用Kotlin來替代我們的XML文件布局的領域特定語言(DSL)
接下來的步驟
- 下載并安裝 Android Studio 3.0 Preview,它直接支持Kotlin。
- 跟著 Getting Started with Android and Kotlin的教程去創建第一個Kotlin應用程序。
- 為了更加深入地了解Kotlin語言,請查看本網站的參考文檔 和 Kotlin Koans。
- 另一個比較好的資源是Kotlin for Android Developers,這本書逐步地指導我們利用Kotlin創建真實的Android應用。
- 查看Google的Kotlin項目例子