Tag Archives: Programming language

LINE Creators Studio開発に使われるKotlinのご紹介

はじめに

こんにちは。LINE Fukuokaの開発チームで働いているFreddie Wangです。LINE Creators Studioという、誰でもオリジナルのスタンプを作ることができるようサポートするスタンプ制作ツールのAndroidアプリ開発を担当しています。LINE Creators Studioで作成したスタンプはLINE Storeで販売することができ、LINEを利用しているすべてのユーザーが購入できます。

今回の記事では、LINE Creators Studioアプリの開発に全面的に採用しているプログラミング言語「Kotlin」についてご紹介します。Kotlinをメイン言語として選んだ理由と主に使っているKotlinの機能を説明します。

Kotlinの利点と主要機能

Google I/O 2017において、GoogleはAndroid Studio 3.0からKotlinを公式にサポートすることを発表しました。LINE Creators Studio開発プロジェクトをキックオフしたのは2016年末でしたが、当時は、短期間でこのプロジェクトをMVP(Minimum Viable Product)プロジェクトに成長させないといけない課題を抱えていました。Kotlin 1.0がリリースされてからかなりの時間が経っていましたが、チームの中にはKotlinを使ってみた経験のあるメンバーがいませんでした。そのため、開発に着手する前にまずKotlinについて調べてみました。その結果、以下のような利点からKotlinを採用することにしました。

Kotlinを選んだ背景

Javaとの互換性は100%

Kotlinの最大の魅力は、KotlinコードとJavaコードを一つのプロジェクト内で共存させることができ、既存のJavaライブラリをすべて使用できるということです。このプロジェクトにはJavaレガシーコードはありませんでしたが、Dagger 2、Retrofit、RxJavaといったJava互換ライブラリを使いたいという希望がありました。

簡潔な構文

Kotlinは問題解決のために設計された言語です。Kotlinの主な目標の一つは、簡潔なコードをJavaより簡単に書けることです。これは、Androidアプリ開発において欠かせない重要な要素です。

依存性の減少

Kotlinは、Guavaのようにサイズの大きいJavaライブラリに取って代わることのできるコンパクトなランタイムライブラリを持っています。大容量のライブラリは、サーバーやデスクトップ環境では大した問題ではありませんが、Androidでは問題を引き起こす可能性があります。Androidアプリを開発する際にはメソッド数が65Kを超えられないという制限があるので、大容量のJavaライブラリの利用は控える必要があります。Kotlinのstdlibライブラリ(バージョン1.1.3-2)はメソッド数が6306個なので、メソッド数による影響はGuavaライブラリより少なくなります。

旧バージョンのAndroid端末をサポート

Kotlin 1.0はJava 6を基準にしているので、バージョン2.3以上のAndroid端末をサポートできます。これもまた、Android開発者にとって重要なポイントです。