<html>
    <head>
        <title>NetBeans Visual Web Pack 5.5</title>
        <meta name="DESCRIPTION" content="Information about the NetBeans Visual Web Pack 5.5 FCS Release">
		<meta name="keywords" content="Download, Visual Web Pack contents, AJAX, Ajax"
     <link rel="stylesheet" type="text/css" href="../../../netbeans.css">
     <style type="text/css">
<!-- .style1 {color: #FF0000} -->
     </style>
    </head>
    <body>
<a name=top></a> 
<h1>NetBeans Visual Web Pack 5.5</h1>

<p>The NetBeans Visual Web Pack 5.5 introduces the visual design experience from the award-winning Sun Java Studio Creator IDE to the greater NetBeans community.  With the Visual Web Pack, NetBeans developers are presented with an environment for rapid visual development of standards-based web applications that can be part of larger Java development projects.  It is available as an
  integrated bundle for the <a href="index.html">NetBeans 5.5 IDE</a>. This collection of tools
  and runtimes enable you to develop web applications based on the
  latest releases of JavaServer Faces (JSF) and the Java Platform, Enterprise Edition 5 (Java EE 5).</p>
<h2>What's Cool in this Release?</h2>
<ul><li>Visual tools that save you time and make your Web applications more predictable and reliable</li>
<li>Industry-leading support for JavaServer Faces components</li>
<li>Ajax-enabled JavaServer Faces component library</li>
</ul>
            <h2>Download</h2>
            <div class="rarticle">
              <div class="ml15"><a href="http://services.netbeans.org/downloads/index.php?rs=11&p=9">Download</a></div>
            </div>

        <p><h2><a name="features">Feature Highlights</a></h2>
        <br/>
     <b>Industry Leading Support for JavaServer Faces Components</b>
     
<p>The design-time experience with JavaServer Faces components in Visual Web Pack is
both drag and drop as well as &quot;what you see is what you get&quot; (WYSIWYG). There is no need to parse complicated tags in JavaServer Pages code by hand unless, of course, you choose to. Instead, the work is done visually, setting properties and writing code in server-side event handlers.</p>
<p>The Visual Web Pack includes a comprehensive library of JavaServer Faces components such as Table, Calendar, Tree, Tab Set, File Upload, and many more. These components are more feature-rich than JavaServer Faces reference implementation components, although those are also included to provide comprehensive support for the standard JSF distribution.</p>

        <b>Ajax-Enabled Sample JavaServer Faces Components </b>
        <p>Ajax-enabled JavaServer Faces components can be incorporated into Web applications developed with the Visual Web Pack. Using Ajax with JavaServer Faces means that the complicated Javascript that enables a rich user experience (and can often be browser dependent), as well as the complicated server-side asynchronous communication, are encapsulated within each JavaServer Faces component.</p>

<p>Using an Ajax-enabled component is like working with any other component. Simply drag and drop the component, set properties, and customize server-side event handlers. 
At runtime, reap the benefits offered by the interactive component.</p>
<p><b>Note: </b>The Ajax components included with NetBeans Visual Web Pack 5.5 are samples only, and are not meant for production applications. </p>
<b>Support for Standards</b>
        <p>
Applications developed with the Visual Web Pack are packaged into a Web Archive (WAR) 
that can be deployed to standard Java 2 Platform, Enterprise Edition (J2EE) containers,
including Sun Java System Application Server, JBoss, BEA WebLogic, IBM WebSphere, Tomcat, and others.</p>

   

        <h2><a name="doc">Documentation</a></h2>
        <p>Documentation is provided for the NetBeans Visual Web Pack 5.5 (including the NetBeans IDE) in the
        form of web-based guides and the IDE's help system. You can use the
        following documents to get started:</p>
        <ul>
            <li><a href="vwp-release-notes.html"><b>Release Notes</b></a></li>
            <li><a href="vwp-install.html"><b>Installation Instructions</b></a></li>
            <li><a href="../../../kb/55/vwp-index.html#tutorials"><b>Tutorials</b></a></li>
			<li><a href="../../../kb/55/index.html"><b>NetBeans 5.5 Documentation</b></a></li>
        </ul>
		
		
       
        <h2>More Information</h2>
        <div>For more documentation, tutorials, and articles about Visual Web Pack, see the following documents: <a name="more"></a> </div>
        <ul>
          <li>To dive right in, see the tutorial <a href="../../../kb/55/vwp-intro.html">Getting Started With NetBeans Visual Web Pack 5.5</a>. </li>
          <li><a href="../../../kb/55/vwp-index.html" target="_blank">Visual Web Pack Documentation</a></li>
        <li><a href="../../../kb/55/index.html">NetBeans IDE 5.5 Documentation </a></li>
        <!-- <p>For more information about Sun Java Studio Creator, visit
        <a href="http://developers.sun.com/prodtech/javatools/jscreator/index.jsp">
        Java Studio Creator At a Glance</a>. </p>
        <p>Additional useful information can also be found in the <a href="http://swforum.sun.com/jive/forum.jspa?forumID=123"><b>
        Sun Java Studio Creator Discussion Forum</b></a></p>
        <br>-->
        </ul>
    </body>
</html>
