ソフトウェアは、どんな部品でできているか
プログラミングを学び始めると、「フロントエンド」「バックエンド」「データベース」「デプロイ」といった言葉が次々に出てくる。ここは、それらがそれぞれ何をしていて、どうつながって一つのソフトウェアになるのかを、初学者向けに一枚の地図にしたサイトです。
地図の上に、各分野の代表的なツール 52 件を置いています。どのツールも「できること」だけでなく「できないこと」と「限界値」を、公式ドキュメントの出典つきで同じ形で載せています。使い方は載せません。使い方は公式ドキュメントが最も正確だからです。
全体像
12の分野
上から順に学ぶことを想定した並び。各分野に「最初に触るなら」を1件ずつ挙げている。
- 言語・実行環境 プログラムを書くための「言葉」と、それを動かす仕組みすべての分野の部品は、いずれかの言語で書かれている。地図のいちばん下にある土台。 最初に触るなら Python。
- 画面・フロントエンド 利用者が見て、触る画面をつくる。ブラウザの中で動く部分利用者にいちばん近い層。ここから裏側(サーバー)に頼み事をして、返ってきたデータを見せる。 最初に触るなら Astro。
- サーバー・API 画面の裏側で、頼まれた処理をしてデータを返す係画面とデータの間に立ち、「誰が何をしてよいか」を決める。アプリのルールはここにある。 最初に触るなら Supabase。
- データの保存 データをなくさず置いておく場所。形(表・文書・ファイル)で種類が分かれるアプリの「記憶」。サーバーが読み書きし、溜まったものは後で分析にも使う。 最初に触るなら SQLite。
- 実行基盤・ホスティング 書いたコードを、自分のパソコンの外で動かし続ける場所画面・サーバー・データベースを「載せる」土台。ここに載せて初めて、他人が使える。 最初に触るなら GitHub Pages。
- 開発基盤・CI/CD コードの変更を、壊さずに本番へ届ける仕組み「書いた」と「動いている」の間をつなぐベルトコンベア。履歴・検証・配信の3つを担う。 最初に触るなら Git。
- 監視・可観測性 動いているものの様子を知り、壊れたら気づく公開したあとの「目」。これがないと、壊れても利用者から言われるまで分からない。 最初に触るなら Sentry。
- 認証・セキュリティ 誰がアクセスできるかを決め、守る画面とサーバーの入口に立つ門番。本人確認(認証)と、してよいことの範囲(認可)を扱う。 最初に触るなら Clerk。
- 自動化・連携 決まった作業を、人手なしで繰り返す人が毎回やっていた作業を機械に渡す。周りの分野をつなぐ接着剤でもある。 最初に触るなら Google Apps Script。
- ノーコード・SaaS コードを書かずに済ませる選択肢学習の近道であり、限界に当たったときに「コードが必要な理由」を教えてくれる。 最初に触るなら Zapier。
- データ処理・分析 溜まったデータを集計・変換・可視化する保存されたデータを「使う」側。分析と AI の前段にあたる。 最初に触るなら pandas。
- AI・機械学習 文章の生成・要約・分類や、予測をアプリに組み込む最後に足す部品。API を呼ぶだけなら、他の分野を一通り知った初学者でも使える。 最初に触るなら Claude API(Anthropic)。
ツール一覧(52件)
分野ごとに、学習コストの低い順。名前を知っている道具から入ってもよい。 検索では略称(GAS、S3、PG)でも引ける。
言語・実行環境
- Python 読みやすさを優先した動的型付け言語。データ処理・自動化・AI分野の共通語 低
- Go 単一バイナリに固めて配布できる静的型付け言語。並行処理と配布が軽い 中
- TypeScript JavaScriptに静的型を足した言語。Node.jsでブラウザとサーバーを同じ言語で書く 中
- Rust メモリ安全性をコンパイル時に保証する、GCを持たない静的型付け言語 高
画面・フロントエンド
サーバー・API
データの保存
- Amazon S3 容量無制限・従量課金の、AWS のオブジェクト(ファイル)ストレージ 低
- Meilisearch あいまい検索とタイポ許容に強い、数十ミリ秒で応答する全文検索エンジン 低
- Redis 全データをメモリに置く、ミリ秒未満で応答するキー・値/データ構造サーバー 低
- SQLite サーバー不要、単一ファイルで動く組み込み型の関係データベース 低
- MongoDB JSON風のドキュメントをスキーマレスに保存する、水平分散前提のNoSQL DB 中
- PostgreSQL 標準SQLに忠実で拡張性の高い、オープンソースの関係データベース 中
実行基盤・ホスティング
- GitHub Pages GitHubリポジトリから静的サイトを無料で公開するホスティング 低
- Render Git連携でWebサービス・常駐ワーカー・DBを運用するHeroku型のPaaS 低
- Vercel Gitに連携し、Next.jsなどのフロントエンドを自動デプロイするホスティング基盤 低
- AWS Lambda サーバー管理なしでコードをイベント駆動・従量課金で実行するAWSの基盤 中
- Cloudflare Workers V8アイソレートで動く、Cloudflareのエッジサーバーレス実行基盤 中
- Docker アプリと実行環境をイメージに固め、どこでも同じに動かすコンテナ基盤 中
- Fly.io Dockerイメージを世界中のリージョンにVM(Machine)として配置するPaaS 中
開発基盤・CI/CD
- GitHub Git リポジトリのホスティングに PR・Issue・CI を統合した開発基盤 低
- GitHub Actions GitHub リポジトリの push・PR・スケジュールで動く CI/CD 実行基盤 低
- Git 分散型バージョン管理システム。全履歴を手元に持ち、ほぼ全操作がローカル 中
- GitLab リポジトリ管理からCI/CDまでを一体化したDevOpsプラットフォーム 中
- Playwright Chromium/Firefox/WebKitを1つのAPIで自動操作するE2Eテストフレームワーク 中
- Terraform クラウド資源を HCL で宣言し、差分を計算して適用する IaC ツール 中
監視・可観測性
- Sentry アプリで起きた例外をスタックトレース付きで集め、発生源を特定するエラー追跡サービス 低
- Datadog インフラ指標・ログ・APM・エラーを一つの画面に集約する、ホスト課金の SaaS 監視基盤 中
- Prometheus + Grafana 時系列メトリクスを収集する Prometheus と、可視化・通知を担う Grafana の定番の組み合わせ 中
認証・セキュリティ
- Clerk 作り込み済みUIコンポーネントごと導入できる開発者向け認証サービス 低
- Auth0 多様なID連携に対応するエンタープライズ向け認証・認可基盤 中
- Cloudflare WAF / DDoS 保護 エッジでHTTPリクエストを検査し攻撃・DDoS・ボットを遮断するCDN型WAF 中
- OAuth 2.0 / OpenID Connect 認可・認証の標準仕様。実装はAuth0等の各サービスに委ねる 高
自動化・連携
- cron / systemd timer Linux 標準の定期実行機構。分単位の予定でコマンドを起動する 低
- Google Apps Script Googleの各サービスをJavaScriptで自動操作する、サーバー不要の実行環境 低
- n8n SaaS 連携をノードで組む自動化ツール。自己ホスト可で実行回数課金 低
ノーコード・SaaS
- Airtable スプレッドシートの操作感でリレーショナルなデータを扱うノーコードDB 低
- Make(旧Integromat) SaaS間をノーコードで繋ぐビジュアル自動化ツール。操作数(オペレーション)課金 低
- Notion ドキュメント・DB・Wikiを1つにまとめ、Webサイトとしても公開できるツール 低
- Zapier 数千のSaaSをノーコードでつなぐ自動化サービス。タスク数課金 低
データ処理・分析
AI・機械学習
- Claude API(Anthropic) Anthropic の Claude モデルを HTTP で呼び出す、従量課金の LLM API 低
- Ollama LLMを手元のPC・サーバーで動かす、OSSのローカル実行ランタイム 低
- OpenAI API OpenAIのGPTモデルをHTTPで呼び出す、従量課金のLLM・埋め込みAPI 低
- Hugging Face 機械学習モデル・データセットを共有し、推論も呼び出せるハブ兼API 中