ソフトウェアジャンル別 開発ツール一覧(2025年版)

コンピュータ

個人開発の視点から「どのジャンルのソフトウェアを作るときに、どんな言語・フレームワーク・ツールがよく使われるか」をざっくり整理したメモです。

自分の興味(Windowsデスクトップ / CLI / 画像処理 / AI / Web / レトロゲーム / 低レイヤ寄り)をかなり反映していますが、一般的な選択肢も入れています。

1. デスクトップアプリ

Windows向け(.NET / C#)

  • WPF
    XAMLベースのクラシックなデスクトップフレームワーク。MVVMでがっつり組むも良し、コードビハインドで気軽に書くも良し。
  • WinForms
    レガシー寄りだが、簡単なツールなら今でも十分現役。UIにこだわらない社内ツール系に向く。
  • WinUI 3 / Windows App SDK
    新しめのWindowsネイティブUI。将来を見据えるならこちら。ただし情報量はWPFほど多くない。
  • .NET MAUI
    C#で書いて、Windows / macOS / iOS / Android に展開するクロスプラットフォームUI。

C++系のデスクトップGUI

  • Qt 6
    クロスプラットフォームGUIの定番。C++で本気でネイティブアプリを書きたいときの候補。
  • MFC
    レガシーではあるが、企業の資産としてはまだ現役。新規に覚えるかと言われると微妙。
  • wxWidgets
    クロスプラットフォームで、比較的軽量なC++ GUIライブラリ。

Webベースのデスクトップ(ハイブリッド型)

  • Electron
    Web技術(HTML / CSS / JS)+ Node.js でデスクトップアプリを作る。VSCodeやSlackなど有名どころが採用。
  • Tauri
    Rust+WebでElectronより軽量な路線を狙うフレームワーク。
  • WebView2
    C# / C++アプリに埋め込む形でWeb UIを表示。デスクトップ感覚でWeb UIを使いたいときに便利。

2. Webアプリ

フロントエンド

  • React
    現代Webフロントのデファクトスタンダード。Next.jsとセットで語られることが多い。
  • Vue.js
    比較的習得しやすく、個人開発でも人気。テンプレートベースで直感的。
  • Svelte
    コンパイル時に最適化する新しめのフレームワーク。軽さが売り。
  • Angular
    大規模案件向けのフルスタック型フレームワーク。学習コストは高め。

バックエンド

  • Node.js(Express など)
    JavaScriptで書けるサーバーサイド。フロントと同じ言語で完結させたいときの定番。
  • Python(Django / Flask / FastAPI)
    Djangoは重量級、Flask/FastAPIは軽量〜中規模向け。
  • Ruby on Rails
    「RailsでWebサービスを作る」という世界線は今でも健在。
  • Go(Gin / Echo など)
    単一バイナリにしやすく、軽量なWeb APIサーバーを作るのに向く。
  • Rust(Actix / Axum など)
    高速・安全志向のWebサーバー。個人開発でそこまで求めるかどうかは好み。
  • PHP(Laravel など)
    LAMPスタックの延長線。共有レンタルサーバー文化と相性が良い。

フルスタック(SSR / SSG)

  • Next.js(Reactベース)
    SSR / SSG / クライアントレンダリングをまとめて扱えるフルスタックフレームワーク。
  • Nuxt(Vueベース)
    Vue陣営のNext.js的存在。
  • Remix
    Web標準寄りの設計思想を強く打ち出したフレームワーク。

3. モバイルアプリ

  • Flutter(Dart)
    1ソースでAndroid / iOS両方をねらえる。UI表現力も高く、個人開発にも人気。
  • React Native
    JavaScript / TypeScriptでネイティブラッパーを使う形。React経験が活きる。
  • Kotlin(Androidネイティブ)
    Android Studioで標準的に扱う言語。
  • Swift(iOSネイティブ)
    XcodeでiOSアプリを本気で作るならこれ。
  • .NET MAUI
    C#資産をモバイルにも伸ばしたいときの候補。

4. CLIツール

「単機能のコマンドを量産したい」「配布を楽にしたい」場合に選択肢になる言語たち。

  • C / C++
    高速かつ低レイヤ。ネイティブで1バイナリにまとめやすい。画像処理やシステムツールで出番が多い。
  • Go
    クロスコンパイルがしやすく、単一バイナリの配布に向く。CLIとの相性が非常に良い。
  • Rust
    高速+メモリ安全。小さいバイナリを目指す系のツールで人気上昇中。
  • Python
    パフォーマンスは落ちるが、とにかく書きやすい。「まず作ってみる」には最適。

5. ゲーム開発

3Dゲームエンジン

  • Unity(C#)
    3D / 2Dともに最大勢力。アセットストアも強力で、インディーから商業まで幅広く使われる。
  • Unreal Engine(C++ / Blueprints)
    フォトリアル系3Dゲームで強い。映画・映像系でも利用される。

2D / レトロゲーム寄り

  • Godot Engine(GDScript / C++ / C#)
    軽量でオープンソース。2Dゲームには特に相性が良い。
  • Cocos2d-x
    C++ベースの2Dゲームエンジン。
  • MonoGame(C#)
    XNAの流れを汲むフレームワーク。C#好きには馴染みやすい。
  • HTML5(Canvas / WebGL)
    ブラウザで動く2Dゲームを作りたいときの選択肢。
  • PICO-8 などファンタジーコンソール
    8ビット風の制約込みで楽しむタイプ。レトロゲーム作りの入門として面白い。

6. 画像処理 / コンピュータビジョン

言語別によく使われるライブラリ

  • Python
    • OpenCV
    • Pillow(PIL)
    • NumPy / SciPy
  • C++
    • OpenCV本体(C++ API)
  • C#
    • OpenCvSharp(OpenCVラッパー)
  • CLIツールとして
    • ImageMagick / GraphicsMagick
    • GEGL(GIMPが内部で使っている処理系)
  • GPU系
    • CUDA(自作カーネル)

7. AI / 機械学習 / 深層学習

  • Python
    • PyTorch / TensorFlow
    • scikit-learn
    • ONNX Runtime
  • C++
    • TensorRT
    • ONNX Runtime C++ API
  • Webブラウザ上
    • TensorFlow.js
    • WebGPU関連ライブラリ
  • 画像生成 / 生成AI
    • Stable Diffusion / Diffusers
    • 各種LoRA / ControlNet などの拡張
  • LLMローカル推論
    • llama.cpp
    • ollama
    • vLLM など(GPU前提)

8. 組込み / IoT

  • C / C++
    マイコン系では依然として主役。ARM / AVR / ESP32 など。
  • MicroPython
    ESP32などで手軽にスクリプト的に書きたいときに便利。
  • Arduino IDE
    Arduinoボードを使うときの定番環境。
  • Rust
    組込み分野でも徐々に存在感を増している。
  • Raspberry Pi(Linuxボード)
    • Python + GPIO
    • C++ / Go / Rust など汎用言語

9. サーバー / インフラ

  • コンテナ・オーケストレーション
    • Docker / Podman
    • Kubernetes
  • Webサーバー
    • Nginx
    • Apache
  • クラウド
    • AWS / GCP / Azure
  • CI/CD
    • GitHub Actions
    • GitLab CI
  • OSまわり
    • Linuxサーバーのセットアップ・運用全般

10. データ処理 / ETL

  • Python
    • pandas / polars
    • NumPy / SciPy
  • R
    統計解析・可視化向け。
  • SQL
    • PostgreSQL
    • MySQL / MariaDB
  • 分散処理
    • Spark
    • BigQuery など

11. タスク自動化 / スクリプティング

  • PowerShell
    Windowsの管理・自動化に最適。ファイル操作からレジストリ、各種APIまで広く触れる。
  • Python
    OS依存をあまり気にせずスクリプトを書ける。ちょっとしたバッチ処理にも向く。
  • Shell Script(bash / zsh)
    Linux / macOS 環境での定番スクリプト。
  • AutoHotkey
    キー操作やマウス操作の自動化など、WindowsのUI操作をスクリプト化したいときに。
  • AppleScript / Automator
    macOS上でのアプリ連携・自動化に利用。

12. OS / 低レイヤ / ネイティブ

  • C
    OS・カーネル・ドライバ・ランタイムなど、低レイヤの標準語。
  • C++
    高パフォーマンスなネイティブアプリ、ゲームエンジン、ミドルウェアなどで利用。
  • Rust
    メモリ安全性を重視したシステムプログラミング言語。OS自作やブラウザの一部で実例あり。
  • Linuxカーネル / デバイスドライバ
    カーネルモジュール開発などを通じて、本気で低レイヤを触る世界。
  • Win32 API(WinAPI)
    WindowsネイティブアプリのAPI群。C / C++ から直接叩く世界。
  • MSYS2 / MinGW / LLVM / Clang
    ツールチェーンとして、C/C++/Rust などのビルド基盤になる部分。

以上、「ソフトウェアのジャンル別に開発ツールをざっくり眺める一覧」をChatGPTに作成してもらいました。
だいぶ個人の趣味嗜好が反映されたラインナップになっており、Webアプリ全盛のトレンドとは相いれない感じになりました。

理由としては、個人が自分で使うツールにWebアプリを採用することが、環境構築などのコストが高い割に、利用者は自分だけなので、苦労が見合わない感じがする為です。職業プログラマであれば、開発技術のトレンドを追いかけ、UXのクオリティの向上やセキュリティ問題など、様々な問題と向き合う必要がありますが、趣味の個人開発では自分のペースで学習を進めることが出来る点がメリット。

他人が作ってくれたライブラリやフレームワークは、ありがたく使わせてもらうとして、楽が出来る方向に注力していきたいと思います。

コメント