The NetBeans IDE is written in Java and runs everywhere where a JVM is installed, including Windows, Mac OS, Linux, and Solaris. A JDK is required for Java development functionality, but is not required for development in other programming languages.

The NetBeans Platform allows applications to be developed from a set of modular software components called modules. Applications based on the NetBeans platform (including the NetBeans IDE) can be extended by third party developers.[1]

History

Early history

NetBeans began in 1996 as Xelfi (word play on Delphi),[2][3] a Java IDE student project under the guidance of the Faculty of Mathematics and Physics at Charles University in Prague. In 1997 Roman Staněk formed a company around the project and produced commercial versions of the NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the NetBeans IDE in June of the following year. The NetBeans community has since continued to grow, thanks to individuals and companies using and contributing to the project.[4]

Current versions

NetBeans IDE 6.0 introduced support for developing IDE modules and rich client applications based on the NetBeans platform, a Java Swing GUI builder (formerly known as "Project Matisse"), improved CVS support, Weblogic 9 and JBoss 4 support, and many editor enhancements. NetBeans 6.0 has been added to the official repositories for the Ubuntu 8.04 and the Debian Linux distributions.[5]

The NetBeans IDE 6.8 is the first IDE to provide complete support of Java EE 6 and the GlassFish Enterprise Server v3. Developers hosting their open-source projects on kenai.com additionally benefit from instant messaging and issue tracking integration and navigation right in the IDE, support for web application development with PHP 5.3 and the Symfony framework, and improved code completion, layouting, hints and navigation in JavaFX projects.

NetBeans Platform

The NetBeans Platform is a reusable framework for simplifying the development of Java Swing desktop applications. The NetBeans IDE bundle for Java SE contains what is needed to start developing NetBeans plugins and NetBeans Platform based applications; no additional SDK is required.

Applications can install modules dynamically. Any application can include the Update Center module to allow users of the application to download digitally-signed upgrades and new features directly into the running application. Reinstalling an upgrade or a new release does not force users to download the entire application again.

The platform offers reusable services common to desktop applications, allowing developers to focus on the logic specific to their application. Among the features of the platform are:

Modularity: All the functions of the IDE are provided by modules. Each module provides a well defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.

NetBeans integrated modules

These modules are part of the NetBeans IDE.

NetBeans Profiler

The NetBeans Profiler[7] is a tool for the monitoring of Java applications: It helps you find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0.

The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic bytecode instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let you profile precise points of execution and measure execution time.

GUI design tool

Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design SwingGUIs by dragging and positioning GUI components.[8]

CSS editor features comprise code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

NetBeans IDE Download Bundles

Users can choose to download NetBeans IDE bundles tailored to specific development needs. Users can also download and install all other features at a later date directly through the NetBeans IDE.

NetBeans IDE Bundle for Ruby

The NetBeans IDE Bundle for Ruby[12] includes a Ruby editor (with code completion, and syntactic and semantic highlighting), debugger, and full support for the Ruby on Rails framework. NetBeans supports development with Ruby and JRuby, as well as Rails for these two implementations of Ruby.[13][14]

NetBeans IDE Bundle for Java ME

The NetBeans IDE Bundle for Java ME is a tool for developing applications that run on mobile devices; generally mobile phones, but this also includes entry-level PDAs, and Java Card, among others.

The NetBeans IDE comes bundled with the latest Java ME SDK 3.0 which supports both CLDC and CDC development. One can easily integrate third-party emulators for a robust testing environment. You can download other Java platforms, including the Java Card Platform 3.0, and register them in the IDE.

NetBeans IDE Bundle for C/C++

The NetBeans IDE Bundle for C/C++[15] adds support for C/C++ developers to NetBeans IDE 5.5.

This pack lets C/C++ developers use their specified set of compilers and tools in conjunction with NetBeans IDE to build native applications for Windows, Mac OS X, Linux, and Solaris. The pack makes the editor language-aware for C/C++ and provides project templates, a dynamic class browser, makefile support, profiler and debugger functionality. The NetBeans C/C++ bundle does not include a C/C++ compiler but it comes with instructions on how to install the free GNU C/C++ Compiler.[16]

NetBeans IDE Bundle for JavaFX

A NetBeans IDE Bundle is also available for JavaFX since NetBeans 6.5.[17] Additional to full Java SE support it provides a JavaFX editor and a JavaFX Composer, and it allows to create, preview and profile JavaFX Desktop or JavaFX Mobile applications.

NetBeans IDE Complete Bundle

Sun Microsystems also releases a version of NetBeans that includes all of the features of the above bundles. This bundle includes:

NetBeans IDE Starter Kit (DVD)

Sun Microsystems used to offer a free DVD-ROM which included all of the components needed to run NetBeans. An ISO of the DVD is still available for download.[18]

Other NetBeans IDE Bundles

Apart from the above mentioned, a NetBeans IDE Bundle is also available for Python. NetBeans for Python is available as an "early access" download in an IDE bundle form and as a plugin for any NetBeans 6.5 IDE bundle as well.