メインコンテンツまでスキップ

FAQ

Kotlinとは?

Kotlinは、JVM、Android、JavaScript、Wasm、そしてNativeをターゲットとした、オープンソースの静的型付けプログラミング言語です。 JetBrainsによって開発されています。プロジェクトは2010年に開始され、非常に早い段階からオープンソースでした。 最初の公式1.0リリースは2016年2月でした。

Kotlinの現在のバージョンは何ですか?

現在リリースされているバージョンは2.1.20で、2025年3月20日に公開されました。 詳細については、GitHubをご覧ください。

Kotlinは無料ですか?

はい。Kotlinは無料で、これまでも無料であり、これからも無料です。Apache 2.0ライセンスの下で開発されており、ソースコードは GitHubで入手できます。

Kotlinはオブジェクト指向言語ですか、それとも関数型言語ですか?

Kotlinにはオブジェクト指向と関数型の両方の構成要素があります。OOとFPの両方のスタイルで使用したり、2つの要素を組み合わせたりできます。 高階関数、関数型、ラムダなどの機能を第一級でサポートしているため、Kotlinは 関数型プログラミングを行ったり、探求したりする場合に最適な選択肢です。

Javaプログラミング言語と比較して、Kotlinにはどのような利点がありますか?

Kotlinはより簡潔です。概算では、コード行数が約40%削減されることが示されています。 また、より型安全です。たとえば、null非許容型のサポートにより、アプリケーションがNPE(NullPointerException)を起こしにくくなります。 スマートキャスト、高階関数、拡張関数、レシーバー付きラムダなどのその他の機能により、表現力豊かなコードを記述できるだけでなく、DSLの作成も容易になります。

KotlinはJavaプログラミング言語と互換性がありますか?

はい。KotlinはJavaプログラミング言語と100%相互運用可能であり、既存のコードベースがKotlinと適切に連携するように重点が置かれています。 JavaからKotlinのコードを簡単に呼び出すことができ、KotlinからJavaのコードを呼び出すこともできます。これにより、採用がはるかに簡単になり、リスクが軽減されます。 また、既存のコードの移行を簡素化する、自動化されたJava-to-KotlinコンバーターがIDEに組み込まれています

Kotlinは何に使用できますか?

Kotlinは、サーバーサイド、クライアントサイドWeb、Android、またはマルチプラットフォームライブラリなど、あらゆる種類の開発に使用できます。 現在開発中のKotlin/Nativeでは、組み込みシステム、macOS、iOSなどの他のプラットフォームのサポートも予定されています。 人々はKotlinをモバイルおよびサーバーサイドアプリケーション、JavaScriptまたはJavaFXを使用したクライアントサイド、データサイエンスなどに使用しています。

Android開発にKotlinを使用できますか?

はい。Kotlinは、Androidで第一級言語としてサポートされています。Basecamp、Pinterestなど、すでにKotlinをAndroidに使用しているアプリケーションが数百あります。詳細については、Android開発に関するリソースをご覧ください。

サーバーサイド開発にKotlinを使用できますか?

はい。KotlinはJVMと100%互換性があるため、Spring Boot、vert.x、JSFなどの既存のフレームワークを使用できます。さらに、Ktorなど、Kotlinで記述された特定のフレームワークもあります。詳細については、サーバーサイド開発に関するリソースをご覧ください。

Web開発にKotlinを使用できますか?

はい。バックエンドのWeb開発では、KotlinはKtorSpringなどのフレームワークと連携して、サーバーサイドアプリケーションを効率的に構築できます。さらに、クライアントサイドのWeb開発にはKotlin/Wasmを使用できます。 Kotlin/Wasmを始める方法をご覧ください。

デスクトップ開発にKotlinを使用できますか?

はい。JavaFx、SwingなどのJava UIフレームワークを使用できます。 さらに、TornadoFXなどのKotlin固有のフレームワークもあります。

ネイティブ開発にKotlinを使用できますか?

はい。Kotlin/Nativeは、Kotlinの一部として利用できます。KotlinをVMなしで実行できるネイティブコードにコンパイルします。 一般的なデスクトップおよびモバイルプラットフォーム、さらには一部のIoTデバイスで試すことができます。 詳細については、Kotlin/Nativeのドキュメントをご覧ください。

どのIDEがKotlinをサポートしていますか?

Kotlinは、IntelliJ IDEAおよび Android Studioで、JetBrainsによって開発された公式のKotlinプラグインを使用して、すぐに使用できます。

他のIDEおよびコードエディターには、Kotlinコミュニティがサポートするプラグインのみがあります。

ブラウザでKotlinコードを記述、実行、共有するには、Kotlin Playgroundを試すこともできます。

さらに、アプリケーションのコンパイルと実行を簡単にサポートするコマンドラインコンパイラーも利用できます。

どのビルドツールがKotlinをサポートしていますか?

JVM側では、主なビルドツールには、GradleMavenAnt、およびKobaltがあります。クライアントサイドのJavaScriptをターゲットとするビルドツールもいくつかあります。

Kotlinは何にコンパイルされますか?

JVMをターゲットとする場合、KotlinはJava互換のバイトコードを生成します。

JavaScriptをターゲットとする場合、KotlinはES5.1にトランスパイルされ、 AMDやCommonJSなどのモジュールシステムと互換性のあるコードを生成します。

ネイティブをターゲットとする場合、Kotlinはプラットフォーム固有のコードを生成します(LLVM経由)。

KotlinはどのバージョンのJVMをターゲットとしていますか?

Kotlinでは、実行するJVMのバージョンを選択できます。デフォルトでは、Kotlin/JVMコンパイラーはJava 8互換のバイトコードを生成します。 新しいバージョンのJavaで利用可能な最適化を利用する場合は、ターゲットのJavaバージョンを9から23まで明示的に指定できます。この場合、結果のバイトコードは下位バージョンでは実行されない可能性があることに注意してください。 Kotlin 1.5以降、コンパイラーは8未満のJavaバージョンと互換性のあるバイトコードの生成をサポートしていません。

Kotlinは難しいですか?

Kotlinは、Java、C#、JavaScript、Scala、Groovyなどの既存の言語に触発されています。Kotlinが学習しやすいように努めてきたため、人々は数日で簡単にKotlinを読み書きできるようになります。 イディオム的なKotlinを学習し、より高度な機能を使用するにはもう少し時間がかかる場合がありますが、全体として複雑な言語ではありません。 詳細については、学習教材をご覧ください。

どの企業がKotlinを使用していますか?

Kotlinを使用している企業は多すぎてリストできませんが、ブログ投稿、GitHubリポジトリ、または講演を通じて、Kotlinの使用を公に宣言している企業には、 SquarePinterestBasecamp、およびCordaなどがあります。

誰がKotlinを開発していますか?

Kotlinは、JetBrainsのエンジニアチーム(現在のチーム規模は100人以上)によって開発されています。 リード言語デザイナーはMichail Zarečenskijです。コアチームに加えて、GitHubには250人以上の外部コントリビューターがいます。

Kotlinについて詳しく知るにはどこに行けばよいですか?

最初に始めるのに最適な場所は当社のウェブサイトです。 Kotlinを始めるには、公式IDEのいずれかをインストールするか、オンラインで試すことができます。

Kotlinに関する書籍はありますか?

Kotlinで利用できる書籍は多数あります。そのうちのいくつかをレビューしており、始めるにあたって推奨できます。それらは書籍ページにリストされています。その他の書籍については、コミュニティが管理するリストkotlin.linkをご覧ください。

Kotlinのオンラインコースはありますか?

JetBrains AcademyのKotlin Coreトラックを使用すると、実際に動作するアプリケーションを作成しながら、Kotlinの必需品をすべて学ぶことができます。

受講できるその他のコースをいくつか紹介します。

YouTubeチャンネルでその他のチュートリアルやコンテンツを確認することもできます。

Kotlinにはコミュニティがありますか?

はい!Kotlinには非常に活気のあるコミュニティがあります。Kotlin開発者は、KotlinフォーラムStackOverflow、およびKotlin Slackでより積極的に活動しています (2020年4月時点で約30000人のメンバーがいます)。

Kotlinイベントはありますか?

はい!現在、Kotlinを中心に活動する多くのユーザーグループとミートアップがあります。ウェブサイトでリストを見つけることができます。 さらに、コミュニティが主催するKotlin Nightsイベントが世界中で開催されています。

Kotlinのカンファレンスはありますか?

はい!KotlinConfはJetBrainsが主催する年次カンファレンスで、世界中の開発者、愛好家、 専門家が集まり、Kotlinに関する知識と経験を共有します。

技術的な講演やワークショップに加えて、KotlinConfはネットワーキングの機会、コミュニティとの交流、 参加者が仲間のKotlinerとつながり、アイデアを交換できるソーシャルイベントも提供します。 これは、Kotlinエコシステム内でのコラボレーションとコミュニティ構築を促進するためのプラットフォームとして機能します。

Kotlinは世界中のさまざまなカンファレンスでも取り上げられています。 今後の講演のリストはウェブサイトにあります

Kotlinはソーシャルメディアにありますか?

はい。 Kotlin YouTubeチャンネルを購読し、KotlinをTwitterまたはBlueskyでフォローしてください。

他にKotlinのオンラインリソースはありますか?

ウェブサイトには、コミュニティメンバーによるKotlin Digestsニュースレターポッドキャストなど、多数のオンラインリソースがあります。

HD Kotlinロゴはどこで入手できますか?

ロゴはこちらからダウンロードできます。 ロゴを使用する場合は、アーカイブ内のguidelines.pdfKotlinブランド使用ガイドラインの簡単なルールに従ってください。

詳細については、Kotlinブランドアセットに関するページをご覧ください。