blob: 551b98fafff443e6a9e88a5848a0f61f48039b02 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<META NAME="keywords" CONTENT="netbeans,magazine,NetBeans,Platform,
Development,book,documentation,article,RCP,application">
<META NAME="description" CONTENT="NetBeans Magazine: A New Handbook for NetBeans Platform Development">
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>A New Handbook for NetBeans Platform Development</title>
<!--[if gte mso 9]><xml>
<o:DocumentProperties>
<o:Author>tarcisio</o:Author>
<o:Template>Normal</o:Template>
<o:LastAuthor>tarcisio</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>0</o:TotalTime>
<o:Created>2007-05-05T00:13:00Z</o:Created>
<o:LastSaved>2007-05-05T00:13:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>476</o:Words>
<o:Characters>2574</o:Characters>
<o:Company>phdesign</o:Company>
<o:Lines>21</o:Lines>
<o:Paragraphs>6</o:Paragraphs>
<o:CharactersWithSpaces>3044</o:CharactersWithSpaces>
<o:Version>11.5606</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:AutoHyphenation/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:DoNotHyphenateCaps/>
<w:PunctuationKerning/>
<w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
<w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
<w:UseMarginsForDrawingGridOrigin/>
<w:ValidateAgainstSchemas>false</w:ValidateAgainstSchemas>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotUnderlineInvalidXML/>
<w:DoNotShadeFormData/>
<w:Compatibility>
<w:FootnoteLayoutLikeWW8/>
<w:ShapeLayoutLikeWW8/>
<w:AlignTablesRowByRow/>
<w:ForgetLastTabAlignment/>
<w:LayoutRawTableWidth/>
<w:LayoutTableRowsApart/>
<w:UseWord97LineBreakingRules/>
<w:SelectEntireFieldWithStartOrEnd/>
<w:UseWord2002TableStyleRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Times;
panose-1:0 0 5 0 0 0 0 0 0 0;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:"Verdana";
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:"Verdana";
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
@font-face
{font-family:"Verdana";
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
p.Noparagraphstyle, li.Noparagraphstyle, div.Noparagraphstyle
{mso-style-name:"\[No paragraph style\]";
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
line-height:120%;
mso-pagination:none;
mso-layout-grid-align:none;
text-autospace:none;
font-size:12.0pt;
font-family:Times;
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:Times;
color:black;
mso-ansi-language:EN-US;}
p.NB-Corpo, li.NB-Corpo, div.NB-Corpo
{mso-style-name:"NB - Corpo";
mso-style-parent:"\[No paragraph style\]";
mso-style-next:"\[No paragraph style\]";
margin:0cm;
margin-bottom:.0001pt; text-align:left;
text-indent:5.65pt;
line-height:16.0pt;
mso-pagination:none;
mso-layout-grid-align:none;
text-autospace:none;
font-size:9.0pt;
font-family:"Verdana";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Verdana";
color:black;
mso-ansi-language:EN-US;}
p.NB-Legendaimagem, li.NB-Legendaimagem, div.NB-Legendaimagem
{mso-style-name:"NB - Legenda imagem";
mso-style-parent:"\[No paragraph style\]";
mso-style-next:"\[No paragraph style\]";
margin:0cm;
margin-bottom:.0001pt;
line-height:12.0pt;
mso-pagination:none;
mso-hyphenate:none;
tab-stops:14.15pt;
mso-layout-grid-align:none;
text-autospace:none;
font-size:10.0pt;
font-family:"Verdana";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Verdana";
color:black;
letter-spacing:.05pt;
mso-ansi-language:EN-GB;}
span.NB-NegritoTcnico
{mso-style-name:"NB - Negrito Técnico";
mso-style-parent:"";
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;
font-family:"Verdana";
mso-ascii-font-family:"Verdana";
mso-hansi-font-family:"Verdana";
mso-bidi-font-family:"Verdana";
color:black;
letter-spacing:.05pt;
mso-font-width:100%;
font-weight:bold;
vertical-align:baseline;}
span.NB-Legendanegrito
{mso-style-name:"NB - Legenda negrito";
mso-style-parent:"";
font-weight:bold;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:581.1pt 779.55pt;
margin:36.0pt 36.0pt 36.0pt 36.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
div.NB-Corpo1 {mso-style-name:"NB - Corpo";
mso-style-parent:"\[No paragraph style\]";
mso-style-next:"\[No paragraph style\]";
margin:0cm;
margin-bottom:.0001pt; text-align:left;
text-indent:5.65pt;
line-height:16.0pt;
mso-pagination:none;
mso-layout-grid-align:none;
text-autospace:none;
font-size:9.0pt;
font-family:"Verdana";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Verdana";
color:black;
mso-ansi-language:EN-US;}
li.NB-Corpo1 {mso-style-name:"NB - Corpo";
mso-style-parent:"\[No paragraph style\]";
mso-style-next:"\[No paragraph style\]";
margin:0cm;
margin-bottom:.0001pt; text-align:left;
text-indent:5.65pt;
line-height:16.0pt;
mso-pagination:none;
mso-layout-grid-align:none;
text-autospace:none;
font-size:9.0pt;
font-family:"Verdana";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Verdana";
color:black;
mso-ansi-language:EN-US;}
p.NB-Corpo1 {mso-style-name:"NB - Corpo";
mso-style-parent:"\[No paragraph style\]";
mso-style-next:"\[No paragraph style\]";
margin:0cm;
margin-bottom:.0001pt; text-align:left;
text-indent:5.65pt;
line-height:16.0pt;
mso-pagination:none;
mso-layout-grid-align:none;
text-autospace:none;
font-size:9.0pt;
font-family:"Verdana";
mso-fareast-font-family:"Times New Roman";
mso-bidi-font-family:"Verdana";
color:black;
mso-ansi-language:EN-US;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabela normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body lang=PT-BR style='tab-interval:36.0pt;text-justify-trim:punctuation'>
<table width="770" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="/images_www/magazine/book/top_resenha_web.jpg" width="770" height="200"></td>
</tr>
<tr>
<td><div>
<p class=NB-Corpo1 style='text-indent:0cm'><span lang=EN-US style='letter-spacing:
-.2pt'><br>
Welcome to the world of rich client development on the NetBeans
Platform.&rdquo; So begins the new book on the NetBeans Platform, called &ldquo;Rich Client
Programming: Plugging into the NetBeans Platform&rdquo;. Written by three stalwarts
of the NetBeans IDE, Tim Boudreau, Jaroslav Tulach, and Geertjan Wielenga, this
new title from Prentice Hall introduces you to the central concepts of the
NetBeans Platform.
<o:p></o:p>
</span></p>
<p class=NB-Corpo1><span lang=EN-US style='letter-spacing:-.2pt'>The book begins
by discussing the rationale for modular programming. &ldquo;Loose coupling&rdquo;, whereby
spaghetti code is avoided through a set of related but independent modules, is
discussed with reference to a set of concrete examples. Gradually, the need for
this approach to robust programming is introduced and, piece by piece, the
authors highlight NetBeans&rsquo; responses to this need. The tooling for modular
programming since the release of NetBeans IDE 5.0 has proven its value to
numerous programmers, and the reasons for this quickly become clear in the
book. Typical stumbling blocks that new developers come across, such as &ldquo;nodes&rdquo;
and &ldquo;cookies&rdquo; are explored in detail.
<o:p></o:p>
</span><br>
</p>
<p class=NB-Corpo1><span lang=EN-US style='letter-spacing:-.2pt'>The second part
of the book deals with a set of concrete NetBeans API scenarios. How, for
example, can one provide code completion? Or hyperlinks in the Source Editor?
And what about palettes with items that can be dragged and dropped? These and
other scenarios are discussed in detail. Each chapter travels through a very
specific example scenario, based on the example in the CD that accompanies the
book. At the end of this part, the reader should understand some of the basic
APIs that are typically implemented by developers making use of the NetBeans
Platform.
<o:p></o:p>
</span><br>
</p>
<p class=NB-Corpo1><span lang=EN-US style='letter-spacing:-.2pt'>The book closes
with two chapters contributed by two developers with years of experience with
the NetBeans Platform. First, Jens Trapp, from Germany, discusses how he
integrated the HTML Tidy project into NetBeans IDE. In doing so, he brings
together many of the principles and APIs discussed in the preceding chapters.
Next, US-based Rich Unger describes a complete application built on top of the
NetBeans Platform, for editing WAV files. Typical concerns involved in creating
Platform-based applications are discussed in this chapter. Together Jens and
Rich provide the two &ldquo;use cases&rdquo; of the NetBeans Platform &ndash; allowing you to
extend NetBeans IDE with new features, and creating completely separate
applications, which in turn could constitute</span><span lang=EN-US
style='color:red;letter-spacing:-.2pt'> </span><span lang=EN-US
style='letter-spacing:-.2pt'>the platform of still other applications.
<o:p></o:p>
</span><br>
</p>
<p class=NB-Corpo1><span lang=EN-US style='letter-spacing:-.2pt'>This is the
first book since Tim Boudreau&rsquo;s and Jesse Glick&rsquo;s &ldquo;NetBeans: The Definitive
Guide&rdquo; &ndash; the popular title from some years ago which had a large section on the
NetBeans Platform &ndash; to cover the length and breadth of the NetBeans Platform.
Judging from the level of interest shown in the Safari Rough Cuts version of the
book, which provides an early draft in PDF format, &ldquo;Rich Client Programming:
Plugging into the NetBeans Platform&rdquo; promises to take the Swing development
world by storm. If you want to leverage the full potential of the NetBeans Platform,
this is definitely not a book that you want to miss! </span>
<!--[if gte vml 1]><v:shapetype
id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter"/>
<v:path gradientshapeok="t" o:connecttype="rect"/>
</v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t202" style='position:absolute;
margin-left:0;margin-top:0;width:7.1pt;height:7.6pt;text-indent:0;z-index:1;
mso-wrap-distance-left:0;mso-wrap-distance-right:0;mso-position-horizontal:left;
mso-position-horizontal-relative:char;mso-position-vertical:center;
mso-position-vertical-relative:line' o:allowincell="f">
<v:textbox>
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=NB-Legendaimagem><span class=NB-NegritoTcnico><span lang=EN-US
style='mso-ansi-language:EN-US'>t<o:p></o:p></span></span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
<w:wrap type="square" anchorx="margin" anchory="margin"/>
</v:shape><![endif]-->
</p>
<p class=NB-Corpo1>&nbsp;</p>
<p class=NB-Corpo1><img src="/images_www/magazine/book/images/livro.jpg" alt="Book" width="166" height="166"></p>
<p class=NB-Corpo1><strong>Ric Client Programming: Plugging into the NetBeans&trade; Platform <br>
</strong><em><SPAN lang="EN-US">Tim Boudreau, Jaroslav Tulach, Geertjan Wielenga </em>(Prentice Hall) ISBN-13: 978-0-13-235480-6 . 640 pages<br>
</p>
<table width="770" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="NB-Corpo1">&nbsp;</td>
</tr>
</table>
<p class=NB-Corpo1>&nbsp;</p>
</div></td>
</tr>
</table>
</body>
</html>