<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
  <head>
    <title>NetBeans IDE -  NetBeans Rich-Client Platform Development (RCP)</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 - Developing Java desktop application based on the NetBeans Rich-Client Platform (RCP) framework">
    <meta http-equiv="content-language" CONTENT="en">
    <meta name="author" content="Ruth Kusterer" />

  </head>
  
  <body>
    <h1>The NetBeans Platform</h1>

          <p><img src="../../images_www/v6/features/platform_450px.jpg" alt="A photo storage application built on the NetBeans platform" width="450" height="281"/></p>
          <p> <strong>
          Developing a desktop application on top of the NetBeans Platform can save years of developer time. 
          </strong>

   
          <h2>A Generic Desktop Application Framework</h2>
          <p>
            The NetBeans Platform is a generic base for desktop applications.
            It provides the services common to almost all large desktop applications: 
            window management, menus, settings and storage, an update manager, and file access.
            Get a head start by reusing these standard components, 
            allowing you to concentrate fully on your application's business logic.
             
          </p>        
          <p>
           The NetBeans Platform provides all of these out of the box. You don't need to
           manually code these or other basic features, yourself, anymore. See what some
           NetBeans-based applications look like. The platform does not add a lot of overhead
           to your application - but it can save a huge amount of time and work.
          </p>

          <p>
            The NetBeans Platform provides a reliable and flexible application architecture.
            Your application  does not have to look anything like an IDE. It can save you years
            of development time. The NetBeans Platform gives you a time-tested architecture for
            free. An architecture that encourages sustainable development practices. Because the
            NetBeans Platform architecture is modular, it's easy to create applications that are
            robust and extensible.
          </p>

       
  </body>
</html>

