開発環境・道具の基礎
かいはつかんきょう・どうぐのきそ
開発で使うツールや環境の基本を、非エンジニアでも分かるように解説します。
開発環境とは
開発環境とは、プログラムを書いて動かすために必要なツール一式のことです。
料理に例えると、キッチン(作業場所)、包丁やまな板(道具)、レシピ本(ドキュメント)がそろった状態が「開発環境が整っている」ということです。
代表的な開発ツール
IDE(統合開発環境)
IDEは、コードを書く・テストする・実行するを一つのアプリで行えるツールです。
| IDE | 読み方 | 特徴 |
|---|---|---|
| VS Code | ぶいえすこーど | 最も人気がある無料エディタ |
| Xcode | えっくすこーど | Apple向けアプリ開発専用 |
| Cursor | かーそる | AI機能を組み込んだエディタ |
Git(バージョン管理)
Gitは、コードの変更履歴を記録するツールです。「いつ誰が何を変えたか」を追跡でき、間違えても過去の状態に戻せます。GitHubは、Gitで管理したコードをインターネット上で共有するサービスです。
ターミナル(コマンドライン)
ターミナルは、文字を打ち込んでコンピュータに指示を出すツールです。画面のボタンをクリックする代わりに、コマンド(命令文)を入力して操作します。
開発・本番・テスト環境
ソフトウェアには通常、複数の「環境」があります。
| 環境 | 目的 | 通称 |
|---|---|---|
| 開発環境 | 開発者が自分のPCで作業する場所 | dev / local |
| テスト環境 | 本番に出す前に動作を確認する場所 | staging / stg |
| 本番環境 | 実際のユーザーが使う場所 | production / prod |
「開発環境では動くけど本番で動かない」という問題を防ぐために、Dockerなどのツールが使われます。新人がやりがちなミスとして「dev のつもりで prod に変更を入れてしまう」があるので、ターミナルプロンプトに環境名を表示する文化が一般的です。
パッケージマネージャー
開発で必要なライブラリ(外部の便利ツール群)を、必要な時に必要なバージョンでインストールするための仕組みです。
| 言語・OS | パッケージマネージャー | 設定ファイル |
|---|---|---|
| Node.js / TypeScript | npm / pnpm / yarn | package.json |
| Python | pip / Poetry / uv | requirements.txt / pyproject.toml |
| macOS(OS) | Homebrew | (CLI で都度) |
| iOS / macOS(言語) | Swift Package Manager | Package.swift |
| Java | Maven / Gradle | pom.xml / build.gradle |
「依存関係(このライブラリは別のあのライブラリを使ってる)」と「バージョン管理(誰がインストールしても同じ環境が再現できる)」を担います。「npm install」「pip install -r requirements.txt」と新人が打つコマンドは、これを使ってます。
ビルドツール
複数のソースファイル・画像・CSS・スクリプトを、配布できる形(バイナリ・バンドル・コンテナイメージ)にまとめる仕組みです。
| ツール | 使われるところ |
|---|---|
| Webpack | 伝統的なフロントエンド |
| Vite | 現代フロントエンドの定番 |
| esbuild | 超高速なJSバンドラ |
| Docker | コンテナイメージビルド |
ビルドツールがないとファイルが散らばり、配布や読み込みが遅くなります。
環境変数(.env)
「開発環境ではDBは localhost、本番では Cloud SQL を見たい」「APIキーはコードに書きたくない」といった切替・秘密管理のために、コードに直接書かずにOSや実行環境から値を渡す仕組みです。
ローカル開発では .env ファイルにまとめます(ただし .env は 絶対にgit管理しない。.env.example だけ共有するのが定石)。本番では Secret Manager などのクラウドサービスを使うのが推奨。
バージョン管理(Git)の補足
Git は単に変更履歴を残すだけでなく、ブランチ(並行作業のための枝分かれ)、コミット(変更の意味あるまとまり)、マージ(ブランチの統合)、プルリクエスト(変更の取り込み依頼)といった概念で チーム開発の標準言語 になっています。
詳細は別ガイドや個別の用語ページに譲りますが、「開発で git を使ってます」と言われたら、これらの単語が出てくる前提で会話することになります。
AI支援ツール(最近の流れ)
2024年以降、コーディングそのものをAIが支援する時代に変わりつつあります。
| ツール | 概要 |
|---|---|
| GitHub Copilot | エディタ内でコード補完(最古参) |
| Cursor | AI機能を組み込んだエディタ(VS Codeベース) |
| Claude Code | Anthropic製、エージェント型のコーディングAI |
「コードを書く」より「AIに何を作りたいか伝える」スキルが重要になりつつあります。ガイドラインや要件を明確に伝えられれば、実装はAIに委譲できる場面が増えています。
初心者へのアドバイス
開発者が「環境を作る」「環境が壊れた」と言っているのは、これらのツールや設定のことを指しています。物理的な場所ではなく、ソフトウェアの設定の組み合わせです。
非エンジニアの方が「自分用の開発環境を1度作ってみる」と、エンジニアとの会話が一気に立体的になります。brew install → git clone → npm install → npm run dev で動くものに到達できれば、共通言語の半分が手に入ります。