開始遷移到 Kotlin | Kotlin 遷移指南 (中篇)

今年五月份的 Google I/O 上,咱們正式向全球宣佈 Kotlin-first 的這一重要理念,Kotlin 將成爲 Android 開發者的首選語言,十月份舉辦的 Android Dev Summit 2019 大會上,咱們發佈了使用 Kotlin API 開發的 Jetpack Compose 開發者預覽版。html

咱們於近期開始連載了關於 Kotlin 遷移指南的系列文章,幫助開發者們順利遷移並開始使用 Kotlin 構建 Android 應用。本篇是本系列的中篇,咱們將爲您介紹如何遷移到 Kotlin,以及提供相關的學習資源。您能夠點擊這裏查看上篇咱們對 Kotlin 的優點和介紹文章,也請關注接下來關於使用 Kotlin 的常見問題的推送。java

誰在用 Kotlin

開發者可能對新的語言有必定程度的保留態度,這也是咱們很是清楚的一點。因此當咱們宣佈將 Kotlin 作爲 Android 開發的首選語言時,咱們也會確保開發者在盡享 Kotlin 強大功能的同時,也不會遇到兼容性和遷移方面的困擾,這裏咱們給出一些將您的項目遷移至 Kotlin 的建議和方法。android

由於 Kotlin 的這些優點與強大的語言特性,如今在 Google Play 上排名前 1000 位的應用中,有 44% 已經在使用 Kotlin 進行開發。在 2019 年 OSCON 大會上,Kotlin 更是榮獲 「年度突破項目」 獎。瀏覽器

除了在技術上使用 Kotlin 語言特性開發了一些方便開發者的庫以外,Google 也已經在本身的產品中普遍採用 Kotlin。koa

不只如此,咱們在九月份的谷歌開發者大會 (GDD) 上也分享了諸多使用 Kotlin 構建的應用 —— 其中包括部分中國開發者的熱門應用:

開始作 Kotlin 遷移

一個已經在使用 Java 進行開發的 Android 應用團隊該如何快速穩定地轉而使用 Kotlin 呢?咱們給出的建議是 」由點及面」,這裏包括人和代碼兩個層面:ide

人的層面,咱們建議團隊內部推舉出一位 Kotlin 「推廣大使」,他/她須要作到:工具

  • 瞭解 Kotlin 併成爲專家
  • 制定 Kotlin 開發流程
  • 參與代碼審覈,確保 Kotlin 開發流程獲得順利貫徹
  • 組建公司/團隊內部的學習小組
  • 主動收集內部的問題並與開發者社區反饋探討

代碼層面,也須要按部就班:學習

  • 先使用 Kotlin 編寫測試 (這時的工程依然在使用 Java)
  • 使用 Kotlin 編寫新代碼
  • 將現有代碼更新爲 Kotlin 代碼

在將現有代碼更新爲 Kotlin 代碼時,Android Studio 提供了 Java 轉 Kotlin 的工具,只須要在菜單中選擇 「Code → Convert Java File to Kotlin File」 便可:測試

△ Java 轉 Kotlin 工具
另外,Kotlin 的遷移工做不必一蹴而就,開發者能夠按照本身的進度來逐步進行遷移。一個項目中能夠同時包含 .java 和 .kt 文件 (但同一個文件中不能夠既有 Java 也有 Kotlin),開發者也能夠在 Kotlin 代碼中使用任何 Java 庫。

△ Android Studio 的 Lint 檢查中也能夠打開 Kotlin 互操做檢查
在 Kotlin 中調用 Java 時,有幾點須要注意:

  • 請將代碼標記爲 @Nullable 和 @NotNull
  • 使用屬性前綴 (getName(), setName(), isActive())
  • 避免使用 Kotlin 中的保留關鍵字 (when, is, 等)

更詳細的 Kotlin 互操做指南請查閱 Android 開發者網站:網站

最後——如何說服管理層採用 Kotlin?這裏咱們給出了幾個使用 Kotlin 的核心優點以供參考:

  • 提升團隊工做效率,使用 Kotlin 的話,編碼的量會減小,對應的維護和測試工做量也會減小。
  • 提高應用品質,Kotlin 內建的強大功能會幫助開發者更輕鬆地開發出穩定精彩的應用。
  • 讓團隊氛圍更融洽。更現代、更強大且擁有強大兼容性的開發語言能讓團隊內的溝通更爲順暢。
  • 順應遷移到 Kotlin 的行業趨勢。事實上如今不管是招募方仍是求職方,對 Kotlin 技能的需求也已經愈來愈多。

關於 Kotlin 推廣大使和如何說服管理層使用 Kotlin 的更詳細內容,請參考咱們以前發佈的文章《如何在大型應用中添加 Kotlin》。

Kotlin 學習資源

咱們爲你們準備了豐富的 Kotlin 學習資源,以知足各個階段開發者的需求。

Udacity 在線 Kotlin 課程,徹底免費。重新手營到開發完整應用的課程均有覆蓋。

「重構爲 Kotlin」 Codelab。這是一套中文 Codelab 課程,一步一步幫助你們親手將代碼重構爲 Kotlin。

「使用 Kotlin 開發 Android 應用」 的官方文檔。從互用性到使用場景均有詳細的覆蓋,另外還提供大量的示例代碼。

  • 使用 Kotlin 開發 Android 應用:

developer.android.google.cn/kotlin

參加由社區自發組織的 「Kotlin/Everywhere」 系列線下活動,咱們歡迎開發者夥伴們面對面交流 Kotlin 的學習和使用。

另外,若是您但願打下紮實的 Kotlin 語法基礎的話,咱們也建議您使用 Kotlin Koans 進行在線練習。您能夠直接在瀏覽器裏作練習,也能夠經過插件在 IntelliJ IDEA 或者 Android Studio 裏練習。

咱們在近期舉辦的 Google 開發者大會上也有一個關於遷移到 Kotlin 的演講,您能夠在☟下面☟回顧:

請持續關注咱們接下來發布的與 Kotlin 遷移指南相關的文章。

若是您對在 Android 開發中使用 Kotlin 有任何疑問或者想法,歡迎在評論區和咱們分享。

點擊這裏即刻使用 Kotlin 打造精彩 Android 應用

相關文章
相關標籤/搜索