「Facebook」を運営するMetaは米国時間10月24日、同社が多数抱えている「Android」アプリのコードベースをJavaからKotlinに移行するという、複数年にわたる取り組みについて詳しく説明した。
提供:Getty Images/Nitat Termmee
同社が数千人もの開発者を抱えており、Facebookや「Instagram」「Messenger」のほか、「Portal」デバイスや「Quest」仮想現実(VR)ヘッドセットのアプリを含む数多くの大規模なAndroidアプリを有しているという点で、これは大変な作業だと言える。
MetaのソフトウェアエンジニアであるOmer Strulovich氏は同社ブログに、「Android開発に現在用いているJavaと距離を置き、Kotlinへと移行していくというのは簡単な作業ではない」と記している。
Kotlinへの移行は現在進行中だが、MetaのAndroidアプリのリポジトリーに格納されているKotlinコードは既に1000万行に達している。
Strulovich氏は「FacebookとMessenger、InstagramのAndroidアプリは現時点で、それぞれ100万行を超えるKotlinコードを抱えており、移行のペースが加速してきている。合計すると、われわれのAndroidのコードベースには1000万行を超えるKotlinコードが含まれている」と記している。
Javaは、エンタープライズアプリケーションでの利用の多さから、プログラミング言語の人気ランキングでトップ3の1つに挙げられている。一方、Kotlinはそれほどの人気を有していないものの、それでも20位圏内に入っている。とはいえ、MetaがAndroidアプリの開発言語をJavaからKotlinに切り替えているのは、Metaの規模と同社のアプリの数を考えると画期的と言えるだろう。
MetaがKotlinへの切り替えを図る動機となるメリットは複数存在しているものの、Strulovich氏はこの移行が少なくとも大規模アプリにとってリスクを呼ぶ、いくつかの無視できないデメリットも有しているとした上で、その概要を説明している。
まず、JavaとKotlinの人気に大きな差があるため、Kotlin用のツールの数は相対的に少ない上に、そういったツールはKotlinとJavaの相互運用性を考慮する必要から複雑なものとなっている。その結果、両言語間の相互運用性は100%であるにもかかわらず、MetaはJavaで記述されたコードの全てを移行することはできないと判断した。