「統合開発環境」の版間の差分
36行目: | 36行目: | ||
**[[Xcode]] - [[GNUコンパイラコレクション|GCC]]/[[Clang]]を使用。[[C言語]]/[[C++]]、[[Objective-C]]/C++、[[Swift (プログラミング言語)|Swift]]を使用した[[macOS]]/[[iOS (アップル)|iOS]]のアプリ開発に対応。 |
**[[Xcode]] - [[GNUコンパイラコレクション|GCC]]/[[Clang]]を使用。[[C言語]]/[[C++]]、[[Objective-C]]/C++、[[Swift (プログラミング言語)|Swift]]を使用した[[macOS]]/[[iOS (アップル)|iOS]]のアプリ開発に対応。 |
||
*[[Google]] |
*[[Google]] |
||
**[[Android Studio]] - [[IntelliJ IDEA]]をベースに開発された。C/C++、[[Java]]、[[Kotlin]]を使用した[[Android]]アプリ開発に対応。 |
**[[Android Studio]] - [[IntelliJ IDEA]]をベースに開発された。C/C++、[[Java]]、[[Kotlin]]を使用した[[Android (オペレーティングシステム)|Android]]アプリ開発に対応。 |
||
*[[エンバカデロ・テクノロジーズ]](旧[[ボーランド]]) |
*[[エンバカデロ・テクノロジーズ]](旧[[ボーランド]]) |
||
**[[RAD Studio]] |
**[[RAD Studio]] |
2020年8月5日 (水) 09:34時点における版
統合開発環境(とうごうかいはつかんきょう)、IDE (Integrated Development Environment) は、ソフトウェアの統合的な開発環境であり、様々なツールの集合からなる。
従来、ソフトウェアプログラムのコーディング・コンパイル・ビルド・デバッグといった作業を行なう際に、テキストエディタ、コンパイラ、リンカ、デバッガなどの各ツールをばらばらで利用していたものを、ひとつの対話型操作環境(多くはGUI)から利用できるように統合したもの。最近のIDEには、GUIアプリケーション開発のための迅速なプロトタイピング (Rapid Application Development: RAD) が可能なものが多い。統合開発環境を使うことによって、巨大かつ複雑なソフトウェアでも、作成者に負担をかけることなく開発することが可能になる。
統合開発環境の特徴
プロジェクト管理
ひとつのソフトウェアの作成を行うには、ソースコードや設定用ファイル、アイコン画像といったリソースファイルなど、複数のファイルが必要になる。IDEでは、これらをまとめて「プロジェクト」として扱い、一括して管理できるようにしている。このことにより、作成者が自分でディレクトリを作ったり、独自にファイルを管理する必要がなくなる。
これら対象を管理するファイルをプロジェクトファイルと呼ぶIDEも存在する。開発元や個々の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で用いられているオープンソースの統合開発環境
- アドビシステムズ
- アップル
- Google
- Android Studio - IntelliJ IDEAをベースに開発された。C/C++、Java、Kotlinを使用したAndroidアプリ開発に対応。
- エンバカデロ・テクノロジーズ(旧ボーランド)
- RAD Studio
- 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 - Classic Mac OS / macOSで多く用いられているクロスプラットフォーム統合開発環境。REAL Software製
- Visual Studio - マイクロソフト製。WindowsネイティブアプリやUWPアプリ、.NET Framework/.NET Coreアプリ、ASP.NETアプリ、Microsoft Officeアドイン、デバイスドライバーの開発などに対応している。
- Visual Studio for Mac - Xamarin Studioがベース。ASP.NET CoreやMicrosoft Azureを利用したWeb・クラウド開発、Mono/XamarinフレームワークおよびC#を利用したmacOS/iOS/Androidアプリ開発などが可能[1]。
- 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に対応している。
- PaizaCloud - Cloud IDE。ブラウザ上で動作するウェブ開発、アプリ開発環境。
ゲームの標準開発環境
コンシューマーゲームコンソールの公式開発環境は独自開発のものが多く分断化されている。開発環境の価格にライセンス料が含まれることもある。
ハードウェア | 開発環境 | コンパイラ |
---|---|---|
PlayStation 3 | ProDG | SNC |
Wii | CodeWarrior | CodeWarrior Compiler |
Xboxシリーズ | Visual Studio | VC++ |
ゲーム機の性能が向上し、またスマートフォンなどのモバイル端末もゲームプラットフォームとして台頭してきたことで、UnityやUnreal Engineといったマルチプラットフォームに対応したミドルウェア(ゲームエンジン)もサードパーティ製の統合開発環境として普及している。インディーズの参入障壁も下がっている。