Tag Archives: Android

Fix It @ Taiwan

大家好,我是 Soda,隸屬於LINE Messenger APP 的 iOS 客戶端開發團隊。在此跟大家分享 …

為什麼我們使用Kotlin開發LINE Creators Studio

前言

哈囉大家好,我是 Freddie Wang, LINE Fukuoka 開發室的軟體工程師。目前擔任 LINE Creators Studio Android 版本的開發。我們最近剛剛完成了 LINE Creators Studio 的 Android 版本。LINE Creators Sudio是 LINE 最新推出的應用程式,可以讓用戶輕鬆的製作自己的貼圖並且上架販賣。在 Android 的版本上我們使用 Kotlin 來開發這個應用程式。所以我想透過此篇文章來分享一下為什麼我們使用 Kotlin 開發以及我們使用了哪些功能。

目前 LINE Creators Studio 只在日本上架,預計之後會在其他地區推出。

Kotlin的優點與主要功能

在今年的 Google IO 17上, Google 正式宣佈將從 Android Studio 3.0 開始提供 Kotlin 的支援,這對 Android 的開發者來說是一個令人非常振奮的消息。在 2016 年底,我們開始了 LINE Creators Studio 的開發工作,並且需要在短時間完成一個 MVP (Minimum Viable Product)。在那個時間點,雖然 Kotlin 1.0 已經正式推出了,但我們小組裡面還沒有人有用過 Kotlin 開發產品的經驗,所以我們在正式開發前花了一點時間來研究 Kotlin,經過內部討論後,最後決定試著用 Kotlin 來開發 LINE Creators Studio。

為什麼用Kotlin

我們是根據以下幾個原因決定使用 Kotlin.

100% interoperable with Java

Kotlin 其中一個非常讚的特性是完全相容 Java,所以你可以在一個 project 裡面同時使用 Kotlin 和 Java 而不會有任何相容性的問題。雖然 LINE Creators Studio 是一個全新的專案,但是我們仍然需要使用一些很棒的函式庫,像 Dagger 2、Retrofit、RxJava 等等。

Concise syntax

Kotlin 最初是為了解決一些 Java 設計不便的地方而設計的,而其中一個主要的目的就是要能比 Java 寫出更簡潔的程式碼,而這一點在我們小組裡面,更是重要的一個因素。

Reduced dependencies

Kotlin 本身就帶了一個簡潔的標準函式庫,而且在大多數的應用上可以用來取代一些知名的大型 Java 函式庫,像是 Guava 等。在 Server 和 Desktop 應用領域上,使用這類大型的函式庫基本上沒有什麼問題。但是在 Android 的開發上就會造成一些麻煩。主要的原因就是 Android 的 Dalvik JVM 有上限 65K 的問題,基本上需要避免使用大型的 Java 函式庫。而最新的 Kotlin 標準函式庫 1.1.3-2 版只有6306個(參考連結) 函式, 所以可以有效地減輕這個問題。

Compatible with old Android devices

Kotlin 1.0 是基於 Java 6,所以使用 Kotlin 開發基本上可以在任何的 Android 2.3 版以上的裝置運行,這對於一個 Android 應用程式開發者來說是非常重要的,畢竟使用最新版本 Android 的用戶還是比較少一點。