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

NetBeans は 1996 年に Xelfi ( Delphiをもじったもの)として始まり[ 5 ] [ 6 ] 、プラハのチャールズ大学工学部および技術学部の指導の下で行われた Java IDE の学生プロジェクトでした。1997 年に Roman Staněkがこのプロジェクトを中心に会社を設立し、 1999 年にSun Microsystemsに買収されるまで NetBeans IDE の商用版を制作しました。Sun は翌年の 6 月に NetBeans IDE をオープンソース化しました。それ以来、NetBeans コミュニティは成長を続けています。[ 7 ] 2010 年に Sun (および NetBeans)はOracle Corporationに買収されました。Oracle の下で NetBeans は、歴史的に同社の製品であったフリーウェア IDE であるJDeveloperとの相乗効果を見つける必要がありました。2012年までに、両方の IDE は共通のコードベース (NetBeans Platform) を中心に再構築されました。 2016 年 9 月、Oracle は NetBeans プロジェクトをApache Software Foundationに寄贈する提案を提出し、「NetBeans のガバナンス モデルを開放し、Java 9 と NetBeans 9 の今後のリリース以降、プロジェクトの方向性と将来の成功について NetBeans 関係者の発言力を高める」と述べた。この動きは Java の生みの親であるJames Gosling氏によって支持された。[ 8 ]このプロジェクトは 2016 年 10 月に Apache Incubator に入り[ 9 ]、2019 年に Apache Software Foundation のトップレベル プロジェクトとして卒業した。Apache トップレベル プロジェクトとして最初に利用可能になったバージョンは Apache NetBeans 11.3 だった。
NetBeans IDEは、オープンソースの統合開発環境です。NetBeans IDEは、 Java SE ( JavaFXを含む)、Java ME、Web、EJB、モバイルアプリケーションなど、あらゆる種類のJavaアプリケーションの開発を標準でサポートしています。その他の機能としては、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 プロファイル、Enterprise 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のコミュニティ翻訳版は、以下の言語でも利用可能です。