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

Duolingo は、世界で最も人気のある言語学習プラットフォームの一つであり、Google Play で 2 億以上のダウンロードを誇る無料教育アプリの 1 つです。

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

Duolingo の取り組み

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

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

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

「全体的に、Kotlin に移行したことにとても満足しています。社内だけでなくソフトウェア業界全体で Kotlin の利用が増え続けていることを嬉しく思います。」- シニア スタッフ ソフトウェア エンジニア Art Chaidarun 氏

結果

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

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

始める

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