11.07.2015 Views

NetBeans Platform in 5.0:

NetBeans Platform in 5.0:

NetBeans Platform in 5.0:

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Solution: Plug-<strong>in</strong> Modules...(http://www.netbeans.org/catalogue/<strong>in</strong>dex.html)© 2006 Sun Microsystems


...More Plug-<strong>in</strong> Modules...(http://www.nbextras.org/)© 2006 Sun Microsystems


...Even More Plug-<strong>in</strong> Modules...(http://blogs.sun.com/scblog)© 2006 Sun Microsystems


...Even More Plug-<strong>in</strong> Modules...(http://blogs.sun.com/geertjan)© 2006 Sun Microsystems


...And Even More Plug-<strong>in</strong> Modules...(New ones keep popp<strong>in</strong>g up all the time!)© 2006 Sun Microsystems


...Surprise! Still More Plug-<strong>in</strong> Modules...© 2006 Sun Microsystems


Secret: Everyth<strong>in</strong>g <strong>in</strong> <strong>NetBeans</strong> IDE isprovided by a plug-<strong>in</strong> module!If we remove all the <strong>NetBeans</strong> IDE'splug-<strong>in</strong> modules...© 2006 Sun Microsystems


...we get the <strong>NetBeans</strong> <strong>Platform</strong>!© 2006 Sun Microsystems• Application framework fordesktop applications.• Menus, toolbars,w<strong>in</strong>dow<strong>in</strong>g system, otherservices... out of the box!• “Rich-client applications”.• Saves (many) years ofdevelopment time.• Used everywhere...


SysUpTime: Network Management System© 2006 Sun Microsystems


Nokia NetAct: Mobile Network Manager© 2006 Sun Microsystems


Fiorano Studio: Lego Blocks for SOA© 2006 Sun Microsystems


Streamsim IDE: Oil Flow Model<strong>in</strong>g© 2006 Sun Microsystems


<strong>NetBeans</strong> IDE <strong>5.0</strong>: Java Development© 2006 Sun Microsystems


Summary: Why Plug-<strong>in</strong> Modules?Problem 1: “<strong>NetBeans</strong> IDE doesn't provideeveryth<strong>in</strong>g I need!”Solution: Create <strong>NetBeans</strong> Plug-<strong>in</strong> Modules and<strong>in</strong>stall them <strong>in</strong> the <strong>NetBeans</strong> IDE.Problem 2: “I want to develop a desktopapplication, quickly, smoothly, and withoutre<strong>in</strong>vent<strong>in</strong>g the wheel!”Solution: Create <strong>NetBeans</strong> Plug-<strong>in</strong> Modules and<strong>in</strong>stall them <strong>in</strong> the <strong>NetBeans</strong> <strong>Platform</strong>.© 2006 Sun Microsystems


What are our resources fordevelop<strong>in</strong>g plug-<strong>in</strong> modules?Before <strong>NetBeans</strong> IDE <strong>5.0</strong>: No specific support <strong>in</strong> the IDE's user <strong>in</strong>terface. No/little documentation. Mail<strong>in</strong>g lists.S<strong>in</strong>ce <strong>NetBeans</strong> IDE <strong>5.0</strong>: Wizards & templates for sett<strong>in</strong>g up projects. Wizards & templates for kickstart<strong>in</strong>g <strong>NetBeans</strong> APIs. Many other user <strong>in</strong>terface enhancements. Many samples. Many tutorials. Many mail<strong>in</strong>g lists.© 2006 Sun Microsystems


What's the development process?1) Create a plug-<strong>in</strong> module project2) Use (many) file templates3) Develop the plug-<strong>in</strong> moduleSource Editor<strong>NetBeans</strong> API JavadocTutorials4) Build, <strong>in</strong>stall, test, and debug5) Distribute!© 2006 Sun Microsystems


1) Create a Plug-<strong>in</strong> Module Project• Module Project> Provides the user <strong>in</strong>terface.• Library Wrapper Module Project> Puts a library JAR on a module's classpath.• Module Suite Project> Groups and deploys a set of <strong>in</strong>terdependent modulesand library wrappers.© 2006 Sun Microsystems


i. ii.iii.© 2006 Sun Microsystems


2) Create File Templates• Action wizard> Creates an action that can be <strong>in</strong>voked from a menu item,pop-up menu, toolbar button, or keyboard shortcut• W<strong>in</strong>dow Component wizard> Creates a new w<strong>in</strong>dow with an Open action <strong>in</strong>voked froma menu item© 2006 Sun Microsystems


2) Create File Templates (Cont'd)• File Type wizard> Lets the IDE recognize a new file type• Wizard wizard> Creates a new wizard for creat<strong>in</strong>g, for example, new files<strong>in</strong> the IDE• Project Template wizard> Adds a new template to the New Project wizard• J2SE Library Descriptor wizard> Adds a new class library to the Library Manager of theuser's IDE© 2006 Sun Microsystems


2) Create File Templates (Cont'd)• Options Panel wizard> Lets you extend the <strong>NetBeans</strong> Options w<strong>in</strong>dow• JavaHelp Help Set wizard> Creates all the annoy<strong>in</strong>g little files required by JavaHelphelp sets• Update Center wizard> Creates a plug-<strong>in</strong> module for register<strong>in</strong>g the URL to yourupdate center• Module Installer wizard> Creates and registers a file for <strong>in</strong>stall-time method calls© 2006 Sun Microsystems


3) Develop the Plug-<strong>in</strong> Module• Become familiar with the <strong>NetBeans</strong> APIs• Use the <strong>NetBeans</strong> Source Editor• Refer to the <strong>NetBeans</strong> API Javadoc© 2006 Sun Microsystems


3) Develop the Plug-<strong>in</strong> Module (Cnt'd)© 2006 Sun Microsystems


3) Develop the Plug-<strong>in</strong> Module (Cnt'd)• http://platform.netbeans.org/tutorials> Quick Start Guide> FAQ> Tutorials© 2006 Sun Microsystems


4) Build, Deploy, Test, and Debug• Build Project• Run Project• Debug Project• Create NBM File• Install Project• etc...© 2006 Sun Microsystems


NBM File: What is it? Why do I care?• <strong>NetBeans</strong> Module <strong>in</strong> b<strong>in</strong>ary file format.• Packaged for delivery via the web.• NBM files:> Are compressed> Can conta<strong>in</strong> multiple JARs> Conta<strong>in</strong>s metadata <strong>NetBeans</strong> uses to display <strong>in</strong>formation<strong>in</strong> the Update Center• (Secret: Just a ZIP file with a special extension!)• Are described <strong>in</strong> an XML file (autoupdate descriptor)© 2006 Sun Microsystems


5) Distribute the NBM File...© 2006 Sun Microsystems


...or, for rich-client applications,set a splash screen first...© 2006 Sun Microsystems


...as fancy as you want it to be!© 2006 Sun Microsystems


Then, create a ZIP file for your app...© 2006 Sun Microsystems


...or a JNLP application!• JNLP applications can bedelivered and started over theweb.• With one menu item <strong>in</strong> theIDE, you can package yourapplication as a JNLPapplication, for easydistribution to your end users.© 2006 Sun Microsystems


Show me! Demonstration...1.Create plug-<strong>in</strong> module project.2.Add and <strong>in</strong>stall a new menu item.3.Bundle JFugue API with the plug-<strong>in</strong> module.4.Call method <strong>in</strong> JFugue API, from menu item.5.Install <strong>in</strong> <strong>NetBeans</strong> <strong>Platform</strong>.Then: Look at <strong>NetBeans</strong> IDE's bundled samples.© 2006 Sun Microsystems


Summary• <strong>NetBeans</strong> IDE <strong>5.0</strong> offers comprehensive moduledevelopment support, both for build<strong>in</strong>g on top of the<strong>NetBeans</strong> <strong>Platform</strong> and for extend<strong>in</strong>g the IDE.> Brand new module project and file templates provide allthe basic files and code needed.> <strong>NetBeans</strong> API Javadoc, samples, tutorials, and mail<strong>in</strong>glists add to the total out-of-the-box experience.• Need Help?> dev@openide.netbeans.org© 2006 Sun Microsystems


Questions & Answers© 2006 Sun Microsystems

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!