>>No1エンジニア養成プログラム テックキャンプ
プログラミングの際、ソースコードを書くところからデバッグ、そしてコンパイラまでを一つのソフトウェアで開発したいという要望があるでしょう。そんな時、エンジニア(プログラマー)は統合開発環境(IDE)を使うことが多いです。
統合開発環境(IDE)とはどのようなものなのでしょうか。どんな種類があって、それぞれ、どういう言語での開発に向いているのでしょうか。
統合開発環境(IDE)の機能から、プログラミング言語別おすすめ統合開発環境までを一挙紹介します。
2019年03月08日編集:この記事は、現役エンジニアによって監修済みです。
この記事もオススメ

この記事は現役エンジニアによって監修済みです。
この記事の目次

統合開発環境(IDE)とは
元来はシステム開発は、テキストエディタでソースコードを書き、コマンドライン上でコンパイルコマンドを叩く…という、やや不便な環境で開発を行っていました。
デバッグするならデバッガ。コンパイルするなら、コンパイラとバラバラのソフトが必要。開発に必要なツールを全てバラバラに揃え、バラバラに使わないといけなかったのです。
しかし、現在は違います。サーバーサイドのコーディングだけでなく、GUIの開発など、ITエンジニアに求められる仕事は増大。プロジェクト管理の難易度も上がり、ITサービス開発の負担は格段に大きくなっています。
ですので、その負担を軽減しようという開発環境が出てきているのです。
その中の1つがテキストエディタ、コンパイラ、デバッガを1つにまとめた「IDE」です。IDEを日本語に訳すると、統合開発環境となります。
Webシステムやサービス、スマートフォンアプリなど、現在の統合開発環境は、様々なITシステムやプログラミング言語に対応しています。
もしもテキストエディタやプログラミングに適したフォントを探している場合には、下記の記事で詳しく解説していますので参考にしてください。
この記事もオススメ



統合開発環境(IDE)にはエディタ、コンパイラ、デバッガなどが含まれる
ソフトウェアを開発する場合、一般的には、作業の各段階に応じた複数のソフトウェアを使い分ける必要があります。
プログラムのソースコードを書くためのエディタ。ソースコードからオブジェクトコードを生成するためのコンパイラ。さらにターゲットとなるCPU向けの実行コードを生成するリンカ。そして作成したプログラムのバグを検出するために使用するデバッガなどです。
統合開発環境の登場以前は、ファイル構成が複雑になればなるほど、ファイルの管理自体も複雑化。いざという時に必要なファイルが見つからなかったり、ソースコードのバージョン管理ができないなど様々な問題が発生しがちでした。
統合開発環境(IDE)とは、ソフトウェアの開発で利用されるこれらのソフトウェアを、その他の支援ツールなどとまとめてしまい、一つの開発環境で統合・統一的に扱えるようにした開発環境です。
この記事もオススメ



一般的にはソースファイルの構成管理やビルド、デバッグが可能
統合開発環境には、様々な種類が存在します。どの統合開発環境を選ぶかによって、厳密にはできることは違います。
ただ一般的には、ソースファイルの構成管理やビルドの自動実行、デバッグなどが可能とされていることが多いです。またソースコードのローカル環境での管理だけでなく、Gitなどと連携することにより、チームメンバー間での共有なども行えるようになってきています。
特に大型の案件になればなるほど、ソースコードなどのリソース管理が大変になってきます。
従って、現在のIT企業の開発では、統合開発環境(IDE)を利用、導入するのが一般的になっています。
ソースコードのバージョン管理やファイルの構成管理などは、統合開発環境の登場以前と以後で、大きく効率が変わった1つの例と言えるでしょう。
無料キャリア相談!本日も予約受付中
徹底したサポート体制があるので、転職成功率は99%!※ 実際に受講した人の体験談はこちらから。
「今の仕事を続けて大丈夫だろうか」と不安なら、何でも相談できる無料カウンセリングに参加してみませんか?IT転職に特化したプロのカウンセラーが、中立な立場であなたの悩みを解決します。
ブログ読者特典でAmazonギフト券3000円分もプレゼント中!無理な勧誘は一切行いませんので、お気軽にどうぞ。※2016年9月1日〜2020年12月31日の累計実績。所定の学習および転職活動を履行された方に対する割合

統合開発環境(IDE)とフレームワークの違い
統合開発環境(IDE)は、アプリケーション開発に必要なソフトウェアをまとめて1つにして提供するパッケージです。
このように書くと、統合開発環境(IDE)は「フレームワーク」と何が違うのだろう・・・と疑問に思う方もいるでしょう。
統合開発環境(IDE)とフレームワークの違いを見ていきます。
フレームワークとは
フレームワークとは、アプリケーション開発における「雛形」の役割を担います。フレームワークは開発の際に必要とされる機能を、まとめて提供します。
アプリケーションの全体の処理の流れを、分かりやすくクリアーに管理することができるのがフレームワークのメリットです。
例えば、Webアプリケーション開発向けフレームワークの代表例である「Ruby on Rails」ではデザインパターンである「MVC(Model View Controller)」を導入。
全体の処理を「Model」「View」「Controller」の3つに分けて管理します。
IDEとフレームワークの違い
統合開発環境(IDE)は、エディタやコンパイラをまとめて提供する「開発環境」そのものです。日本語の「統合開発環境」という言葉の意味通りの機能を、IDEは提供します。
一方、フレームワークはアプリケーション開発の工程を楽にするものです。

おすすめの統合開発環境 4選
統合開発環境は数多くリリースされています。その中でも現在の開発で良く使われるものを4つ紹介します。
それぞれの統合開発環境は、ターゲットとしているOSや動作環境が異なっています。どういうソフトウェアやアプリケーションを開発したいかによって、最も適したものが変わります。
Eclipse
最初に紹介するのは「Eclipse」です。
もともとはJavaを扱う統合開発環境として、IBMが商用製品として開発していました。後にオープンソースプロジェクトに寄贈され、現在では様々なプログラミング言語に対応している言語としては、C言語、C++、PHP、Rubyなどがあります。
PHPであればPHPStorm、RubyであればRubyMineといったIDEがおすすめです。
プラグインの追加で機能拡張可能
EclipseはPlugin(プラグイン)と呼ばれる拡張モジュールを追加することによって、さまざまな機能を追加できるようになっています。これが多くの開発者に指示されている理由と言って良いでしょう。
ソースコードを即実行
Eclipseではエディタで書いたソースコードを、即実行することができます。
特にJavaで利用する場合、ローカルにJavaをインストールしておけば、すぐに結果を試すことができます。コンパイルの手間が大幅に削減されるのが利点です。
また、デバッガやコンソールを利用すれば、どういうバグがあり、どういうログを出力したのかなどが一目でわかるようになっています。
このように、各ソフトウェア機能を搭載したサブウィンドウがそれぞれの役割を持っており、連携しながらプログラムを開発できるのです。
Xcode
出典:Xcode
iOS用のアプリを開発するのであれば、Xcodeが便利です。
Xcodeは、Appleが無料で提供している開発ツール。iOSはもちろんOS XやwatchOSなど、Apple製品に対するソフトウェアやアプリを開発できる統合開発環境です。
Mac App Storeからダウンロードできますので、Apple IDさえ取得すれば誰でもすぐにプログラミングを始めることができます。
ソースコード、画像ファイルなどを一元管理
Eclipseと同様、プロジェクトで利用するソースコードや、画像ファイル、音声ファイル、アイコンなどを一元管理できるようになっています。
Interface Builderで画面を設計したあと、Objective-C言語またはSwift言語のどちらかでプログラムをします。
プログラムした後、コンパイルやデバックまでできるようになっています。iOS用のアプリを作成するには、大変重宝する統合開発環境です。ただし、Macでしか動作しない点には要注意です。
Android Studio
Android用のアプリを開発するのであれば、やはり「Android Studio」がおすすめです。Android Studioは、GoogleがAndroidアプリ開発用に公開している統合開発環境(IDE)です。
ソースコードの作成からビルドまでを一括で可能
Androidアプリのソースコードの作成から、ソースコードをアプリとしてインストールできる形式に変換するビルド作業までを一括して行う事ができます。
Win、Mac、Linuxに対応
Android StudioはWindows版とMac版、Linux版が用意されていますので、好きなOS上で開発を行うことが可能な点も、利点です。
IDE上で仮想デバイスを作成。様々なバージョンのAndroidで動作確認
またAndroidは流通しているOSのバージョンが多岐に渡るという難点があります。また、端末の開発メーカーも多岐にわたります。
Andoird Studioでは、IDE上で仮想デバイスを作成。様々な端末条件でのデバッグが行えることも利点です。ただし、やはり最後には実機での動作確認をする方が望ましいです。
Visual Studio
最後に紹介するのはWindowsの開発環境として長年使われている「Visual Studio」です。
Microsoft(マイクロソフト)がWindows向けアプリケーション開発用の統合開発環境としてリリースしたものです。.NET Frameworkをベースとして、Visual Basic、C++、C#などのプログラミング言語によって開発が可能です。
ボタンなどの部品の見た目を統合するために、初期の段階からリソースを用意していたこともVisual Studioの特徴。開発者にとって、使い勝手の良い統合開発環境です。
また、最近ではMicrosoft(マイクロソフト)がクロスプラットフォーム開発のできるXamarinを買収したこともあり、AndroidやiOS用のアプリであっても開発を出来る様になっています。
プログラミング言語別のおすすめ統合開発環境
では、それぞれのプログラミング言語で、どの統合開発環境を選択するのが良いのでしょう。もちろん最も効率の良い、もしくは開発のしやすい環境を選ぶのが、最も良いです。
では、幾つかのプログラミング言語別に、おすすめ統合開発環境を紹介していきましょう。
Java
出典:Java
大型のWebシステム開発案件で良く使われているJava。Androidアプリ開発でも、Javaは主流言語の1つです。
そもそも、Javaはサン・マイクロシステムズが開発を始め、その後オラクルが管理をしているプログラミング言語。クロスプラットフォームで利用できるソフトウェアの開発のための言語です。登場当初からオラクル以外にも、IBMなどが積極的に開発ツールなどを提供していました。そのためもあって、様々なツールが整備されています。
オープンソースのオフィス製品であるApacheのOpenOffice.orgやLibreOfficeなども、Javaで開発が行われています。
Eclipse
Webシステムを開発するのであれば、Eclipseが主流のIDEです。
もともとIBMが開発していた統合開発環境をオープンソースプロジェクトに寄贈したものですので、ツールとしての完成度は大変高いものがあります。
Eclipseの特徴として、様々な拡張プラグインを設定できるというものがあります。特にJavaを実行するアプリケーションサーバーであるTomcatやJBossと連携できるプラグインをインストールすれば、動作確認をEclipse上でできるようになります。
Webアプリケーションの開発環境としては極めて高いレベルで整備されていると言っても良いでしょう。もちろんデスクトップアプリケーション開発であっても、Eclipseを使うと開発が楽に行えます。
Android Studio
GoogleがAndroidアプリの開発用に準備した統合開発環境です。Androidアプリ開発に特化しています。そのため、仮想端末環境などが整備されていて、実際のAndroid端末がなくても、開発環境上で動作を確認することができます。
ただし、Androidアプリの開発に特化していますので、JavaでデスクトップアプリやサーバーサイドのServletなどを作る場合にはEclipseなどの他のIDEを使うようにしましょう。
Swift
出典:Swift
現在のiOSでは、サービス開発にはSwiftが推奨されています。それまではC言語をベースとしたObjective-Cで開発が行われていました。しかし今は、よりiOSに特化した言語として、SwiftをAppleが提供しています。
インタラクティブに実行しながら動作を確認することができますので、ちょっと書いては動かす、という事ができるようになっています。
SwiftやJavaやObjective-Cに比べるとサービス開発がしやすいと言われています。
特にObjective-CはApple製品の開発用に、かなり特殊な構文などが多く存在していました。Objective-Cは、多くのプログラマーが汎用的に利用するには高いハードルがあったのも事実です。
それを、多くの人に使ってもらいやすいように、「ソースコードが読みやすくて書きやすい」という特徴を持たせようとしています。またPHPなどである変数型の動的な変更を許可せず、Javaと同じ様にきっちりと型変換をしないといけないようにしています。この辺がバグを出しにくい仕様とされています。
Xcode
AppleがiOSのアプリ開発用に提供した統合開発環境です。もしSwiftで開発を行うのであれば、基本的にはXcodeを利用することになります。
またmacOS用のアプリも開発可能ですので、Apple製品用のアプリを開発する際には最適です。近年はiOSとAndroid両対応のクロスプラットフォーム開発も盛んですが、あくまでiOS向けに安定的な動作をするアプリを作るならXcodeは必須です。
C#
出典:Wikipedia
「C」という言葉が入ってはいますが、C言語やC++言語の後継ではありません。
Microsoft(マイクロソフト)が開発した言語で、C言語の欠点を改良したJavaに刺激を受けて、C言語風に作られたプログラミング言語だと言われています。
.NET Frameworkの一部でもありますので、Windows用のソフトや、ユニバーサルアプリを開発する上では、C#が便利であると言われています。
また、Xbox用に開発されたジェスチャー検出センサーであるKinectや、MR端末であるHoloLensなどのアプリケーションはC#での開発が推奨されています。
Visual Studio
C#での開発を行うのであれば、Microsoft純正の統合開発環境である「Visual Studio」がおすすめです。
最新版の「Visual Studio 2017」では、幾つかのエディションが用意されています。特にCommunityエディションは、個人向けに無償で提供されているものです。企業向けにはProfessionalやEnterpriseエディションを利用することになります。これはオープンソースプロジェクトの開発や、トレーニング/教育/学術研究を目的とした場合には人数の制限なく使うことができます。オンラインでのチーム開発やソースコード管理ができる様になっていますので、ソースコードを共有しながらの開発が可能なようになっています。
最近はXamarinというiOSやAndroid向けのアプリも開発できるクロスプラットフォーム開発環境を取り込みましたので、Windows、iOS、Androidのアプリを一つの環境で開発することができます。
さいごに
統合開発環境についていろいろと紹介してきました。
どの環境を利用するのかは、どのOSをターゲットにした開発を行うのかを考えて選択すると良いでしょう。Webシステム開発であればEclipseがイチオシですし、iOS、Android向けはそれぞれの統合開発環境を利用しましょう。
また、今後も新たな統合開発環境が開発されることになるでしょう。その際にもしっかりと対象に向いた統合開発環境を選ぶ事で、効率的に開発が行えるようにしましょう。
より簡単にプログラミングに触れたい、子供と一緒にこれからプログラミング学習を行なっていきたいという方は、ビジュアルプログラミングソフトやアプリから触れてみる方法もあります。詳しくは以下の記事もご覧ください。