<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>NetBeans IDE - All Supported Technologies</title>
  <link rel="stylesheet" href="../netbeans.css" type="text/css">
  <link rel="stylesheet" href="../features.css" type="text/css">
  <meta name="description"
 content="NetBeans IDE: All Supported Technologies">
  <meta http-equiv="content-language" content="en">
  <meta name="author" content="Ruth Kusterer">
</head>
<body>
<h1>All Features and Supported Technologies</h1>
<p> 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. </p>
<table>
  <tbody>
    <tr>
      <td valign="top">
      <ul>
        <li><a href="#base-ide">Base IDE</a>
          <ul>
            <li><a href="#general">General IDE Features</a></li>
            <li><a href="#editor">Source Code Editor</a></li>
            <li><a href="#vcs">Version Control</a></li>
            <li><a href="#collab">Connected Developer</a></li>
            <li><a href="#tools">Build Tools</a> (<a href="#maven">Maven</a>,






              <a href="#hudson">Hudson</a>)</li>
          </ul>
        </li>
        <li><a href="#platform">NetBeans Platform</a></li>
        <li><a href="#osgi">OSGi</a></li>
        <li><a href="#plugins">Plugins (Stable and Beta)</a></li>
        <li><a href="all.html#java-me">Mobile and Embedded Applications
(Java
ME)</a></li>
      </ul>
      </td>
      <td valign="top">
      <ul>
        <li><a href="#java-se">Java Desktop Applications (Java SE)</a>
          <ul>
            <li><a href="#java">Java Development</a></li>
            <li><a href="#swing">Swing GUI Builder<br>
(formerly known as Matisse)</a></li>
            <li><a href="#profiler">Java Profiler</a></li>
            <li><a href="#debugger">Java Debugger</a></li>
          </ul>
        </li>
        <li><a href="#java-web">Web and Enterprise Applications (Java
EE)</a>
          <ul>
            <li><a href="#java-webapp">Web Applications</a></li>
            <li><a href="#java-ee">Java EE Applications</a></li>
            <li><a href="#db">Databases</a></li>
            <li><a href="#java-ws">Web Services</a></li>
          </ul>
        </li>
      </ul>
      </td>
      <td valign="top">
      <ul>
        <li><a href="all.html#javafx">JavaFX 2.0</a></li>
        <li><a href="#groovy">Groovy, Grails</a></li>
        <li><a href="#php">PHP</a></li>
        <li><a href="#js">JavaScript</a></li>
        <li><a href="#cplusplus">C, C++, Fortran</a></li>
        <li><a href="http://wiki.netbeans.org/NetBeansArchivedFeatures"><span
 style="font-style: italic;">Archived Features</span></a></li>
      </ul>
      <span style="font-weight: bold;"></span></td>
    </tr>
  </tbody>
</table>
<a name="base-ide"></a>
<h2>Base IDE</h2>
<a name="general"></a>
<h3>General IDE features</h3>
<ul>
  <li>Non-proprietary Apache Ant 1.8 build scripts </li>
  <li>Projects, Files, Services, and Favorites views </li>
  <li>Fully configurable user interface (fonts, colors, toolbars,
views) </li>
  <li>Code formatting settings customizable per project </li>
  <li>Exporting and importing of NetBeans options </li>
  <li>All views can be positioned, maximized/minimized, split, cloned
and (un)docked </li>
  <li>Navigator with members and hierarchy inspectors </li>
  <li>Open As... action for associating file extensions with MIME-types
  </li>
  <li>Project grouping </li>
  <li>Included templates and sample applications </li>
  <li>Go to File, Go to Type, Go to Symbol, Go to Declaration actions </li>
  <li>Head-less build support </li>
  <li>Task List integration (iCalendar format): Automatic scanning for
errors, warnings, TODO/FIXME tasks, and bug database integration </li>
  <li>Sharable projects (relative library paths, name variable paths),
support for MS Windows UNC paths. </li>
  <li>Eclipse project and JBuilder project importer, Eclipse project
synchronization </li>
  <li>Quick Search bar: Quick access to files/types/symbols, projects,
option panels, menu actions, and documentation </li>
</ul>
<a href="ide/index.html">IDE Features Page</a> <a name="editor"></a>
<h3>Source Code Editor</h3>
<ul>
  <li>Full editor support for Java, XML, DTD, CSS, HTML, ERB, RHTML,
JSP, Javadoc, JavaScript, PHP, Groovy, C and C++, and more. </li>
  <li>Smart Code Completion including CamelCase abbreviations </li>
  <li>Syntactic and semantic code highlighting, word and bracket
matching </li>
  <li>Mark occurences, errors and warnings; hints, quick fixes </li>
  <li>Automatic compile on save, and deploy on save (for Java projects)
  </li>
  <li>Automatic code generation (accessors, surround-with, and more...)
  </li>
  <li>Source Code folding </li>
  <li>Customizable code formatting and identation </li>
  <li>Refactoring actions:
    <ul>
      <li>Rename </li>
      <li>Introduce Variable, Constant, Field, or Method </li>
      <li>Change Method Parameters </li>
      <li>Encapsulate Fields (getters and setters) </li>
      <li>Pull Up, Push Down </li>
      <li>Move Class, Copy Class </li>
      <li>Move Inner to Outer Level </li>
      <li>Convert Anonymous Class to Inner </li>
      <li>Extract Interface, Extract Superclass </li>
      <li>Use Supertype Where Possible </li>
      <li>Safely Delete </li>
    </ul>
  </li>
  <li>Local History for non-version-controlled files </li>
  <li>Documentation pop-up windows including Javadoc and rdoc </li>
  <li>Editor can be extended to support any language (Project
Schlieman) </li>
  <li>An action to Remove Trailing Whitespace from lines
    <p> </p>
  </li>
</ul>
<a href="ide/editor.html">Editor Features Page</a> <a name="vcs"></a>
<h3>Version Control</h3>
<ul>
  <li>Support for CVS 1.11.x and 1.12.x; Subversion 1.4.x, 1.5.x,
1.6.x; and Mercurial 1.x, 2.x; ClearCase V7.0 (available from the
Plugin
Manager).
    <ul>
      <li>Subversion authentication protocols: file, http, https, svn,
svn+ssh </li>
      <li>CVS authentication protocols: pserver, ext, local, fork. </li>
    </ul>
  </li>
  <li>Git support<br>
  </li>
  <li>Automatic recognition of existing version-controlled directories </li>
  <li>Versioning window shows new, removed, or modified files </li>
  <li>Color-coded status of lines, files and folders: New, removed,
up-to-date, or modified </li>
  <li>Color-coded Diff Viewer for intuitive merge conflict resolution </li>
  <li>Export Diff Patch action </li>
  <li>Sharable project metadata </li>
</ul>
<p><a href="ide/collaboration.html">Version Control Features Page</a></p>
<a name="collab"></a>
<h3>Connected Developer (Project Kenai Team Server)</h3>
<ul>
  <li>Create, host and manage NetBeans projects on a Team Server,
through the IDE interface </li>
  <li>Versioning integration: Check out and commit to Kenai-hosted
projects </li>
  <li>Versioning integration: Change issue status in same step as
commiting the fix </li>
  <li>Issue tracker integration for Jira and BugZilla: Queries,
create/close, apply patches, assign tasks </li>
  <li>Integrated issue tracker with editor navigation </li>
  <li>Instant messenger chat client and member presence service </li>
</ul>
<p>* The Jira plugin is available from the plugin manager (Tools &gt;
Plugins).</p>
<p><a href="ide/collaboration.html">Team Collaboration Features Page</a></p>
<a name="tools"></a> <a name="hudson"></a>
<h3>Hudson Integration</h3>
<ul>
  <li>Hudson continuous build servers for Maven and (Ant-based) Java SE
project types </li>
  <li>Hudson project can be using Subversion or Mercurial </li>
  <li>Browse hosted jobs, builds, workspaces, and artifacts </li>
  <li>Failure notifications </li>
</ul>
<p><a href="ide/build-tools.html">Build Tools Features Page</a></p>
<a name="maven"></a>
<h3>Maven Integration</h3>
<ul>
  <li>Open, build, run, test, debug, profile Apache Maven projects (2
and 3) </li>
  <li>Support for Maven web applications, EJB and enterprise projects
(J2EE 1.4, Java EE 5, Java EE 6), JAX-WS 2.2 Web Services </li>
  <li>Bind custom Maven goals to IDE actions </li>
  <li>Create projects from Maven Archetype templates </li>
  <li>Maven Repository Browser </li>
  <li>Maven Dependency Graph </li>
  <li>Maven project configurations </li>
  <li>Artifact Details Viewer </li>
  <li>Compile on Save for Maven Java SE projects, Deploy on Save for
Maven Web Applications </li>
</ul>
<p><a href="ide/build-tools.html">Build Tools Features Page</a></p>
<a name="java-se"></a>
<h2>Desktop Applications (Java SE)</h2>
<a name="java"></a>
<h3>Java Development</h3>
<ul>
  <li>Develop for JDK 1.1, 1.2, 1.3, 1.4, JDK 5.0, JDK 6, JDK 7 </li>
  <li>Unit testing with JUnit 3 and 4 </li>
  <li>Library and Template Manager </li>
  <li>Call Hierarchy window displays callers and callees of a method in
a project </li>
  <li>Javadoc Analyzer, Javadoc Auto Comment </li>
  <li>Automatic Javadoc and source root detection in JARs and NetBeans
Libraries </li>
  <li>Java Beans support: Bean property generation, BeanInfo editor </li>
  <li>Visual Swing GUI Builder <a href="#swing">(More...)</a> </li>
  <li>Integrated debugger <a href="#debugger">(More...)</a> </li>
  <li>Integrated profiler <a href="#profiler">(More...)</a> </li>
</ul>
<p><a href="java/javase.html">Java SE Features Page</a></p>
<a name="swing"></a>
<h3>Java Swing GUI Builder (formerly known as Matisse)</h3>
<ul>
  <li>Visual Swing GUI designer for Free Design, null layout, or any
Swing layout manager. </li>
  <li>Extendable component palette with pre-installed Swing and AWT
components </li>
  <li>Visual menu designer </li>
  <li>Component and Properties inspector </li>
  <li>Support for Beans Binding technology (JSR 295) </li>
  <li>Support for Swing Application Framework (JSR 296) </li>
  <li>Support for GUI localization and accessibility </li>
  <li>Easy access to properties of ComboBox, JTree, ButtonGroup, etc
components </li>
  <li>GUI Preview in Nimbus Looks&amp;Feel (JDK 6 Update 10) </li>
  <li>Configure the GUI Builder to generate either simple of fully
qualified class names </li>
</ul>
<p><a href="java/swing.html">Java Swing Features Page</a></p>
<a name="profiler"></a>
<h3>Java Profiler</h3>
<ul>
  <li>CPU Performance analysis and load generation tools </li>
  <li>Memory analysis and memory leak detection </li>
  <li>Threads profiling </li>
  <li>Local and remote attachment </li>
  <li>HeapWalker, including OQL support </li>
  <li>Profiling Points </li>
  <li>JMeter integration </li>
  <li>Save snapshots (CSV, HTML and XML) and process them offline </li>
</ul>
<p><a href="java/profiler.html">Profiler Features Page</a></p>
<a name="debugger"></a>
<h3>Java Debugger</h3>
<ul>
  <li>Multi-language debugger </li>
  <li>Configurable breakpoints </li>
  <li>Options dialog for specifying Variable Formatters, Step Filters,
and more </li>
  <li>Multi-threaded debugging (default breakpoint only suspends
breakpoint thread) </li>
  <li>Customizable Debugging View displays threads, sessions, call
stacks </li>
  <li>Current Thread Chooser for switching threads, threads navigation
directly accessible from editor gutter </li>
  <li>Automatic deadlock detection among suspended threads </li>
  <li>Watches window </li>
  <li>Call Stack window </li>
  <li>Local and remote debugging </li>
  <li>Run into, step over, step into and step out actions </li>
  <li>Expression evaluation </li>
</ul>
<p><a href="java/debugger.html">Debugger Features Page</a></p>
<p><a name="javafx"></a> </p>
<h2>JavaFX 2.0</h2>
<ul>
  <li>Projects using FXML or pure Java</li>
  <li>FXML editor</li>
  <li>Add preloaders to projects, or create preloader project</li>
  <li>Leverage JavaSE editor</li>
  <li>Leverage JavaSE and Java GUI debugger, including visual debugger</li>
</ul>
<p><a href="javafx/index.html">JavaFX Features Page</a></p>
<a name="java-web"></a>
<h2>Web Applications and Enterprise Applications (Java EE)</h2>
<a name="java-webapp"></a>
<h3>Web Applications</h3>
<ul>
  <li>JavaServer Pages (JSP 2.1) </li>
  <li>JavaServer Faces (JSF 2.0) framework </li>
  <li>Apache Struts 1.3.8 </li>
  <li>Spring Web MVC 2.5 </li>
  <li>Hibernate 3.2.5 framework, HQL queries, Hibernate Reverse
Engineering wizard </li>
  <li>Ajax-enabled JSF components </li>
  <li>Generate JSF CRUD application (Create-Read-Update-Delete) from
JPA entity classes </li>
  <li>Hyperlink navigation for JSF and JSP pages </li>
  <li>Editor for deployment descriptors </li>
  <li>JavaServer Pages Standard Tag Library (JSTL). </li>
  <li>Editor supports HTML, XHTML, JavaScript, PHP, JSP, JSF, and CSS </li>
  <li>Property values error checking in CSS code </li>
  <li>HTTP monitor for web application debugging </li>
  <li>Support for persistence units </li>
  <li>Deploying Java applications and Applets via Java Web Start (JNLP)
including external resources </li>
</ul>
<p><a href="web/web-app.html">Web Application Features Page</a></p>
<a name="db"></a>
<h3>Databases</h3>
<ul>
  <li>The NetBeans Database Explorer supports any relational database
for which there is a <a
 href="http://wiki.netbeans.org/wiki/view/DatabasesAndDrivers">JDBC
driver</a>: JavaDB (Derby) 10.4, MySQL 5.1.6, PostgreSQL 8.3; Oracle
10.2, Microsoft SQL Server 1.2, PointBase 5.2, jTDS 1.2.1, DataDirect
Connect for JDBC 3.6, IBM Redistributable DB2, and more. </li>
  <li>Visual Query Editor (Data Provider API) </li>
  <li>Sakila plugin installs a sample MySQL database for use with
tutorials </li>
  <li>Integration of MySQL servers (start/stop) </li>
  <li>Auto-detection of existing MySQL databases </li>
  <li>Database Explorer to connect to, browse, create, or delete
databases </li>
  <li>Integration for external administration tools like phpMyAdmin </li>
  <li>SQL Editor with code completion and query history. Edit, sort and
filter results directly, view large data sets page by page. </li>
</ul>
<p><a href="ide/database.html">Databases Features Page</a></p>
<a name="java-ee"></a>
<h3>Enterprise Applications (Java EE)</h3>
<ul>
  <li>Java EE 6, Java EE 5, J2EE 1.4 standards, including Annotations </li>
  <li>Java Persistence API (JPA 2.0 ) </li>
  <li>Contexts and Dependency Injection (CDI) </li>
  <li>JavaServer Pages (JSP) </li>
  <li>JavaServer Faces (JSF 2.0) Facelets </li>
  <li>Enterprise JavaBeans (EJB 2.1, EJB 3, EJB 3.1) </li>
  <li>EJBs in web applications </li>
  <li>Java Servlet API </li>
  <li>GlassFish Server Open Source Edition 3.1.2, Apache Tomcat 5.5 and
6.0.20, JBoss 5.0, WebLogic 11g (10.3.1.0), and others. </li>
</ul>
<p><a href="web/java-ee.html">Java EE Features Page</a></p>
<a name="java-ws"></a>
<h3>Web Services</h3>
<ul>
  <li>Support for JAX-WS 2.2, designer UI for JAX-WS services </li>
  <li>Support for JAX-RS RESTful Web Services 1.1 (JSR 311) </li>
  <li>Support for JAX-RPC Web Service standards 1.6 (JSR 101) </li>
  <li>Web Service Customization editor </li>
  <li>Secure identity management with the Sun Java System Access
Manager </li>
  <li>SOAP-based and RESTful Web Services </li>
  <li>Create JSR-311-compliant RESTful web services from JPA entity
classes and patterns, or from databases </li>
  <li>Google Maps, StrikeIron, and Yahoo News Search RESTful web
services </li>
  <li>JBI Java Business Integration (JSR 208) </li>
  <li>Java Architecture for XML Binding API (JAXB) wizard </li>
  <li>Mobile Java ME Web services (JSR 172) </li>
  <li>Interoperable Web services (JSR 109) </li>
  <li>SoapUI integration for Web Service testing and monitoring </li>
  <li>Support for SaaS (Software as a Service provided by among others,
Google, Facebook, Yahoo, and YouTube). </li>
</ul>
<p><a href="web/web-services.html">Web Services Features Page</a></p>
<a name="java-me"></a>
<h2>Mobile and Embedded Applications (Java ME, Java Card)</h2>
<ul>
  <li>Full support for
    <ul>
      <li>Mobile Information Device Profile (MIDP) 1.0, 2.0 and 2.1 </li>
      <li>Connected Limited Device Configuration (CLDC) 1.0 and 1.1 </li>
      <li>Connected Device Configuration (CDC) </li>
      <li>Bundled with Java ME SDK 3.0.5 </li>
      <li>Java Card </li>
    </ul>
  </li>
  <li>Apache Ant 1.8 build scripts </li>
  <li>Visual Mobile GUI Designer with localization and data binding
support </li>
  <li>Mobile Screen Designer </li>
  <li>Mobile Game Builder for the MIDP 2.0 Game API </li>
  <li>Support for SVG graphics (JSR 226): SVG Composer with SVG UI
components, SVG property editor </li>
  <li>Component palette, custom component creation wizard </li>
  <li>JMUnit 1.1.0 testing </li>
  <li>MIDlet signing and certificate management </li>
  <li>Integrated over-the-air (OTA) emulation </li>
  <li>Push-registry emulation </li>
  <li>WMA emulation features for SMS and CBS messages </li>
  <li>Wireless Messaging and Multimedia APIs </li>
  <li>Code obfuscation with ProGuard 4.2 </li>
  <li>Multiple project configurations </li>
  <li>On-device testing and debugging </li>
  <li>Mobile Java ME Web service (JSR 172) </li>
  <li>SDK MpowerPlayer platform support for Mac OS (<a
 href="http://wiki.netbeans.org/FaqMobilityMpowerMacOs">How to install</a>)







  </li>
</ul>
<p><a href="javame/index.html">Java ME Features Page</a></p>
<p>&nbsp;</p>
<a name="groovy"></a>
<h2>Groovy and Grails</h2>
<ul>
  <li>Groovy 1.6.4-ready editor with syntax highlighting, navigator,
code folding, occurrences highlighting, code completion, and more </li>
  <li>Create Grails 1.3 projects, or open existing Grails applications
(no import required, no meta-data is added) </li>
  <li>Support for mixed Java SE/Groovy projects </li>
  <li>Integrated Grails commands, Services window integration </li>
</ul>
<p><a href="groovy/index.html">Groovy Features Page</a><br>
<br>
</p>
<a name="php"></a>
<h2>PHP</h2>
<p>A Java Development Kit (JDK) is not required to run the PHP-only
IDE; the Java Runtime Environment (JRE) suffices.</p>
<ul>
  <li>Support for PHP 5 projects including PHP 5.4 (traits, etc.), 5.3,
5.2, 5.1 </li>
  <li>PHP editor with syntactic and semantic code highlighting for
mixed code (PHP/HTML/CSS/JavaScript), occurences and error highlighting
  </li>
  <li>Code completion and dynamic help (also for PHPDoc tags and
included elements), code generators, comment completion, php doc
generation, abbreviations, code snippet palette </li>
  <li>Support for php short tags and php HEREDOC strings, code folding,
bracket matching, indentation </li>
  <li>Integrated FTP and SFTP access for remotely hosted projects
(upload, download, delete) </li>
  <li>IDE recognizes default location of document root in different
operating systems </li>
  <li>Support for PHP include path (global for all projects, or one per
project) </li>
  <li>Run project/single file, debug project/single file, run script in
command line </li>
  <li>Wizard for creating new PHTML and PHP files </li>
  <li>Navigator and hyperlinking (Go to Declaration, Go to Type, Go to
the included/required file) </li>
  <li>Rename Refactoring </li>
  <li>Debugger supports breakpoint, local variables, watches and bubble
watches (tooltip) </li>
  <li>Remote and local debugging, debugging of scripts and web pages
(xdebug) </li>
  <li>Local path mapping for remote servers (for debugging, symlinks) </li>
  <li>Support for multiple project configurations </li>
  <li>PHPUnit integration and Selenium test cases (also for Maven and
web projects) </li>
  <li>Code Coverage report for PHP projects </li>
  <li>Zend and Symfony framework support including executing commands.</li>
  <li>Smarty template support</li>
  <li>Find Usages action </li>
</ul>
<p><a href="php/index.html">PHP Features Page</a></p>
<a name="js"></a>
<h2>JavaScript</h2>
<ul>
  <li>Support JavaScript 1.7 </li>
  <li>XML object embedding with ECMAScript for XML (E4X) </li>
  <li>JavaScript editor with syntax highlighting, code completion,
pop-up documentation, and error checking. </li>
  <li>The Editor recognizes JavaScript code in stand-alone JavaScript
files as well as in HTML, RHTML, and JSP files. </li>
</ul>
<p><a href="javascript/index.html">JavaScript Features Page</a></p>
<a name="cplusplus"></a>
<h2>C, C++, Fortran</h2>
<ul>
  <li>Project types for C and C++ NetBeans Projects </li>
  <li>The C/C++ plugin also supports Fortran files </li>
  <li>Compiler-neutral: Compile C, C++, and Fortran files with the GNU
Compiler (GCC), MinGW, or others. </li>
  <li>Project templates, import of existing projects </li>
  <li>Support for dynamic and static libraries </li>
  <li>Virtual console </li>
  <li>Editor with syntactic and semantic code highlighting,
indentation, formatting. </li>
  <li>Code assistance including code completion, refactoring, error
highlighting, navigation for C/C++. </li>
  <li>Classes Browser </li>
  <li>Call Graph window (direct and reverse) </li>
  <li>Memory Window </li>
  <li>Macro expansion view </li>
  <li>Customizable pre-processor definitions and compile-time options </li>
  <li>Makefile wizard </li>
  <li>Remote development (using tools on remote hosts, build and run
from your client system) </li>
  <li>GNU debugger (gdb) support </li>
  <li>D-Light profiler (Observability) displays CPU, Thread and Memory
usage </li>
  <li>Qt toolkit support (GUI forms, resources, translations) </li>
  <li>Support for standard Qt editing tools (Qt Designer, Qt Linguist) </li>
  <li>Supported platforms: Microsoft Windows, Linux, Mac OS, Solaris 10
Operating Systems </li>
</ul>
<p><a href="cpp/index.html">C and C++ Features Page</a></p>
<a name="platform"></a>
<h2>NetBeans Platform</h2>
<ul>
  <li>Tools for rich-client application development </li>
  <li>Runtime container for lifecycle management</li>
  <li>Module system for pluggability</li>
  <li>Advanced Swing components for data visualization</li>
</ul>
<p><a href="platform/index.html">NetBeans Platform Features Page</a><br>
</p>
<a name="osgi"></a>
<h2>OSGi
</h2>
<ul>
  <li>Develop OSGi bundles in Maven-based projects </li>
  <li>Bundled Felix container, ability to register other containers
such as Equinox </li>
  <li>OSGi interoperability (developing and consuming OSGi bundles in
Platform-based applications) </li>
</ul>
<a href="http://nbstaging.czech.sun.com/features/java/osgi.html">OSGi
Support Features Page</a>
<h2><a name="plugins"></a> </h2>
<h2>Available from the Plugins Manager</h2>
<p> Install these and more NetBeans Plugins using the Plugin Manager
(Tools &gt; Plugins &gt; Available Plugins).<br>
You can get additional third-party plugins on the <a
 href="http://plugins.netbeans.org/">Plugin Portal</a>, where you can
also contribute your own. </p>
<h3>Stable Plugins</h3>
<ul>
  <li>Jira bug tracker integration </li>
  <li>NetBeans Platform API documentation </li>
  <li>BlueJ project support </li>
  <li>Java Card, Oberthur smart card Platform support </li>
  <li>Scan on Demand Plugin (manually invoke source rescan) </li>
  <li>Load Generator, JMeter </li>
  <li>Subversion client (for Microsoft Windows) </li>
  <li>Ant 1.8 documentation </li>
  <li>Facelets 1.1.14 (JavaServer Faces 1.2) </li>
  <li>Java Management Extensions (JMX) and JConsole </li>
  <li>JBuilder project importer </li>
  <li>Sakila sample database </li>
  <li>jIndent plugin </li>
  <li>Apache Ivy integration </li>
  <li>Developer Collaboration plugin (for NetBeans IDE 6.5 and earlier
only) </li>
</ul>
<h3>Beta Plugins</h3>
<p>More plugins in beta and development stage are available from the <a
 href="http://wiki.netbeans.org/FaqPluginsInDevelopment">beta and dev
Update centers</a> and from the <a href="http://plugins.netbeans.org/">Plugin
Portal</a>. </p>
<ul>
  <li>Selenium plugin for PHP / Ant / Maven projects </li>
  <li>Clearcase version control </li>
  <li>Copy and paste History: <a
 href="http://plugins.netbeans.org/PluginPortal/faces/PluginDetailPage.jsp?pluginid=78">Plugin
Portal</a> </li>
  <li>Web Preview plugin and Embedded Browser (Mozilla's XUL Runner) </li>
  <li>Free-Form Projects - Extras </li>
  <li>Code Coverage for Java SE and NetBeans NBM projects </li>
  <li>Python, Jython </li>
  <li>Ajax-based Echo2 web framework with Visual designer </li>
  <li>WADL Designer (Web Application Description Language) </li>
  <li>Axis web services framework </li>
</ul>
<p>And many more...</p>
<p><br>
</p>
<p>Back to <a href="../features/index.html">Features Overview Page</a></p>
<p>Back to <a href="../community/releases/71/relnotes.html">NetBeans
IDE 7.1 Release Notes</a></p>
<p><br>
</p>
</body>
</html>
