開発ツール

「Java」から「Kotlin」に切り替えるべきか--「Android」開発でグーグルが見解

グーグルが表明した「Kotlinファースト」という意向を受けて、「Android」開発で使用する言語を「Java」から「Kotlin」に切り替えるべきか。同社が見解を述べた。

 「Android」開発者がアプリ開発に使用する言語を「Java」から「Kotlin」に切り替えるべきかをめぐり、Googleが論争に加わった。

 Googleの「Android Studio」技術リードを務めるJeffrey van Gogh氏は、Android開発は今後「Kotlinファースト」になると同社が発表したことがきっかけとなり、この論争が持ち上がったことを明らかにした。

 では、「Kotlinファースト」のAndroid開発とは何を意味するのだろうか。Gogh氏は先頃開催された年次開発者会議「Google I/O」における講演で、JavaとKotlinの両方の今後について詳しく説明した。

 Gogh氏は、「もちろん、われわれは、今後も多くの側面でプログラミング言語のJavaのサポートを続けていく」と、次の表を示しながら明らかにした。


提供:Google

 「ただし、われわれが提供するオンライントレーニング用サンプルのような一部の取り組みについては、Kotlinを第一に取り組み、Javaを『ベストエフォート』とする予定だ。もちろん、それに続いて、マルチプラットフォーム関連のプロジェクトや(UI開発用ツールキットの)『Jetpack Compose』などの機能もある。これらの機能は、Kotlinのみで提供される予定だ」(Gogh氏)

 Googleは、Android開発者がJavaからKotlinに移行すべきかどうか信頼できる答えを提供できる立場にあるが、「Google Drive」や「Google Home」「nest」「Android SystemUI」を含むさまざまな独自製品において、同社は既にKotlinを使い始めている。

 Gogh氏は、「『Kotlinファースト』について、あらゆるJavaコードをKotlinに書き換える必要があるという意味に解釈しないで欲しい。われわれは、皆さんにそのようなことをして欲しいとは思わない」と述べ、Google自身、既存のソフトウェアに対してそのようなアプローチを取ったことはないと付け加えた。

 「Android Studioを見ても、膨大な行のコードでできている。現時点で、Android Studio固有のコードの約10%がKotlinである」(Gogh氏)

 「われわれがやっているのは、新規機能に限定してKotlinで記述することだ。それが可能な理由は、KotlinはJavaとの相互運用性が優れているからだ。例えば、Kotlinで単一のクラスを記述し、残りをJavaのままにすることや、99%のコードをKotlinで記述して、残りのほんの一部だけをJavaにすることが可能だ」(Gogh氏)

 Gogh氏は、新機能をKotlinで実装する作業は、プロジェクトの開始により近い段階で実行する方がより理にかなっているのは明らかだとし、その上で、アプリの開発段階などの複雑な要因についても検討する必要があると付け加えた。

 同氏によると、チームにとってもう一つの課題は、組織内部にKotlinに対する熱意がどれだけあるかだという。

 「チームの姿勢にも依存する。メンバーはKotlinに関心があるだろうか。Kotlinを採用することに安心感を抱いているだろうか」(Gogh氏)

 Gogh氏が指摘するように、Kotlinを重視することには弊害もある。Kotlinは慣用的なコードとして知られ、開発者がその記述法に慣れるまでにある程度時間がかかることだ。

 「Kotlinは優れた機能とともに、より高い生産性と満足度をもたらす。ただし、学習曲線について考慮する必要がある。慣用的なKotlinコードを記述する方法を習得するには時間がかかる」(Gogh氏)

 「Kotlinを使い始めて最初の1週間は、大半の人が実はKotlinでJavaを記述しており、慣用的なKotlinコードを記述するようになるまでに、実際には3~6カ月ほどかかるということが分かっている」(Gogh氏)

 Gogh氏によると、ソフトウェアのビルドプロセスも、より時間がかかる可能性があるという。これは、KotlinのコンパイラーがJavaで通常使われているコンパイラーよりも処理に時間がかかることに起因する。ただし、同氏は、GoogleがKotlinのコンパイラーの高速化に向け「懸命に取り組んでいる」と述べた。

 Kotlinを使用する場合、生成されたAPKも比較的サイズが大きいと同氏は付け加えた。APKは、Androidデバイス上にアプリをインストールする際に使用されるソフトウェアパッケージだ。

 GoogleはAndroid向けに、Jetpack Composeや新しいJetpack向け「Kotlin Extension(KTX) API」など、「数多くの進行中のKotlinプロジェクト」を抱えており、最新の1.3.30 Kotlinのリリースで開始されたコンパイラーの高速化作業を展開するとともに、ツールや文書、コードサンプルの改良も進めていると同氏は述べた。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

「開発ツール」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
開発
開発ツール
開発支援
ノンプログラミング開発ツール
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]