Highlights
Create professional desktop applications using the NetBeans Java GUI Builder with Swing Application Framework and Beans Binding support. | A fast and light-weight PHP IDE with code completion and quick fixes, integrated FTP and Xdebug, and support for popular Web Services. |
Build web applications using Ajax, JavaScript, and CSS. Support for frameworks incl. JSF, Struts, Spring and Hibernate. Full set of tools for EJB development. | Ruby and Ruby on Rails Development Powerful Ruby editor with code completion and debugger, and full support for Ruby on Rails. Includes the JRuby runtime. |
Create, test and debug GUI applications that run on mobile phones, set-top boxes, and PDAs. | Full-featured C/C++ editor, debugger, project templates, support for multiple project configurations, remote development, and packaging of completed projects. |
All Features and Supported Technologies
The NetBeans IDE is a free, open-source Integrated Development Environment for software developers. You get all the tools you need to create professional desktop, enterprise, web and mobile applications, in Java, C/C++ and a variety of dynamic languages. The IDE runs on many platforms including Windows, Linux, Solaris, and Mac OS; it is easy to install and use straight out of the box.
Base IDE
General IDE features
- Non-proprietary Apache Ant 1.7.1 build scripts
- Projects, Files, Services, and Favorites views
- Fully configurable user interface (fonts, colors, toolbars, views)
- Code formatting settings customizable per project
- All views can be positioned, maximized/minimized, split, cloned and (un)docked
- Navigator with members and hierarchy inspectors
- Open As... action for associating file extensions with MIME-types
- Project grouping
- Included templates and sample applications
- Go to File, Go to Type, Go to Symbol, Go to Declaration actions
- Head-less build support
- Task List integration (iCalendar format): Automatic scanning for errors, warnings, TODO/FIXME tasks, and bug database integration
- Sharable projects (relative library paths, name variable paths), support for MS Windows UNC paths.
- Eclipse project and JBuilder project importer, Eclipse project synchronization
- Quick Search bar: Quick access to files/types/symbols, projects, option panels, menu actions, and documentation
Source Code Editor
- Full editor support for Java, XML, DTD, CSS, HTML, ERB, RHTML, JSP, Javadoc, JavaScript, PHP, Groovy, Ruby, C and C++.
- Smart Code Completion including CamelCase abbreviations
- Syntactic and semantic code highlighting, word and bracket matching
- Mark occurences, errors and warnings; hints, quick fixes
- Automatic compile on save, and deploy on change (for Java projects)
- Automatic code generation (accessors, surround-with, and more...)
- Source Code folding
- Customizable code formatting and identation
- Refactoring actions:
- Rename
- Introduce Variable, Constant, Field, or Method
- Change Method Parameters
- Encapsulate Fields (getters and setters)
- Pull Up, Push Down
- Move Class, Copy Class
- Move Inner to Outer Level
- Convert Anonymous Class to Inner
- Extract Interface, Extract Superclass
- Use Supertype Where Possible
- Safely Delete
- Local History for non-version-controlled files
- Documentation pop-up windows including Javadoc and rdoc
- Editor can be extended to support any language (Project Schlieman)
- An action to Remove Trailing Whitespace from lines
Version Control
- CVS; Subversion; Mercurial
- Subversion authentication protocols: file, http, https, svn, svn+ssh
- CVS authentication protocols: pserver, ext, local, fork.
- Automatic recognition of existing version-controlled directories
- Versioning window shows new, removed, or modified files
- Color-coded status of lines, files and folders: New, removed, up-to-date, or modified
- Color-coded Diff Viewer for intuitive merge conflict resolution
- Export Diff Patch action
- Sharable project metadata
Developer Collaboration
- Share projects and files in real time over the network
- Chat client with syntax coloring for Java and XML
- Create conference chatrooms and manage contacts
- Jabber (XMPP), JXTA, SIP protocol support
Desktop Applications (Java SE)
Java Development
- Support for JDK 1.1, 1.2, 1.3, 1.4, JDK 5.0 and JDK 6
- Unit testing with JUnit 3 and 4
- Library and Template Manager
- Call Hierarchy window displays callers and callees of a method in a project
- Javadoc Analyzer, Javadoc Auto Comment
- Automatic Javadoc and source root detection in JARs and NetBeans Libraries
- Java Beans support: Bean property generation, BeanInfo editor
- Visual Swing GUI Builder (More...)
- Integrated debugger (More...)
- Integrated profiler (More...)
Java Swing GUI Builder (formerly known as Matisse)
- Visual Swing GUI designer for Free Design, null layout, or any Swing layout manager.
- Extendable component palette with pre-installed Swing and AWT components
- Visual menu designer
- Component and Properties inspector
- Support for Beans Binding technology (JSR 295)
- Support for Swing Application Framework (JSR 296)
- Support for GUI localization and accessibility
- Easy access to properties of ComboBox, JTree, ButtonGroup, etc components
- GUI Preview in Nimbus Looks&Feel (JDK 6 Update 10)
- Configure the GUI Builder to generate either simple of fully qualified class names
Java Profiler
- CPU Performance analysis and load generation tools
- Memory analysis and memory leak detection
- Threads profiling
- Local and remote attachment
- HeapWalker
- Profiling Points
- JMeter integration
- Save snapshots and process them offline
Java Debugger
- Multi-language debugger
- Configurable breakpoints
- Multi-threaded debugging (default breakpoint only suspends breakpoint thread)
- Customizable Debugging View displays threads, sessions, call stacks
- Current Thread Chooser for switching threads, threads navigation directly accessible from editor gutter
- Automatic deadlock detection among suspended threads
- Watches window
- Call Stack window
- Local and remote debugging
- Run into, step over, step into and step out actions
- Expression evaluation
Web Applications and Enterprise Applications (Java EE)
Web Applications
- Web JSF Application Development
- Apache Struts 1.2.9 and 1.3.x
- Spring Web MVC 2.5
- Hibernate 3.2.5 framework, HQL queries, Hibernate Reverse Engineering wizard
- JavaServer Pages (JSP)
- JavaServer Faces (JSF 1.2) framework
- Ajax-enabled JSF components
- Generate JavaServer Faces CRUD application (Create-Read-Update-Delete) from JPA entity classes
- Hyperlink navigation for JSF and JSP pages
- Page Flow Editor for JavaServer Faces, JSP, and HTML pages
- Editor for deployment descriptors
- JavaServer Pages Standard Tag Library (JSTL).
- Editor supports HTML, JavaScript, PHP, JSP, JSF, and CSS
- Property values error checking in CSS code
- HTTP monitor for web application debugging
- Support for persistence units
- Migration from Java Studio Creator and NetBeans Visual Web Pack 5.5.x
- Deploying Java applications and Applets via Java Web Start (JNLP) including external resources
Databases
- The NetBeans Database Explorer supports any relational database for which there is a JDBC driver: JavaDB (Derby), MySQL, PostgreSQL; Oracle, IBM DB2, Microsoft SQL Server, PointBase, Sybase, Informix, Cloudscape, InstantDB, Interbase, Firebird, FirstSQL, Mckoi SQL, HSQLDB, Hypersonic SQL, Micrososft Access.
- Visual Query Editor (Data Provider API)
- Sakila plugin installs a sample MySQL database for use with tutorials
- Integration of MySQL servers (start/stop)
- Auto-detection of existing MySQL databases
- Database Explorer to connect to, browse, create, or delete databases
- Integration for external administration tools like phpMyAdmin
- SQL Editor with code completion and query history. Edit, sort and filter results directly, view large data sets page by page.
Enterprise Applications (Java EE)
- J2EE 1.3, J2EE 1.4 and Java EE 5 standards, including Annotations
- Java Persistence API (JPA, JSR 220)
- JavaServer Pages (JSP)
- Enterprise JavaBeans (EJB 2.1 and EJB 3)
- Consumption of EJB 2.1 in web applications
- Java Servlet API
- Supports Sun Java System Application Server 8 and 9, GlassFish v1/v2/v3, Apache Tomcat 4, 5 and 6, JBoss 4, BEA WebLogic 10, IBM WebSphere 6.0 and 6.1, Sailfin V1, and others.
Web Services
- Support for JAX-WS 2.1, JAX-RS (JSR 311), JAX-RPC (JSR 101) web service standards
- Designer for JAX-WS services
- Web Service Customization editor
- Secure identity management with the Sun Java System Access Manager
- SOAP-based and RESTful Web Services
- Create JSR311-compliant RESTful web services from JPA entity classes and patterns, or from databases
- Google Maps, StrikeIron, and Yahoo News Search RESTful web services
- JBI Java Business Integration (JSR 208)
- Java Architecture for XML Binding API (JAXB) wizard
- Mobile Java ME Web services (JSR 172)
- Interoperable Web services (JSR 109)
- Axis2 support
- SoapUI integration for Web Service testing and monitoring
- Support for SaaS (Software as a Service provided by among others, Google, Facebook, Yahoo, and YouTube).
Mobile Applications (Java ME)
- Full support for
- Mobile Information Device Profile (MIDP) 1.0, 2.0 and 2.1
- Connected Limited Device Configuration (CLDC) 1.0 and 1.1
- Connected Device Configuration (CDC)
- Apache Ant 1.7.1 build scripts
- Visual Mobile GUI Designer with localization and data binding support
- Mobile Screen Designer
- Mobile Game Builder for the MIDP 2.0 Game API
- Support for SVG graphics (JSR 226): SVG Composer with SVG UI components, SVG property editor
- Component palette, custom component creation wizard
- JMUnit 1.1.0 testing
- MIDlet signing and certificate management
- Integrated over-the-air (OTA) emulation
- Push-registry emulation
- WMA emulation features for SMS and CBS messages
- Wireless Messaging and Multimedia APIs
- Code obfuscation with ProGuard 4.2
- Multiple project configurations
- On-device testing and debugging
- Mobile Java ME Web service (JSR 172)
- SDK MpowerPlayer platform support for Mac OS (How to install)
JavaFX
NetBeans IDE 6.5 for JavaFX 1.0 is expected in December 2008. You can already download NetBeans IDE 6.1 for JavaFX now: Visit javafx.com!
- JavaFX project running, testing and debugging
- Editor supports syntax highlighting, code completion, and error detection.
- Preview of visual code elements in the editor
- Deploy JavaFX projects as Java web start (JNLP), Mobile application, Java browser Applet, or stand-alone application
- Palette with code snippets that you can drag and drop into the editor (transformations, effects, animations)
Ruby and Ruby on Rails
- Support for native Ruby, Ruby on Rails 2.0, and JRuby
- Ruby project type for Ruby and YAML files
- Ruby on Rails project type
- Editor with syntactic and semantic code highlighting
- Hints and quick fixes, refactoring, automatic code completion
- Integrated Rake build tool
- Integrated rdoc pop-ups
- Access to Interactive Ruby Shell (IRB)
- Integrated support for Test::Unit, Auto Test, and RSpec files
- Integrated WEBrick and Mongrel web servers
- Database migration integration
- Templates and code generator
- Debugger for Ruby, JRuby, and Ruby on Rails
- Ruby Gems Installation Manager
- Rake Runner
Groovy and Grails
- Create pure Groovy projects, Grails projects, and mixed Java SE/Groovy projects
- Groovy editor with syntax highlighting, navigator, code folding, occurrences highlighting, code completion, and more
- Open existing Grails applications (no import required, no meta-data is added)
- Integrated Grails commands, Services window integration
PHP
- A Java Development Kit (JDK) is not required to run the PHP-only IDE; the Java Runtime Environment (JRE) suffices.
- PHP editor with syntactic and semantic code highlighting for mixed code (PHP/HTML/CSS/JavaScript), occurences and error highlighting
- code completion and dynamic help (also for PHPDoc tags and included elements), code generators, comment completion, php doc generation, abbreviations, code snippet palette
- Support for php short tags and php HEREDOC strings, code folding, bracket matching, indentation
- Integrated FTP access for remotely hosted projects (upload, download, delete)
- IDE recognizes default location of document root in different operating systems
- Support for PHP include path (global for all projects, or one per project)
- Run project/single file, debug project/single file, run script in command line
- Wizard for creating new PHTML and PHP files
- Navigator and hyperlinking (Go to Declaration, Go to Type, Go to the included/required file)
- Rename Refactoring
- Debugger supports breakpoint, local variables, watches and bubble watches (tooltip)
- Support for multiple project configurations
- Find Usages action
JavaScript
- JavaScript editor with syntax highlighting, code completion, pop-up documentation, and error checking.
- The Editor recognizes JavaScript code in stand-alone JavaScript files as well as in HTML, RHTML, and JSP files.
- JavaScript Debugger supports watches, breakpoints, viewing and navigating source artifacts and JavaScript Callstack, viewing window and frame structure, local variables, and (static) browser DOM.
- Debug JavaScript in HTML files, JavaScript files, or generated URL sources, in Java EE and Ruby projects.
- JavaScript debugging requires Firefox 2.0.0.X with Firebug 1.1beta plugin, or Internet Explorer 6/7 on Windows XP/Vista operating systems.
- JavaScript Library Manager to add JavaScript libraries to Java EE, Ruby, or PHP projects.
- Bundled JavaScript libraries: Yahoo UI, WoodStock, jQuery, Dojo, Scriptaculous, Prototype
C/C++
- Project types for C and C++ NetBeans Projects
- Compiler-neutral - works with GNU Compiler (GCC), MinGW, and others
- Project templates, import of existing projects
- Support for dynamic and static libraries
- Editor with syntactic and semantic code highlighting, indentation, code completion, error highlighting
- Classes Browser
- Call Graph window (direct and reverse)
- Memory Window
- Customizable pre-processor definitions and compile-time options
- Makefile wizard
- Remote development (using tools on remote hosts, build and run from your client system)
- GNU debugger (gdb)
- Supported platforms: Microsoft Windows, Linux, Mac OS, Solaris 10 Operating Systems
UML
The UML plugin is available from the update center (Tools > Plugins).
- Forward and Reverse Engineering
- Supported UML diagrams: Activity diagram, Class diagram, Sequence diagram, State diagram, and Use Case diagram.
- Diagram Editor with alignment tools
- Customizable FreeMaker templates
- Javadoc style web reporting
- Design patterns include EJB 1.1, EJB 2.0 and Gang of Four.
Python
- Python projects and project importer
- Python Platform Manager for CPython or Jython (Jython 2.5 beta0 is pre-installed)
- Python editor with smart indent/outdent, pair matching, finding undefined names, syntactic and semantic highlighting, code folding, instant rename refactoring, mark occurrences, Quick Fixes, code completion.
- Interactive python console
- Python debugger (jpydbg) integration
- Import management
SOA, WSDL, XML
- Identity Management Server
- XML Schema Tools
- XSLT Editor for Extensible Stylesheet Language Transformations
- WSDL Editor for Web Services Description Language 1.1
- BPEL Designer and Debugger
- Sun Java System Application Server 8 and 9 (GlassFish v1/v2/v3)
- Service Assembly Editor for Composite Applications
- JBI Java Business Integration (JSR 208)
NetBeans Platform
- Tools for Rich client application development
- Tools for NetBeans plugin (NBM) development
- Visual Library API for data visualization
- NetBeans Preferences API
- Lexer API for creating tokens from a textual input
- QuickSearch SPI
- OutlineView (replacing TreeTableView) for drag and drop, sorting, and in-place editing of tree cells
- Supports JDK 5 generics
NetBeans Platform Features Page
Available from the Plugins Manager
Install these and more NetBeans Plugins using the Plugin Manager (Tools > Plugins > Available Plugins).
You can get additional third-party plugins on the Plugin Portal, where you can also contribute your own.
Stable Plugins
- UML modeling)
- Apache Maven build scripts
- BlueJ project support
- Developer Collaboration (live project sharing, Jabber instant messenger)
- Generic Load Generator infrastructure
- Testing tools (JMeter Kit, JUnit, Jemmy, Jelly tools, Xtest)
- Subversion client (for Microsoft Windows)
- Clearcase version control
- Ant 1.7.1 documentation
- Ruby extras (color themes, hints)
- Java Management Extensions (JMX) and JConsole
- JBuilder project importer
- Log management
- Elixir Repertoire business intelligence suite
- NetBeans Platform API documentation
- Portlet support (Portal Pack with Sun Java System Portal Server 7.x, JSF Portlets, OpenPortal Portlet Container)
And many more...