NetBeansはJava用の統合開発環境(IDE)です。NetBeansでは、モジュールと呼ばれるモジュール型のソフトウェアコンポーネントのセットからアプリケーションを開発できます。NetBeansはWindows、macOS、Linux、Solarisで動作します。Java開発に加えて、PHP、C、C++、HTML5、[3]、JavaScriptなどの他の言語用の拡張機能も備えています。NetBeans IDEを含むNetBeansベースのアプリケーションは、サードパーティの開発者によって拡張できます。[4]

NetBeansは1996年にXelfi( Delphiの言葉遊び)として始まり、[5] [6]プラハのカレル大学工学部指導の下で行われたJava IDEの学生プロジェクトでした。1997年、Roman Staněk氏がこのプロジェクトを軸に会社を設立し、 1999年にサン・マイクロシステムズに買収されるまでNetBeans IDEの商用版を制作しました。サンは翌年6月にNetBeans IDEをオープンソース化しました。それ以来、NetBeansコミュニティは成長を続けています。[7] 2010年、サン(とNetBeans)はオラクル社に買収されました。オラクル社の傘下で、NetBeansは歴史的に同社の製品であったフリーウェアIDEのJDeveloperとの相乗効果を見つける必要がありましたが、2012年までに両方のIDEが共有コードベースであるNetBeansプラットフォームを中心に再構築されました。 2016年9月、オラクルはNetBeansプロジェクトをApacheソフトウェア財団に寄贈する提案書を提出し、「NetBeansのガバナンスモデルを開放することで、NetBeansの構成員がプロジェクトの方向性と、Java 9とNetBeans 9以降の次期リリースを通じた将来の成功に関して、より大きな発言権を持つようにする」と述べた。この動きはJavaの生みの親であるジェームズ・ゴスリングによって支持された。[8]プロジェクトは2016年10月にApacheインキュベータに入り、 [9] 2019年にApacheソフトウェア財団のトップレベルプロジェクトとして卒業した。Apacheのトップレベルプロジェクトとして最初に利用可能になったバージョンはApache NetBeans 11.3であった。
NetBeans IDEはオープンソースの統合開発環境です。NetBeans IDEは、あらゆる種類のJavaアプリケーション(Java SE ( JavaFXを含む)、Java ME、Web、EJB、モバイルアプリケーション)の開発を標準でサポートしています。その他の機能としては、 Antベースのプロジェクトシステム、Mavenのサポート、リファクタリング、バージョン管理(CVS、Subversion、Git、Mercurial、Clearcaseをサポート)などがあります。
IDEのすべての機能はモジュールによって提供されます。各モジュールは、Java言語のサポート、編集、CVSバージョン管理システムやSVNのサポートなど、明確に定義された機能を提供します。NetBeansには、Java開発に必要なすべてのモジュールが1回のダウンロードで含まれているため、ユーザーはすぐに作業を開始できます。また、モジュールを使用することでNetBeansを拡張することもできます。他のプログラミング言語のサポートなどの新機能は、追加のモジュールをインストールすることで追加できます。例えば、Sun MicrosystemsのSun Studio、Sun Java Studio Enterprise、Sun Java Studio CreatorはすべてNetBeans IDEをベースにしています。
NetBeans IDEはApache License 2.0に基づいてライセンスされています。以前は、2006年7月から2007年までは、Mozilla Public License (MPL)に基づくSunのCommon Development and Distribution License (CDDL)に基づいてライセンスされていました。2007年10月、SunはNetBeansを今後CDDLとGPLバージョン2のデュアルライセンスで提供し、GNU ClasspathにはGPLのリンク例外を適用すると発表しました。[10] OracleはNetBeans PlatformとIDEをApache Foundationに寄贈し、インキュベーションを経て2019年4月にトップレベルプロジェクトとして卒業しました。[11]
2016年10月のガブリエラ・モトロックとのインタビューで、オラクルの副社長ビル・パタキーは、オラクルにはNetBeansに依存する製品が多数あると述べた。[12]

これらのモジュールは NetBeans IDE の一部です。
NetBeans Profiler [13]は、Java アプリケーションを監視するツールです。開発者がメモリ リークを発見し、速度を最適化するのに役立ちます。以前は個別にダウンロードされていましたが、バージョン 6.0 以降はコア IDE に統合されています。このProfiler は、JFluid という Sun Laboratories の研究プロジェクトに基づいています。この研究では、Java アプリケーションのプロファイリングのオーバーヘッドを削減するために使用できる特定の手法が発見されました。その手法の 1 つが動的バイトコード インストルメンテーションで、大規模な Java アプリケーションのプロファイリングに特に役立ちます。動的バイトコード インストルメンテーションと追加のアルゴリズムを使用することで、NetBeans Profiler は、他のプロファイラでは大きすぎたり複雑すぎたりするアプリケーションの実行時情報を取得できます。NetBeans は、開発者が正確な実行ポイントをプロファイルし、実行時間を測定できるようにするプロファイリング ポイントもサポートしています。

以前はプロジェクトMatisseとして知られていたGUI設計ツールは、開発者がGUIコンポーネントをドラッグして配置することでSwing GUIのプロトタイプ作成と設計を 可能にします。[14]
GUI ビルダーには JSR 295 (Beans Binding テクノロジー) のサポートが組み込まれていますが、JSR 296 ( Swing アプリケーション フレームワーク)のサポートは7.1 で削除されました。
NetBeans JavaScriptエディタはJavaScript、Ajax、CSSの拡張サポートを提供します。[15] [16]
JavaScript エディターの機能には、構文の強調表示、リファクタリング、ネイティブ オブジェクトと関数のコード補完、JavaScript クラス スケルトンの生成、テンプレートからのAjax コールバックの生成、自動ブラウザー互換性チェックが含まれます。
CSS エディターの機能には、スタイル名のコード補完、ナビゲータ パネルによるクイック ナビゲーション、リスト ビューでの CSS ルール宣言の表示とツリー ビューでのファイル構造の表示、名前、タイプ、または宣言順序によるアウトライン ビューの並べ替え (リストとツリー)、ルール宣言の作成 (ツリーのみ)、ルール名の一部をリファクタリング (ツリーのみ) などがあります。
NetBeans 7.4 以降では、Oracle が開発した 新しいNashorn JavaScript エンジンが使用されます。
ユーザーは、特定の開発ニーズに合わせてカスタマイズされたNetBeans IDEバンドルをダウンロードできます。また、後日、NetBeans IDEから直接その他の機能をダウンロードしてインストールすることもできます。
NetBeans IDE Bundle for Web & Java EE [17]は、新しいJava EE 6 Webプロファイル、エンタープライズJava Beans(EJB)、サーブレット、Java Persistence API、Webサービス、アノテーションなど、最新のJava EE 6標準に対応した完全なツールを提供します。NetBeansは、JSF 2.0(Facelets)、JavaServer Pages(JSP)、Hibernate、Spring、Strutsフレームワーク、Java EE 5およびJ2EE 1.4プラットフォームもサポートしています。GlassFishとApache Tomcatも含まれています。
Java EE の機能には次のようなものがあります:
NetBeansはバージョン5.6以降でPHPをサポートしています。PHPバンドルには以下が含まれています。
Oracleは、上記のバンドルのすべての機能を備えたNetBeansのバージョンもリリースしています。このバンドルには以下の機能が含まれています。
公式のRubyサポートは 7.0 のリリースで削除されました。
NetBeans IDE は次の言語に翻訳されています。
IDE のコミュニティ翻訳は次の言語でも利用可能です。