Kotlinは次世代アンドロイド開発言語になれるのか

2010年に始まったJavaをめぐるオラクルとグーグルの間の戦争が、オラクルの勝利で終わる可能性が高くなった。 1審で陪審員の判決をひっくり返してまで、グーグルの手を上げてくれた裁判所は、2​​審では、オラクルの手をあげた後、29日、米最高裁が控訴を棄却したためである。

グーグルがこのままJavaをアンドロイドの開発言語として使うとアンドロイドスマホメーカーは今後莫大なロイヤリティをオラクルに支給しなければならない状況なのでグーグルが今後のアンドロイド開発言語としてJavaを排除し、新しい言語を導入する可能性が高まった。

こんな中でアンドロイドの開発言語として注目されているのが、アンドロイドのSwiftとも呼ばれるKotlinである。

KotlinはIntelliJで有名なジェットブレインズが作ったJVM言語でオブジェクト指向言語でありながら、関数型プログラミングの特徴を多く含んでいる。文法がSwiftとほとんど同じで、JavaソースをKotlinに変換させてくれるコンパイラはジェットブレインズによって既に公開されている。

LollipopからはJVMがなくてもJack&Jillを介して、Android用の実行バイナリであるDEXにコンパイルすることが可能となったため、既存のJava開発者引き込むことができる適切な言語を提示すればJavaとは完全に決別することも不可能ではない。またJavaコードをKotlinコードにコンバートしてくれるコンバータはすでにジェットブレインズによって公開された状態である。

現時点でもKotlinを利用したAndroidのアプリケーション開発は可能な状態であり、IntelliJでもKotlinのためのプラグインを提供している。

アップルのSwiftが汎用開発言語として大きく成功した中で、最近のAndroidスタジオがEclipseでのIntelliJに変わるなど、GoogleとIntelliJの協力関係が大幅に強化された状況で、さらに今後の成り行きが注目されている状況である。