NetBeans Open Source Java IDE and More by msz78385

VIEWS: 22 PAGES: 33

									NetBeans:
Open Source Java IDE and More...




                               Roman Strobl
                       Technology Evangelist
                           Sun Microsystems
                      roman.strobl@sun.com
               http://blogs.sun.com/roumen
Agenda

 • What Is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Conclusion
 • Q&A


                           Aarhus 2007
What is NetBeans?

 1. An IDE (Integrated Development Environment)
   ●   Open source
 2. A platform for building applications
   ●   Reuse code from NetBeans
 3. A community
   ●   70M+ hits to netbeans.org per month
   ●   14M downloads (8M in last 2 years!)
   ●   500K+ subscribers to email lists



                                              Aarhus 2007
NetBeans IDE




               Aarhus 2007
NetBeans Platform - Example




                              Aarhus 2007
NetBeans IDE
 Key advantages:

     Works “out of the box”              FREE

     Easy to learn, intuitive
     Java SE, ME & EE tools

     Multi-platform, 100% Java IDE
     Multiple languages and frameworks
     Open source and supported

                                         Aarhus 2007
Update on Releases

 • NetBeans 5.5
   > First to support Java EE 5
   > New packs – SOA, Visual Web and C/C++
 • NetBeans 5.5.1
   > Minor, bugfix release
   > Supports Glassfish v2, JBoss 5
 • NetBeans 6.0
   >   New editor infrastructure
   >   Swing databinding + Swing application framework
   >   Scripting – Ruby, JRuby, PHP, JavaScript
   >   More (see http://wiki.netbeans.org)

                                                         Aarhus 2007
NetBeans
 Roadmap




           Aarhus 2007
News About License Of NetBeans!

 • NetBeans to be dual-licensed
   > CDDL (existing license)
   > GPL v2 with Classpath exception
 • Proposal announced last week
 • No change for existing users/contributors
 • Main benefits of GPL
   > Better adoption in Linux distros
   > Alignment with OpenJDK & OpenSolaris
 • Still being discussed


                                               Aarhus 2007
Agenda

 • What is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Conclusion
 • Q&A


                           Aarhus 2007
What Went Wrong With Swing?

 • Swing is a very powerful GUI toolkit
 • But this was your starting point:
   public static void main(String args[]) {
      // good luck!
   }




                                              Aarhus 2007
Introducing NetBeans GUI Builder


 •   Guidelines, baselines
 •   Component alignment
 •   Natural design experience
 •   Looks good on all platforms
 •   New in NetBeans 6:
     > Beans binding (JSR 295)
     > Swing application framework (JSR 296)
 • Can be used with NetBeans platform, too

                                               Aarhus 2007
DEMO
 NetBeans GUI Builder
Agenda

 • What Is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Conclusion
 • Q&A


                           Aarhus 2007
NetBeans Profiler

 • Started as a research project in Sun Labs
 • Provides:
   >   Application monitoring
   >   CPU profiling
   >   Memory profiling
   >   Heap walking (6.0)
   >   Load generation (6.0)
 • Allows to instrument specific parts of code
   > Everything else runs at full speed



                                                 Aarhus 2007
DEMO
 NetBeans Profiler
Agenda

 • What Is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Extending NetBeans
 • Conclusion
 • Q&A

                           Aarhus 2007
Example: J2EE 1.4 Web Service
 package endpoint;
                                                        <?xml version='1.0' encoding='UTF-8' ?>
                                                        <webservices xmlns='http://java.sun.com/xml/ns/j2ee'
                                                        version='1.1'>
 import java.rmi.*;                                       <webservice-description>
                                                            <webservice-description-name>
                                                             HelloService</webservice-description-name>
 public class HelloServiceImpl                              <wsdl-file>
                                                             WEB-INF/wsdl/HelloService.wsdl</wsdl-file>
                         implements HelloServiceSEI {       <jaxrpc-mapping-file>
                                                             WEB-INF/HelloService-mapping.xml
                                                             </jaxrpc-mapping-file>
                                                            <port-component xmlns:wsdl-port_ns='urn:HelloService/wsdl'>
       public String sayHello(String param)                   <port-component-name>HelloService</port-component-name>
             throws java.rmi.RemoteException {                <wsdl-port>wsdl-port_ns:HelloServiceSEIPort</wsdl-port>
                                                              <service-endpoint-interface>
             return “Hello “ + param;                          endpoint.HelloServiceSEI</service-endpoint-interface>
                                                              <service-impl-bean>
       }                                                        <servlet-link>WSServlet_HelloService</servlet-link>
                                                              </service-impl-bean>
 }                                                          </port-component>
                                                          </webservice-description>
                                                        </webservices>



                                                        <?xml version='1.0' encoding='UTF-8' ?>
 package endpoint;                                      <configuration
                                                            xmlns='http://java.sun.com/xml/ns/jax-rpc/ri/config'>
                                                          <service name='HelloService'
                                                              targetNamespace='urn:HelloService/wsdl'
 import java.rmi.*;                                           typeNamespace='urn:HelloService/types'
                                                              packageName='endpoint'>
                                                            <interface name='endpoint.HelloServiceSEI'
 public interface HelloServiceSEI                               servantName='endpoint.HelloServiceImpl'>
                                                            </interface>
                         extends java.rmi.Remote {        </service>
                                                        </configuration>
       public String sayHello(String param)
             throws java.rmi.RemoteException;
 }




                                                                                                     Aarhus 2007
Example: Java EE 5 Web Service

   package endpoint;

   import javax.jws.WebService;

   @WebService
   public class Hello {

       public String sayHello(String param) {
          return “Hello “ + param;
       }
   }




                                                Aarhus 2007
DEMO
 Java EE 5
Agenda

 • What Is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Extending NetBeans
 • Conclusion
 • Q&A

                           Aarhus 2007
Mobility Pack

 • One-step install including WTK
 • Support for:
     > CLDC/MIDP
     > CDC (Swing/AWT on mobile devices)
 •   Visual designer
 •   Device fragmentation solution
 •   E2E development
 •   SVG application development


                                           Aarhus 2007
DEMO
 Mobility Pack
Agenda

 • What Is NetBeans?
 • Feature Highlights
   >   Swing GUI Builder
   >   Profiler
   >   Java EE 5 Support
   >   Mobility
   >   JRuby
 • Extending NetBeans
 • Conclusion
 • Q&A

                           Aarhus 2007
Ruby
 • Why should I care about Ruby?




                 http://www.tiobe.com/tpci.htm

                                                 Aarhus 2007
Ruby on Rails
 • Why should I care about Ruby on Rails?




                                            Aarhus 2007
JRuby




        +       =
            +




                    Aarhus 2007
DEMO
 NetBeans & Ruby
More Free Features!
 •   UML designer
 •   SOA tooling incl. runtime
 •   Versioning systems (out of box CVS, Subversion)
 •   Visual JSF design
 •   Debugger (Java, SOA, Ruby, XML, Web ...)
 •   C/C++ and other languages
 •   XML schema tools
 •   16 refactorings
 •   JUnit 4 support
 •   JPA, EJB 3.0, JSF, Struts, plugins for web frameworks
                                                 Aarhus 2007
Our Tagline




    “NetBeans is the only IDE you need”




                                     Aarhus 2007
Conclusion

 • NetBeans is:
   > Open-source Java IDE (and more)
   > Swing-based rich client platform
   > Growing community of developers
 • Get NetBeans from http://netbeans.org/
 • Join NetBeans community!
 • Contribute to NetBeans!

                                            Aarhus 2007
Questions & Answers




           roman.strobl@sun.com


                                  Aarhus 2007
NetBeans:
Open Source Java IDE and More...




   Thank you!
                                Roman Strobl
                        Technology Evangelist
                            Sun Microsystems
                       roman.strobl@sun.com
                http://blogs.sun.com/roumen

								
To top