<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <title>NetBeans IDE 6.5 Release Information</title>
    <meta name="DESCRIPTION"
          content="Features of the NetBeans IDE 6.5 Release">
    <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <a name="top"></a>
    <h1>NetBeans IDE 6.5 Release Information</h1>
    <p>
      The NetBeans IDE is an award-winning Integrated Development Environment
      available for Windows, Mac, Linux, and Solaris.
      The NetBeans project consists of an
      <a href="../../../features/index.html">open-source IDE</a> and
      an <a href="../../../features/platform/index.html">application platform</a>
      which enable developers to rapidly <a href="../../../kb/">create</a>
      web, enterprise, desktop, and mobile applications using the Java platform, as well as
      PHP, JavaScript and Ajax, Ruby and Ruby on Rails, Groovy, and C/C++.
      It is supported by a vibrant <a href="../../../community/">developer community</a>
      and offers a diverse selection of third-party <a href="http://plugins.netbeans.org">plugins</a>.
    </p>

    <h2>Release Overview</h2>
    <p>
      In addition to full support of all Java platforms (Java SE, Java EE, Java ME, and JavaFX),
      the NetBeans IDE 6.5 is the ideal tool for software development
      with PHP, Ajax and JavaScript, Groovy and Grails, Ruby and Ruby on Rails, and C/C++.
      The 6.5 release provides enhanced support for web frameworks (Hibernate, Spring, JSF, JPA),
      the GlassFish application server, and databases.
      Additionally it includes a new IDE-wide QuickSearch shortcut, a more
      user-friendly interface, and automatic Compile on Save.
    </p>
    <p>
      The <a href="1/index.html">NetBeans IDE 6.5.1</a> bug fix release is a minor update to NetBeans IDE 6.5.
    </p>

    <h2>Get the NetBeans IDE 6.5 </h2>

    <p> <a href="https://netbeans.org/downloads/index.html"><img
          alt="Download NetBeans IDE 6.5"
          src="../../../images_www/v6/dl-nb-ide.gif" style="border: 0px solid ;"></a>
    </p>

    <h2>Documentation</h2>

    <p>Use the following documents to get started with NetBeans IDE 6.5.</p>
    <ul>
      <li><a href="./relnotes.html">6.5 Release Notes</a></li>
      <li><a href="./install.html">6.5 Installation Instructions</a></li>
    </ul>

    <h2>Feature Highlights</h2>

    <table width="100%">
      <tbody>
        <tr>
          <td style="vertical-align: top;">
            <p><b>PHP</b></p>
            <ul>
              <li>PHP Editor (Code completion, syntactic and semantic code highlighting)</li>
              <li>Support for heredoc notation and PHTML</li>
              <li>Debugging using Xdebug</li>
              <li>Generators for MySQL database code snippets</li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 127px;"
              src="../../../images_www/screenshots/6.5/php-code.png"
            alt="PHP Code Completion"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>JavaScript and Ajax</b></p>
            <ul>
              <li>JavaScript Debugging on FireFox & Internet Explorer
              <li>HTTP transaction monitoring
              <li>Improved JavaScript and CSS Editor</li>
              <li>JavaScript Library Manager incl Yahoo UI, Woodstock, jQuery, Dojo, Scriptaculous, Prototype libraries</li>
            </ul>
          </td>
          <td align="center" valign="middle"><img
              style="border: 1px solid ; width: 210px; height: 67px;"
              src="../../../images_www/screenshots/6.5/javascript-quickfix.png"
            alt="JavaScript quickfixes popup in the editor"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Java EE &amp; Web Development</b></p>
            <ul>
              <li>Enhanced support for Spring, Hibernate, JSF, JSF CRUD
              generator, JPA (Java Persistence API) </li>
              <li>Create RESTful web services from database tables or from
              JPA entities</li>
              <li>Drag and drop SaaS services into PHP files</li>
              <li>SQL Editor Improvements (code completion, save/recall
              queries, and more) </li>
              <li>Improved Eclipse project import and synchronization for Java Web projects</li>
              <li>Automatic Deploy on Save</li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 115px;"
              src="../../../images_www/screenshots/6.5/spring-web-app-refactor.png"
            alt="web application persistence"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>JavaFX</b></p>
            <ul>
              <li>Create, test, debug, profile, and deploy JavaFX projects</li>
              <li>JavaFX editor with syntax highlighting, source navigation,
              code completion, code folding, javadoc pop-ups, and error detection.</li>
              <li>Live preview of visual elements</li>
              <li>Code snippet palette for transformations, effects and animations</li>
            </ul>
          </td>
          <td align="center" style="vertical-align: top;"><img
              style="border: 0px solid ; width: 210px; height: 120px;"
              src="../../../images_www/screenshots/6.5/javafx.png"
            alt="javafx video cube"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Groovy and Grails</b></p>
            <ul>
              <li>Develop pure Groovy apps or use Groovy in Java SE projects </li>
              <li>Groovy editor with code completion, highlighting, and more </li>
              <li>Grails web application framework </li>
              <li>Open existing Grails applications without adding metadata</li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 99px;"
              src="../../../images_www/screenshots/6.5/groovy-editor.jpg"
            alt="Groovy code editor"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Ruby and Rails</b></p>
            <ul>
              <li>New Test Runner interface for displaying test results </li>
              <li>Rake improvements: Rake Runner and a pre-generated Rake file</li>
              <li>Debugger: Conditional breakpoints and catchpoints</li>
              <li>Ruby projects accept JVM options from command line </li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 130px;"
              src="../../../images_www/screenshots/6.5/ruby.png" alt="Ruby code editor">
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>GlassFish v3 Prelude for Web Development</b></p>
            <ul>
              <li>Modular, OSGi based architecture </li>
              <li>Small footprint, fast startup and deployment</li>
              <li>Support for scripting, including JRuby
            </ul>
          </td>
          <td align="center" valign="middle"><img
              style="width: 96px; height: 96px;"
              src="../../../images_www/screenshots/6.5/glassfish.jpg"
            alt="glassfish app server"> </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>C/C++</b></p>
            <ul>
              <li>Improved code completion, error highlighting, and semantic
              highlighting</li>
              <li>Call graph, Memory window </li>
              <li>Remote development</li>
              <li>Packaging of application as tar files, zip files, or SVR4
              packages</li>
            </ul>
          </td>
          <td align="center" valign="middle"><img
              style="border: 1px solid ; width: 210px; height: 134px;"
              src="../../../images_www/screenshots/6.5/call-graph.png" alt="Call graph"><br>
            <br>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Java ME</b></p>
            <ul>
              <li>New project wizard for adding custom components to the
              Visual Designer Palette </li>
              <li>New SVG UI components in the enhanced SVG Composer enable
              rich UI design</li>
              <li>New Data Binding Custom Components in the Visual Designer
              Palette</li>
              <li>Upgraded obfuscation tool to ProGuard 4.2 and test
              framework to JMUnit 1.1.0</li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 130px;"
              src="../../../images_www/screenshots/6.5/mobility.png"
              alt="Java ME SVG palette"><br>
            <br>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Java Debugger</b></p>
            <ul>
              <li>New multi-threaded debugging with improved UI and work-flow</li>
              <li>Smart Step Into with method selection right inside expression</li>
              <li>Deadlock detection with visual indication</li>
            </ul>
          </td>
          <td align="center" valign="middle"><img
              style="border: 1px solid ; width: 210px; height: 149px;"
              src="../../../images_www/screenshots/6.5/debugger.png"
              alt="swing treemodel view editor"><br>
            <br>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>Java SE</b></p>
            <ul>
              <li>Automatic Compile on Save</li>
              <li>Improved Eclipse project import and synchronization</li>
              <li>Java Call Hierarchy</li>
              <li>Analyze Javadoc</li>
              <li>Swing GUI Builder can generate simple or fully qualified class names</li>
            </ul>
          </td>
          <td align="center" valign="middle"><img
              style="border: 1px solid ; width: 210px; height: 127px;"
              src="../../../images_www/screenshots/6.5/gui-builder-class-names.png"
              alt="swing treemodel view editor"><br>
            <br>
          </td>
        </tr>
        <tr>
          <td style="vertical-align: top;">
            <p><b>IDE Tools and Usability</b></p>
            <ul>
              <li>CamelCase code completion </li>
              <li>Customize formatting settings per project</li>
              <li>One IDE-wide QuickSearch shortcut for files/symbols/types, IDE actions,
              options, and docs</li>
              <li>Support for Windows UNC paths (shared network folders) </li>
            </ul>
          </td>
          <td align="center" valign="top"><img
              style="border: 1px solid ; width: 210px; height: 123px;"
              src="../../../images_www/screenshots/6.5/quick-search.gif"
            alt="netbeans ide quicksearch"> </td>
        </tr>
      </tbody>
    </table>
    <p>Learn more at the <a href="http://wiki.netbeans.org/NewAndNoteWorthyNB65">
    NetBeans IDE 6.5 New and Noteworthy page</a>.</p>
  </body>
</html>
