統合開発環境
統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、ソフトウェアの開発環境。
従来、コンパイラ、テキストエディタ、デバッガなどがばらばらで利用していたものをひとつの対話型操作環境(多くはGUI)から利用できるようにしたもの。最近のIDEには、GUIアプリケーション開発のための迅速なプロトタイピング (RAD) が可能なものが多い。統合開発環境を使うことによって、巨大かつ複雑なソフトウェアでも、作成者に負担をかけることなく開発することが可能になる。
目次
統合開発環境の特徴
プロジェクト管理
ひとつのソフトウェアの作成を行うには、ソースコードや設定用ファイル、アイコンといったリソースファイルなど、複数のファイルが必要になる。IDEでは、これらをまとめて「プロジェクト」として扱い、一括して管理できるようにしている。このことにより、作成者が自分でディレクトリを作ったり、独自にファイルを管理する必要がなくなる。
バージョン管理
多くの開発者は、ソースコードを管理するのにCVS、VSS、Subversionなどといったバージョン管理ソフトを使うが、IDEは、これらをひとつの環境から透過的に使えるものが多い。これにより、ひとつのUIから簡単にバージョンを戻したり、ブランチを切ったりすることができる。
GUIの作成
GUI を持つソフトウェアの開発を行う際、ソースコード上でGUIの定義を作成するのは手間がかかる。そこで、多くのIDEは、GUIの開発をIDE上でグラフィカルに行うことができるようにしてある。これにより、簡単にGUIを持つソフトウェアを開発することができるようになり、また、管理も一括して行えるようになる。なお、一部のIDEは、GUIの開発を行うソフトウェアを分離しているものもある。
チーム開発
チームで開発を行う際、IDEを各個人が利用することによって、ソースコードの連携や、別の開発者によるソースコードの修正などが行いやすくなる。これにより、共同開発する際のソースコードのバグ混入を防いだり、長期に渡る開発が可能になる。
作成補助
IDE というソフト自体がソフトウェア作成に特化されているため、大抵は予約語や関数名の補完などができるようになっている。これにより、ソースコードの記述ミスや連携ミスなどを防ぐことができる。ソースコードの色分けを行うことも大抵のIDEで可能である。また、「TODO」などといった特定のシンボルを置いてソースコード中に注意書きを置き、それをIDE上で確認する機能もある。さらに、一部の IDE ではリアルタイムでコンパイル時エラーを検出し、当該部分に下線を引くなどしてプログラマに構文エラーなどがあることを知らせることができるものもある。
ビルド、デバッグ補助
コンパイラやリンカなどと連携しているため、作成したソフトウェアのビルドを簡単に行うことができる。また、デバッガと連携して、ソースコード中にブレークポイントを置いて、ソフトウェアの動作と連携してソースコードの流れを確認することができ、変数の中身を確認しながらソフトウェアにおける問題点を探ることができる。
IDEの例
- ActiveBasic - 元はN88互換として開発が始まり、今はRADやコンパイラを搭載しネイティブなアプリが作れる。フリーソフト。
- ActiveState
- Komodo IDE もともとはスクリプト言語用に特化した統合環境である。
- Komodo Edit Komodo IDEの機能縮小版(オープンソース)
- Anjuta - GNOMEで用いられているオープンソースの統合開発環境
- アドビシステムズ
- アップル
- ボーランド
- C++ Builder
- Delphi
- JBuilder
- Kylix
- Turbo C - MS-DOS時代に使用された統合環境
- Turbo Pascal - MS-DOS時代に使用された統合環境。Pascalの項を参照
- CodeWarrior - 様々なプラットフォームに対応する、統合開発環境の代表格
- Eclipse - 本来はJava向けのIDEであったが、現在は様々な言語での開発に対応している。豊富なプラグインが特徴。
- Emacs - 厳密に言えばテキストエディタだが、その強力な拡張性により統合開発環境と同等の使い方ができる。Unix系OSでIDEがあまり流行らないのは、Emacs文化が存在する部分が大きい。
- FutureBASIC
- IntelliJ IDEA - Java IDE。世界で初めてJavaのIDEにリファクタリング機能を導入。優秀なSwingのRAD機能も持つ。
- JDE
- オラクル
- JDeveloper - オラクルが開発したJava IDE。現在、無料で配布されている。
- 旧サン・マイクロシステムズ
- KDevelop - KDEのIDE
- NAG
- NAG IDE Client
- NAG Fortran Builder
- Qt Creator - Qtの統合開発環境。Qt4.5のバージョンアップの際、Qt SDKとともに発表された。Qtソフトウェア社製。
- REALbasic - Mac OS / Mac OS Xで多く用いられているクロスプラットフォーム統合開発環境。REAL Software製
- Visual Studio - マイクロソフト製。.NET Frameworkに対応している。
- WideStudio - 様々なプラットフォームに対応するオープンソースの統合開発環境
- Code::Blocks - C++統合開発環境
- SharpDevelop オープンソースで開発されている.NETの統合開発環境。利用できるプログラミング言語としては、C#、VB.NET、F#、IronPython、 Boo、ILAsmに対応しており、開発できるアプリケーションの種類としては、Windowsフォーム、WPF、ASP.NET、Compact Framework等に対応している。
- MonoDevelop - SharpDevelopから派生し、Mono向けの最適化を施したバージョン。その後、独自の進化を遂げ、現在ではまったくの別物となっている。
- FlashDevelop - SharpDevelopから派生し、Adobe Flex向けの最適化を施したバージョン。Adobe Flex向けの無償で利用できる統合開発環境が他にないため非常に人気が高い。
- Dev-C++ - GCCを使うWindows上のC++統合開発環境
- Actuate Basic - 帳票サーバActuateの開発言語 Actuate Basic の統合開発環境。
- PowerBuilder - データベースや帳票出力のための統合開発環境。
- CodeLite free, open-source, cross-platform IDE for the C/C++ programming languages.
- Geany GTK+上の軽量なクロスプラットフォームのテキストエディタであり、Scintillaと基本的な統合開発環境機能をベースとしている。
- GNAT Programming Studio free multi-language integrated development environment (IDE) by AdaCore. GPS uses compilers from the GNU Compiler Collection, taking its name from GNAT, the GNU compiler for the Ada programming language.
- Ultimate++ C++ cross-platform development framework which aims to reduce the code complexity of typical desktop applications by extensively exploiting C++ features.
- Team Developer SQLWindows、Report Builder、Team Object Managerなどを備えた統合開発環境。.Netに対応している。
ゲームの標準開発環境
コンシューマーゲームの開発環境は高価でも問題ないため、独自開発のものが多く分断化されている。
ハードウェア | 開発環境 | コンパイラ |
---|---|---|
Playstation3 | ProDG | SNC |
Wii | CodeWarrior | CodeWarrior Compiler |
Xbox | Visual Studio | VC++ |
Android | Eclipse | JDK |
iPhone | Xcode | GCC |