<html>
<head>
<title>NetBeans Magazine - Issue One - May 2006</title>
<meta name="description" content="NetBeans Magazine - Issue One - May 2006">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link href="../../netbeans.css" type="text/css" rel="stylesheet">
</head>

<body>

<h1>NetBeans Magazine - Issue One - May 2006</h1>

<p>As part of third annual <a href="../articles/javaone/2006/nb-day.html">NetBeans Software Day</a> and
the <a href="http://java.sun.com/javaone/sf/index.jsp">2006 JavaOne Conference</a>,
NetBeans has put together a magazine of highlights that are captivating developers worldwide.
You can view this issue as a whole or as individual articles.</p>

<p>This special first edition of NetBeans Magazine showcases a wide selection of IDE
and extension features, from desktop and web development to plug-in module creation.
Beginners will learn how to develop a complete desktop application using Matisse and other
IDE facilities. Seasoned programmers will also benefit, knowing details about the NetBeans
Profiler, which introduces breakthrough innovations in profiling tools, and further learn about
GroupLayout, the layout manager that is the core of Matisse. Also shown is how to use IDE features
and modules to detect bug patterns, enforce code conventions, and closely follow coding rules that
promote overall quality and reduce maintenance costs.
</p>

<h2>Contents:</h2>

<div class="rarticle">
  <div class="ml15"><a href="https://netbeans.org/download/magazine/01/nb01_web.pdf">Full NetBeans Magazine Issue One</a> <span class="sotto">(34.5MB)</span>
  68 Pages including: 7 articles, NetBeans Day information and actitivies at 2006 JavaOne Conference</div>
</div>

<p><a href="https://netbeans.org/download/magazine/01/nb01_web.pdf"><img src="../../images_www/mag-01-frontpage.jpg" width="250" height="355" alt="" style="float:right;margin:15px 0px 0px 15px; border:none;"/></a>

<h3>Source Code</h3>

<p>
 <div class="rarticle">
  <div class="ml15">
<a href="https://netbeans.org/community/magazine/code/nb-completeapp.zip">nb-completeapp.zip</a>
</div>
</div>
<div class="rarticle">
  <div class="ml15">
<a href="https://netbeans.org/community/magazine/code/nb-qualitycode.zip">nb-qualitycode.zip</a>
</div>
</div>
</p>

<h3>Individual Articles</h3>

<p>
<div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_completeapp.pdf">A Complete App Using NetBeans 5</a> <span class="sotto">(12MB)</span>
  Using Matisse and more to create a complete application, from UI to database access</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_pluginshowcase.pdf">Plug-in Module Showcase</a> <span class="sotto">(2.3MB)</span>
  Enrich your development experience with dozens of NetBeans extensions</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_webdevelpoment.pdf">Web Development with NetBeans 5</a> <span class="sotto">(2.8MB)</span>
Use the best of NetBeans to develop and debug JSPs, Servlets, and Struts applications</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_writing_quality.pdf">Writing Quality Code with NetBeans IDE</a> <span class="sotto">(2.6MB)</span>
  Exploring rules, modules and IDE features that increase code quality and avoid common bugs</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_plugin.pdf">Plug-in Module Quick Start</a> <span class="sotto">(2.2MB)</span>
  Build plug-in modules step by step, using the new extensibility APIs in NetBeans 5</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_profiler.pdf">Exploring the NetBeans Profiler</a> <span class="sotto">(2.2MB)</span>
  An in-depth exploration and tutorial about the best profiling tool on the market</div>
</div>

<p><div class="rarticle">
  <div class="ml15"><a href="../../download/magazine/01/nb01_group_layout.pdf">Get to Know GroupLayout</a> <span class="sotto">(11MB)</span>
  Learn details about the new layout manager that powers the Matisse GUI builder</div>
</div>


<h2>Issue Archives</h2>

<div class="indent">
  <div class="rarticle"><div class="ml15"><a href="issue4.html">Issue Four - December 2007</a></div></div>
</div>

<div class="indent">
  <div class="rarticle"><div class="ml15"><a href="issue3.html">Issue Three - May 2007</a></div></div>
</div>

<div class="indent">
  <div class="rarticle"><div class="ml15"><a href="issue2.html">Issue Two - Nov 2006</a></div></div>
</div>

</body>
</html>
