コードはテキスト・エディターで記述し、コマンドラインから実行することも可能なため、厳密にはソフトウェア開発に必須ではありませんが、IDEは開発者の生産性とコードの品質を向上させる機能を兼ね備えています。大抵の場合、最新のIDEには、コーディング言語に応じた必要なコンパイラー、インタープリター、またはその両方が含まれています。
その他の一般的なIDEの機能には、次のようなものがあります。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
一部の基本機能はIDE間で標準と見なされますが、あるソフトウェアがIDEと見なされるための基準となる機能が厳密に定義されているわけではありません。とはいえ、多くのIDEには、一般的に次のようなツールや機能が(多くの場合すべて)何らかの形で含まれています:
一般的なテキスト・エディターと比べ、アプリケーション開発を統合開発環境(IDE)内で行うことには、多くの利便性とメリットがあります。IDEは開発プロセス全体を効率化し、コードの作成やデバッグ、プロジェクト・マネージャーや拡張チームとの連携を容易にします。
IDEの機能に関連する利点には、次のようなものがあります。
IDEは開発者の生産性を高める多くの効率化を提供します。複数ツールを1つのアプリケーションに統合することでアプリ間のコンテキスト切り替えが減り、全体のワークフローが改善されます。反復作業はIDEの自動化に任せることで時間を節約でき、コード・ジェネレーターはよくあるスクリプト・パターンのショートカット作成を支援します。内蔵のドキュメント機能はバージョン管理の記録作業も助け、台帳化ではなくコード作成に専念しやすくなります。
IDEは多様なツールを通じてコード全体の品質向上に寄与します。リアルタイムのエラー検知はヒューマンエラーを減らし、コード解析やリファクタリング・ツールは自動かつ知的な最適化を提供します。構文ハイライトなどの視覚的な指標は、秩序立った構造の作成と、レビュー時の可読性向上に役立ちます。
IDEは、新しいプロジェクトやプログラミング言語への習熟を支援する優れたツールでもあります。あらかじめ用意されたテンプレート、ガイド付きワークフロー、統合サポート文書によって、学習曲線を緩やかにします。
IDEは、レガシー・コードに取り組む開発者同士のコラボレーションを促進します。また、必ずしも技術に詳しくないプロジェクト・マネージャーやお客様側利害関係者を含む幅広いチームとのコミュニケーションも改善します。さらに、バージョン管理システムとの連携により一貫したドキュメント化を支援し、コード・レビュー・ツールを取り込んでプロジェクト全体の共同分析と確認を容易にします。
開発者のニーズに応えるため、統合開発環境(IDE)には、オープンソースからプロプライエタリー(商用)まで、初心者向けのものから高度なものまで幅広い種類があります。多くのIDEはクロスプラットフォームに対応しますが、言語依存のものもあります。代表的なIDEの種類をいくつか挙げます。
ローカルIDEは、開発者の個人用または業務用ハードウェアにインストールし、ローカルで実行します。これらのIDEは追加のリソース・ライブラリーを必要とし、開発者はプロジェクトの要件や個人の好みに応じてローカルにダウンロードしてインストールする必要があります。
ローカルIDEはカスタマイズ性が高く、レイテンシーの問題がほとんどなく、セットアップ完了後はインターネット接続が有効でなくてもフルに動作します。ただし、ローカルIDEのセットアップや構成は手間がかかる場合があり、ローカル・マシンと本番環境の差異によって、想定外のソフトウェアのバグや障害が発生することがあります。
また、ローカルIDEはローカル・ハードウェアに依存します。マシンのローカル・メモリー・リソースに依存するため、特に複雑で大規模なコードを扱う場合には、ローカル・ハードウェアのみではIDEの実行が重くなることがあります。
ローカルIDEの例としては、以下のようなものがあります。
ローカルIDEと異なり、クラウドIDEはブラウザー・ベースで、開発者がローカル・ハードウェアに特定のソフトウェアやライブラリーをダウンロードする必要はありません。その代わり、クラウドに効果的にアクセスするには、安定した高速インターネット接続の維持が前提となります。
ローカルIDEと比較して、クラウドベースのIDEにはいくつかの長所があります。クラウドベースのIDEを使用しているチームは、標準化された開発環境を構築できるため、ローカルのハードウェア構成の違いから生じる可能性のあるエラーを回避できます。
クラウドIDEは、クラウドベースのリソースを使用しているため、ローカルIDEよりも優れたパフォーマンスを発揮することもできます。特定の複雑なIDE機能では、しばしば大量の計算リソースが必要となります。ローカルIDEの速度低下を防ぐために、開発者はそれらのタスクを、堅牢なクラウドベースのデータセンターに移管できます。
クラウドIDEの例としては、以下のようなものがあります。
このタイプのIDEは、モバイル・アプリケーション開発に特化して設計されています。モバイル・アプリケーション開発向けIDEには、モバイル・テクノロジー向けの専用ライブラリーや、エミュレーター対応といった専用機能が備わっているのが一般的です。
モバイル・アプリケーション開発向けIDEの例:
データベース向けのプログラミングには、それ特有の考慮事項があります。この種のIDEはデータベース開発を念頭に置いて設計されており、内蔵のクエリー・ビルダーやデータベース解析ツールといった機能を備えています。
データベース特化型IDEの例:
多くのIDEは多言語対応ですが、特定のプログラミング言語の特性に合わせて設計されたものもあります。また、プロジェクトの目的に応じて特化しているIDEもあります。言語別・プロジェクト別のIDEの例を以下に示します:
Java™
Python
ウェブ開発
Javaアプリケーションを開発および配信するためのフルマネージドのシングルテナント・サービス。
DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。
クラウド・アプリケーション開発は、一度構築すれば、迅速に反復し、どこにでもデプロイできます。