👻

Androidアプリの個人開発者が使っている言語とフレームワーク

に公開

はじめに

Androidアプリを個人開発するとき、言語は何を使って、フレームワークはどれが主流で、自分が作りたいものは、一体どれを選べばいいのだろうか?・・・ と悩んでしまうことがあると思います。

特に、初めてAndroidアプリの開発をやってみる方にとっては、具体的な技術選定の判断基準すら無いので、判断に困ってしまうと思います。

そこで今回は、100名以上が参加しているAndroidアプリ開発者のコミュニティ「Androidクローズドテストコミュニティ」のアンケートを基にして、 実際にAndroidアプリの個人開発者が選んでいる言語やフレームワークはどれなのか、またそれぞれの言語やフレームワークにはどのような特徴があり、どのようなアプリの開発に向いているのかについて整理してみました。

開発する言語とフレームワーク

Kotlin

Kotlinは、ネイティブなAndroidアプリ開発のための公式言語であり、高いパフォーマンスとGoogleのサポートを受けています。なので、基本的にKotlinを用いれば、Android OSの機能を最大限活用できます。ことができます。

Unity、C#

Unityは、クロスプラットフォーム対応のゲームエンジンで、直感的なエディタと豊富なAPIを活用して効率的な開発を可能にします。C#はUnityのスクリプト言語として採用され、シンプルな構文と高い柔軟性でゲームロジックや動作を記述できます。この組み合わせにより、初心者からプロまで短期間で高品質なアプリやゲームの開発が実現します。 また、活発なコミュニティとサポートにより、開発環境がさらに強化されています。

Flutter、Dart

Flutterは、Google製のクロスプラットフォームフレームワークで、単一のコードベースからiOSやAndroidなど多プラットフォーム向けのアプリを開発できます。Dartはそのプログラミング言語で、ホットリロード機能や宣言的UI構文により効率的な開発を実現します。この組み合わせは、美しいUIや高性能なアプリを短期間で構築するのに最適です。

React Native、JavaScript

React Nativeは、JavaScriptでクロスプラットフォームアプリを開発できるMeta社(旧Facebook)製のフレームワークで、ネイティブに近いパフォーマンスを実現します。JavaScriptを使い、宣言的な構文でUIを効率的に構築できるほか、豊富なライブラリとエコシステムが強みです。この組み合わせにより、iOSやAndroid向けのアプリを1つのコードベースで開発できます。

コミュニティの実際の言語使用状況

それでは、実際にはどのような技術が使われていることが多いのでしょうか?
コミュニティ内で、実際に統計を取ったところ下記のようになりました。
Flutterが最も多く使用されていました。

言語選定するにあたっては、どれくらい利用者がいるのかが、非常に大事です。
利用する人が多い言語は、ネット上に情報も多く出回っていますし、SNSやDiscordコミュニティで実際に接触して情報を得たり、質問をしたり、場合によっては指導を頼めることもあります。

  • 1位 Flutter
    コミュニティでは、Flutterが最も人気で実際に使用されてる方同士で交流も生まれています。

  • 2位 Unity
    Unityはゲームアプリを作られてる方が主に使用されています。ACTCでテスター募集されるうち半数近くがゲームアプリのため、アンケート結果もUnityが多くなりました。

  • 3位 Kotlin
    FlutterについでKotlinもメジャーです。ACTCにおられる方の中にも、実際にKotlinで仕事をされてる方もおられます。

  • 4位 React Native
    ReactNativeは少数派のようですが、ときどき使用される方がおられます。ただ、個人開発初心者の方には割とハードルが高めです。

まとめ

それぞれ、使う言語とフレームワークによって様々な特徴がありますね。絶対的にこれがいいというものはないので、自分が作りたいプロダクトによって使い分けることが大事かと思います。

Androidクローズドテストコミュニティ

Discussion