6 月 3 日の「#Android11: The Beta Launch Show」にぜひご参加ください。

Android での Kotlin の使用に関するよくある質問

Kotlin が Android の第一級のサポート言語になったのはなぜですか?

Kotlin は、簡潔で機能が豊富であり、タイプセーフおよび null セーフとして設計された Android 対応言語です。Java 言語とシームレスに連携するため、Java 言語に慣れたデベロッパーは Java 言語を引き続き使用しながら、Kotlin コードを段階的に追加して Kotlin ライブラリを活用することが容易にできます。また、すでに多くの Android デベロッパーが、Kotlin を使用すると迅速かつ楽しく開発できるようになると認めており、Google では、こうした Kotlin ユーザーをさらにサポートしたいと考えています。詳しくは Kotlin と Android についての記事をご覧ください。

 

すでに Kotlin 言語を使用しているユーザーにとって、何か変更点はありますか?

今後短期間に予定されている大きな変更は、Android Studio 3.0 以上に、完全にテストされた Kotlin のサポートが導入されることです。Google では、これにより、はるかに簡単で安定した開発が可能になると考えています。

 

Android Studio で Kotlin を使用するにはどうすればよいですか?

Kotlin は Android Studio 3.0 以上で完全にサポートされます。従来は Kotlin を使用するのに Kotlin プラグインを追加する必要がありましたが、Android Studio の今後のリリースにはすべてこれらのツールが組み込まれます。そのため、追加のステップを必要とせずに、Kotlin ファイルを含めた新しいプロジェクトの作成、Java 言語コードから Kotlin への変換、Kotlin コードのデバッグが行えます。「Kotlin を使ってみる」をご覧ください。

 

Android Studio で Kotlin をデバッグするにはどうすればよいですか?

Kotlin のデバッグは、Java コードのデバッグと同様に行います。異なる操作をする必要はありません。

 

Kotlin には他にどのような IDE サポート(lint、オートコンプリート、リファクタリングなど)が用意されていますか?

Android Studio 3.0 以降、IDE では Kotlin の完全なツールサポートを提供しています。 ただし、いくつかの既知の問題と制限があり、現在、修正を行っています。

 

Kotlin の今後は?

Google が Kotlin を採用する理由の 1 つは、JetBrains によって精巧に設計されているからです。Google は JetBrains と提携して、言語からフレームワーク、ツールに至るまで、デベロッパーの全体的な利便性を保証します。また、Kotlin 言語を非営利組織に移譲するために互いに協力しています。

 

Kotlin はオープンソースですか?

Kotlin の優先ライセンスは Apache Software License、バージョン 2.0(「Apache 2.0」)であり、Kotlin ソフトウェアの大半は Apache 2.0 のライセンスを使用します。このプロジェクトでは優先ライセンスができる限り使用されますが、例外的にケースバイケースで処理されることもあります。たとえば、Kotlin で使用される特定のサードパーティの依存関係で、別のオープンソース ライセンスが使用されていても、Apache 2 ライセンスとの互換性を持つ場合もあります。

 

Java 言語と Kotlin 言語のどちらを選択すればよいですか?

どちらか一方を選択する必要はありません。どちらが適しているかに応じて、両者を使い分けられます。Kotlin が適しているかどうかを確認するには、Android で使ってみることができます。また、こちらの Kotlin 関連リソースを参照して Kotlin 言語の詳細を確認することもできます。

 

Android API または他の Java 言語ライブラリ API を Kotlin から呼び出せますか?

はい。Kotlin には Java 言語との相互運用性があります。設計上、Kotlin コードは Java 言語メソッドを透過的に呼び出すことができます。さらに、Kotlin のみの機能を Java コードに簡単に公開できるようにするアノテーションも使用できます。 Kotlin 固有のセマンティクスを使用しない Kotlin ファイルは、アノテーションなしで Java コードから直接参照できます。これらの機能を活用して、Java コードと Kotlin コードをきめ細かく混在させることができます。詳細については、Kotlin の相互運用性ドキュメントをご確認ください。

 

Android API 用の Kotlin リファレンス ドキュメントはありますか?

はい、あります。Google では、すべての Android API ドキュメントで Kotlin の言語特有のリファレンスを提供できるように準備を進めています。参照可能な Kotlin リファレンスへのリンクは、Android リファレンスの概要ページにあります。Kotlin 言語の主要なリファレンスをお探しの場合は、Kotlin 標準ライブラリ リファレンスをご覧ください。

 

同じプロジェクトで Java ファイルと Kotlin ファイルの両方を使用できますか?

はい。Kotlin の Java との相互運用性を活用して、Java コードに Kotlin を自由に混在させることができます。

 

C++ で Kotlin を使用できますか?

はい、JNI は Kotlin で完全サポートされています。JNI メソッドを外部修飾子でマークするだけで使用できます。

 

新しいプロジェクトに Kotlin を追加するにはどうすればよいですか?

Kotlin は、新しいプロジェクトを作成する際に Android Studio で選択されるデフォルトの言語になりました。詳細については、プロジェクトの作成をご覧ください。

 

既存のプロジェクトに Kotlin を追加するにはどうすればよいですか?

[Project] ウィンドウでモジュールを選択し、[File] > [New] を選択して Android テンプレートを選択し、[Source language] として [Kotlin] を選択します。詳細については、Kotlin を既存のアプリに追加するをご覧ください。

 

Java 言語コードを Kotlin に変換するにはどうすればよいですか?

Java ファイルを開き、[Code] > [Convert Java File to Kotlin File] を選択します。または、新しい Kotlin ファイルを作成([File] > [New] > [Kotlin File/Class])してから、Java コードをそのファイルに貼り付け、プロンプトが表示されたら [Yes] をクリックして、コードを Kotlin に変換します。

 

Kotlin に並列ドキュメント、サンプル、コードラボ、テンプレートはありますか?

Google では、Java 言語と Kotlin 言語の両方のユーザーにとって、できる限り有益なドキュメントや資料を準備するために取り組んでいます。それまでは、Kotlin の Java 言語との優れた相互運用性と、Android Studio で Java 言語コードを Kotlin に自動的に変換する機能をご活用ください。

 

Kotlin のコルーチンは Android で動作しますか?async / await はどうですか?

Kotlin コルーチンは、バージョン 1.3 時点の Kotlin で安定しており、Android で想定どおりの動作を行います。Android でのコルーチンの使用に関する詳細については、「Kotlin コルーチンでアプリのパフォーマンスを改善する」をご覧ください。

 

Kotlin を使用するとパフォーマンスに影響はありますか?

Kotlin はパフォーマンスに直接影響を与えるものではありませんが、Java 言語と同様、使用方法については慎重に検討する必要があります。たとえば、新しいコレクション インスタンス間で繰り返しコピーすると、GC のパフォーマンスに影響を与える可能性があり、null 以外の型を受け入れるメソッドを呼び出すと、null チェックのメソッド呼び出しが追加されます(ただし、ランタイム null チェックは、コンパイラで -Xno-param-assertions を使用して無効にできます)。

 

Kotlin は Android のどのバージョンをサポートしますか?

すべてのバージョンをサポートします。Kotlin は JDK 6 と互換性があるため、Kotlin を使用したアプリは古い Android バージョンでも安全に動作します。

 

Kotlin についてもっと学ぶには何を参照すればよいですか?

その他の Kotlin 関連リソースをご確認ください。