Duolingo、Kotlin への移行完了でコード行数を平均 30% 削減

Duolingo は、世界で高い人気を誇る言語学習プラットフォームです。Google Play でのダウンロード数は 2 億回を超え、無料教育アプリではトップクラスです。

多くの人が新しい言語を学ぶことで、より良い機会を手に入れます。3 億人以上の学習者に対して、利用しやすい言語教育を無料で提供すること。それが Duolingo の使命です。

Duolingo の取り組み

コードベースの行数が毎年 46% 増加している。それが判明したとき、Duolingo の Android デベロッパーは、全員一致で Java から Kotlin への移行を決定しました。

チームは、毎日リーダーボードでコンテストを実施し、学習を奨励することで、移行プロセスをゲーム化しました。まさに Duolingo のスタイルです。チーム内で Kotlin 経験が豊富なデベロッパーが「Kotlin チェッカー」となり、Android デベロッパーが全員 Kotlin のエキスパートになるまで、コードレビューでベスト プラクティスの共有を続けました。

2 年後に移行が完了すると、コードの保守性が大幅に向上しました。 ここで判明したのは、Java ファイルを Kotlin に変換すると、コード行数が平均 30%、場合によっては 90% も減少する、ということでした。

「私たちの Kotlin 移行に関しては、全般的に大変満足しています。そして、私たちだけでなく、社内およびソフトウェア業界全体で移行が進んでいることを、とても嬉しく思っています。」- シニアスタッフ ソフトウェア エンジニア、Art Chaidarun 氏

結果

サービスに新しい機能が加わり、稼働するデベロッパーの数が 2 倍になったにもかかわらず、コードベースのサイズは 2 年前の移行時とほぼ変わりませんでした。この事実が、投資の判断は正しかったことを証明しています。さらに、社内アンケートの結果、デベロッパーの満足度が 129 NPS ポイントも急上昇し、その主な理由として挙げられたのが Kotlin でした。

Duolingo は、言語のように、常に拡大、進化しています。厳格な A/B テストとアプリ内フィードバックに基づいて、チームは引き続き手法を改良し、世界最高レベルの言語教育を提供していきます。Duolingo には、それを実現するための、高い信頼性と有効性を備えた Kotlin 100% コードベースの Android アプリがあるのです。

スタートガイド

詳細については、Kotlin で Android アプリを開発するをご覧ください。