Movatterモバイル変換


[0]ホーム

URL:


コンテンツにスキップ
Wikipedia
検索

統合開発環境

出典: フリー百科事典『ウィキペディア(Wikipedia)』
この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。このテンプレートの使い方
出典検索?"統合開発環境" – ニュース ·書籍 ·スカラー ·CiNii ·J-STAGE ·NDL ·dlib.jp ·ジャパンサーチ ·TWL
(2015年12月)
ソフトウェア開発工程
中心となる活動
パラダイムとモデル
ソフトウェア開発方法論とフレームワーク
開発支援
プラクティス
プログラミングツール
標準と機関
用語集
カテゴリソフトウェア工学

(とうごうかいはつかんきょう)、IDE[注 1]は、ソフトウェア開発のための統合的なプログラミング環境であり、様々なツールの集合からなる。

NetBeans

従来、ソフトウェアプログラムのコーディングコンパイルビルドデバッグといった作業を行なう際に、テキストエディタコンパイラリンカデバッガなどの各ツールを個別にコマンドラインから利用していたものを、ひとつの対話型操作環境(多くはGUI)から直感的かつシームレスに利用できるように統合したもの。IDEには、GUIアプリケーション開発のための迅速なプロトタイピング (Rapid Application Development: RAD) が可能なものが多い。統合開発環境を使うことによって、開発者の学習や作業負担を大幅に低減することが可能になり、特に巨大かつ複雑なソフトウェアの開発に効果を発揮する。ソフトウェアテストのためのツールが統合されてシームレスに連携できるようになっているものもある。

統合開発環境の特徴

[編集]

モジュール管理

[編集]
Eclipse (統合開発環境)

ひとつのソフトウェアを作成するには、プログラミング言語のソースコードを記述したソースファイルや、アイコン画像やローカライズされたテキストなどのリソースファイル、そしてビルド(コンパイル&リンク)設定管理用ファイルなど、複数のファイルが必要になる。自動化されたビルドシステムでは、これらをまとめて「プロジェクト」として扱い、一括して管理できるようにしている。開発環境のコンピュータにおけるファイルシステム上のディレクトリ階層と自動的に同期するビルドシステムもあれば、ファイルシステムとは無関係に論理的なディレクトリ階層を使用するビルドシステムもあるが、ビルドシステムのプロジェクトファイルの管理は一般的に煩雑であり、大規模なソフトウェアになるほど困難となる。IDEでは、対応するビルドシステムのプロジェクトファイルを直接編集することなく視覚的かつ直感的に操作・管理することが可能となっている。

より複雑なソフトウェアでは、再利用性やメンテナンス性などを考慮してプログラムを機能ごとに分類された部品(モジュール)に分割して管理する。一般的なビルドシステムでは、そのモジュールごとにプロジェクトファイルを作成し、さらに複数のプロジェクトファイルとそれらの依存関係をまとめて管理することのできる「ワークスペースファイル」[注 2]をサポートする。プロジェクトファイルやワークスペースファイルは、個々のビルドシステムによって、ファイルフォーマット拡張子が異なる[注 3]Gradleなどのようにファイルシステム上でビルドスクリプトが置かれたディレクトリ構造そのものをプロジェクトやワークスペースとして扱うビルドシステムもあるが、IDEではそういった詳細仕様を意識することなく直感的にモジュールを管理できるようになっており、またプロジェクトの新規作成時もウィザードの指示に従っていけば簡単にファイル一式を自動生成できるようになっている。

バージョン管理

[編集]

ソフトウェア開発においては、ソースコード管理にCVSSubversionGitなどのバージョン管理システムを使うことが多い。IDEの多くはチェックアウト、コミット、リバート(バージョンの巻き戻し)などのバージョン管理システムに対する操作が簡単に実行可能となっている。

チーム開発

[編集]

IDEの中にはコード整形ルールをプロジェクト単位あるいはソースツリー単位で管理できるものもある[1]。チームで開発を行なう際、同じIDEと同じルール設定ファイルを各開発者が利用することによって、コーディングスタイルの統一を図りやすくなる。

タスク管理ツールやテストケース管理ツールなどと連携して、ソフトウェア開発プロジェクトの進捗管理を含めた総合的なチーム開発をサポートするエンタープライズ向け機能を持ったIDEもある。

コーディング補助

[編集]

IDEに統合されたコードエディターは、プログラミングに特化されており、各言語のキーワード(予約語)をハイライト(色分け)したり、またプロジェクト内のソースファイルやヘッダーファイルから抽出した解析済みシンボル情報のデータベースをもとに、ユーザー定義のデータ型や変数サブルーチン(関数/メソッド)の名前(識別子)を補完したり、といったことができるようになっている。これにより、ソースコードの記述効率が上がり、またコーディングミスなどを防ぎやすくなる。また、ソースコードのコメント先頭に「TODO」などといった特定の文字列を入れておくと、それをIDE上で一覧表示して確認できるようになる機能をサポートするものもある[2]。さらに、一部のIDEでは実際にコンパイルすることなくリアルタイムでソースコードを解析して構文エラーや警告を検出し、当該部分に下線を引くなどしてプログラマに知らせるものもある。

ビルド、デバッグ補助

[編集]

コンパイラやリンカなどと連携しているため、作成したソフトウェアのビルドを簡単に実行できる。また、デバッガと連携しているため、ソースコード中に視覚的なブレークポイントを置いてソフトウェアの動作を一時停止させたり、変数の中身を確認しながらソースコードを1行ずつステップ実行させて問題のある個所を探したり、といったことが直感的にできる。

GUIの作成

[編集]

GUIを持つソフトウェアを開発する際、一般的に各ウィジェット(部品)の位置やサイズといったプロパティ情報の指定は、専用のレイアウト設定ファイルを使用して記述する。レイアウト設定ファイルは通例XML形式であったり独自の階層構造テキスト形式であったりするが、テキストエディターを使ってGUIの定義を記述するのは手間がかかる。さらにプログラムをビルドして実行してみなければ画面表示結果が確認できないのであれば、直感性に欠け、効率も悪い。そこで、多くのIDEは、GUIの作成をIDE上で視覚的かつ直感的に行なえるように、WYSIWYGに対応したグラフィカルなビジュアルエディターを統合している。また、ウィジェットを操作したときに発生するイベントに対する処理(イベントハンドラー)の記述も、コードエディターと連携・同期できるようになっている。これにより、簡単にGUIを持つソフトウェアを開発できるようになり、また、管理も一括して行なえる。なお、一部のIDEは、GUIの作成を行なうソフトウェアを分離しているものもある。

IDEの例

[編集]
この節に雑多な内容が羅列されています 事項を箇条書きで列挙しただけの節は、本文として組み入れるか、または整理・除去する必要があります2021年9月

ゲームの標準開発環境

[編集]

コンシューマーゲームコンソールの公式開発環境は独自開発のものが多く分断化されている。開発環境の価格にライセンス料が含まれることもある。

ハードウェア開発環境コンパイラ
PlayStation 3ProDGSNC
WiiCodeWarriorCodeWarrior Compiler
XboxシリーズVisual StudioVC++

ゲーム機の性能が向上し、またスマートフォンなどのモバイル端末もゲームプラットフォームとして台頭してきたことで、UnityUnreal Engineといったマルチプラットフォームに対応したミドルウェアゲームエンジン)もサードパーティ製の統合開発環境として普及している。インディーズの参入障壁も下がっている。

脚注

[編集]
[脚注の使い方]

注釈

[編集]
  1. ^:integrated development environment
  2. ^Visual Studio .NET以降のMSBuildでは「ソリューションファイル」と呼ばれている。
  3. ^Visual Studioのように、プログラミング言語ごとにプロジェクトファイルの拡張子が異なるものもある。

出典

[編集]
  1. ^EditorConfig 設定 - Visual Studio (Windows) | Microsoft Docs
  2. ^タスク一覧の使用 - Visual Studio (Windows) | Microsoft Docs
  3. ^Visual Studio for Mac | Visual Studio

関連項目

[編集]
ActionScript
オープンソース
無償
有償
C/C++
オープンソース
無償
有償
Groovy
オープンソース
有償
Java
オープンソース
無償
有償
.NET
オープンソース
無償
有償
Scala
オープンソース
有償
Python
オープンソース
有償
R
関連項目
コンピュータ・プログラミング言語の関連項目
言語水準
言語処理系
言語分類
その他
関連項目
ハードウェア
コンピュータシステムの構造
ネットワーク
ソフトウェアの構造
ソフトウェア記法英語版
ツール
ソフトウェア開発
計算理論
アルゴリズム
コンピューティングの数学
情報システム
セキュリティ
ヒューマンコンピュータ
インタラクション
並行性
人工知能
機械学習
グラフィックス
応用コンピューティング
https://ja.wikipedia.org/w/index.php?title=統合開発環境&oldid=106947298」から取得
カテゴリ:
隠しカテゴリ:

[8]ページ先頭

©2009-2025 Movatter.jp