1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kotlinという言語の将来について気になった

Last updated at Posted at 2025-02-09

はじめに

AndroidエンジニアとしてKotlinを主軸にして開発していますが、Multiplatformの出現によりAndroid開発も無理にKotlinでやる必要もないのかなっと思い、気になったので軽くではありますが、Kotlinについて調べてみました。
これからエンジニアを目指そうとしている人や既にエンジニアだけど、他の言語に挑戦しようといてる人の中でKotlinについて興味がある人の参考になればいいなと思います。

参考記事

個人的に気にしながら見たらいいんじゃないかというポイントは
・できることの多さ
・値段
・案件の多さ
・開発の際のわかりやすさ

Geminiに聞いてみた

Q. Android開発におすすめの言語は?

A. 下記の記事では5つの記事を紹介しているが、最新の Android 開発の主な選択肢として 2つの言語が際立っています。


・Kotlin

Google が Android 開発に推奨する言語で、GoogleはKotlinに対しての優れたサポートを提供しており、公式ドキュメントなどで使用される言語です。

モダンで簡潔

Kotlin は、Java よりも簡潔、表現力豊かで、安全になるように設計されています。これにより定型コードが削減され、null ポインター例外などの一般的なエラーの防止に役立ちます。

Java との相互運用性

Kotlin は Java と 100% 相互運用可能です。これは、既存の Java プロジェクトで Kotlin を使用でき、Kotlin プロジェクトで Java ライブラリを使用できることを意味します。これにより、Kotlin への段階的な移行が容易になります。

Jetpack のサポート

Kotlin は、Android アプリを構築するための推奨方法である最新の Jetpack ライブラリの主要言語です。

など...


・Java
レガシーコード

Java は、長い間 Android で主流の言語でした。 Java で書かれた既存の Android コードが膨大にあります。

大規模なコミュニティ

Java には大規模なコミュニティと豊富なリソースがあります

段階的な衰退

Java は依然として重要ではありますが、新しい Android プロジェクトでは段階的に Kotlin に置き換えられています。

など...


Q. マルチプラットフォームでおすすめの言語は?

A. マルチプラットフォーム開発は、クロスプラットフォーム開発とも呼ばれ、単一のコードベースから複数のオペレーティング システム (Android、iOS、Windows、macOS、Web など) で実行できるアプリケーションを構築することを意味します。
マルチプラットフォーム開発で人気の言語の検索結果と現在の業界トレンドに基づいて、マルチプラットフォーム開発に最適な言語とフレームワークを以下に示します。


Kotlin (Kotlin Multiplatform)
概要

Android アプリと iOS アプリの間で共通のコード (ビジネスロジック、ネットワーキング、データ処理) を共有できると同時に、プラットフォーム固有の UI コードをネイティブ言語 (Androidの場合は Kotlin/Java、iOSの場合は Swift/Objective-C) で作成できます。

長所

ネイティブ コードにコンパイルされるため、優れたパフォーマンスが得られます。
既存のプロジェクトに段階的に統合できます。
強力なAndroidサポートを受けているのでAndroid 開発で Kotlin の利点をすべて活用できます。

短所

UI はネイティブです: プラットフォームごとに個別の UI を構築する必要があります。
比較的新しいく、まだ進化しているため、成熟していません。


Dart (Flutter)
概要

Flutter は単一のコードベースを使用して、Android、iOS、Web、デスクトップ用のアプリを構築します。独自のレンダリング エンジンを使用するため、ネイティブ UI コンポーネントに依存しません。

長所

単一のコードベースから複数のプラットフォーム用のアプリを構築できます。
Flutter のホット リロード機能を使用すると、変更を即座に確認できるため、開発がスピードアップします。
美しい UIを持つ Flutter は、視覚的に魅力的でカスタマイズ可能な UI で知られています。
Flutter アプリは、ネイティブ アプリほど高速ではありませんが、優れたパフォーマンスを発揮します。

短所

真のネイティブではない。 Flutter はネイティブ UI コンポーネントを使用しないため、見た目や操作感が若干異なる場合があります。
アプリのサイズが大きくなる。 Flutter アプリはネイティブ アプリよりも大きくなる可能性があります。


JavaScript (React Native)
概要

JavaScript を使用してモバイル アプリを構築するフレームワークです。

長所

コードの再利用: Android と iOS の間でコードを共有できます。
JavaScript と React を知っていれば、React Native を簡単に学ぶことができます。

短所

ネイティブ アプリと比較してパフォーマンスの問題が発生する場合があります。
一部の機能については、ネイティブ コード (Java/Kotlin/Swift/Objective-C) を作成する必要がある場合があります。
デバッグは、ネイティブ アプリよりも難しい場合があります。


C# (Xamarin)

概要

Microsoft によって開発された言語で、Xamarin は C# を使用してクロスプラットフォーム アプリを構築するためのフレームワークです。

長所

アプリはネイティブに近いパフォーマンスを実現できます。
プラットフォーム間で大量のコードを共有できます。
しばらく前から存在しており、成熟したエコシステムを備えています。
Microsoft によってサポートされています。

短所

他のオプションよりも急峻な学習曲線を持つ可能性があります。


Gemini的には一番最初にKotlinを紹介していて、Google的にも推奨している言語はKotlinのようですね。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?