NetBeans: Universal Tool for Java Development and More Roman Štrobl Technology Evangelist roman.strobl@sun.com http://blogs.sun.com/roumen
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
What Is NetBeans? 1. IDE - Integrated Development Environment
T-Shirt Question... NetBeans is more than just an IDE. Question: What else is NetBeans?
What Is NetBeans? 2. Swing-based Platform
What Is NetBeans? 3. Growing Open Source Community
NetBeans Not Only Java Position 1 2 3 4 5 6 7 8 9 10 Language Java C C++ (Visual) Basic PHP Perl C# Python JavaScript Ruby Percentage 19.16% 15.80% 10.40% 9.10% 7.90% 6.20% 3.52% 3.50% 2.80% 2.50% Trend = = = + -= = = + 11x + Support in NetBeans Yes Yes Yes No :) Next version No No :) Jython Plug-in Next version Source: http://www.tiobe.com/tpci.htm
Project Plethora Where does this project come from?
T-Shirt Question... Where did I get this photo?
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
New Features in NetBeans 5.5 (1) Full support for Java EE 5 EJB 3.0 JAX-WS 2.0 Java Persistence API JavaServer Faces 1.2 Blueprints Works out of the box > Tomcat bundled by default > Glassfish bundle > JBoss bundle > > > > >
New Features in NetBeans 5.5 (2) Add-on packs: > > > > > Mobility Pack CDC, CLDC Profiler solves performance issues Enterprise PackNEW! SOA tools C/C++ PackNEW! native development Visual Web PackNEW! visual JSF Improvements in GUI Builder Subversion support More plug-in dev. wizards
T-Shirt Question... How many downloads does NetBeans have?
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
Developer Productivity Java is a great language and platform But it is not always productive enough Two examples: > Development with J2EE 1.4 > Building GUIs with Swing Good news: > The platform is improving > The tools are improving, too
Example: J2EE 1.4 Web Service package endpoint; import java.rmi.*; public class HelloServiceImpl implements HelloServiceSEI { public String sayhello(string param) throws java.rmi.remoteexception { return Hello + param; } } package endpoint; import java.rmi.*; public interface HelloServiceSEI extends java.rmi.remote { public String sayhello(string param) <?xml version='1.0' encoding='utf-8'?> <webservices xmlns='http://java.sun.com/xml/ns/j2ee' version='1.1'> <webservice-description> <webservice-description-name> HelloService</webservice-description-name> <wsdl-file> WEB-INF/wsdl/HelloService.wsdl</wsdl-file> <jaxrpc-mapping-file> WEB-INF/HelloService-mapping.xml </jaxrpc-mapping-file> <port-component xmlns:wsdl-port_ns='urn:helloservice/wsdl'> <port-component-name>helloservice</port-component-name> <wsdl-port>wsdl-port_ns:helloserviceseiport</wsdl-port> <service-endpoint-interface> 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'?> <configuration xmlns='http://java.sun.com/xml/ns/jax-rpc/ri/config'> <service name='helloservice' targetnamespace='urn:helloservice/wsdl' typenamespace='urn:helloservice/types' packagename='endpoint'> <interface name='endpoint.helloservicesei' servantname='endpoint.helloserviceimpl'> </interface> </service> </configuration> throws java.rmi.remoteexception; } NetBeans in Wroclaw
Example: Java EE 5 Web Service package endpoint; import javax.jws.webservice; @WebService public class Hello { public String sayhello(string param) { return Hello + param; } } NetBeans in Wroclaw
Swing Example Question: What's wrong with this GUI?
Swing Example: Solution Little details matter!
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
Demo: JAX-WS 2.0 Service Backend with a Web Service interface > A simple calculator Three clients: 1. Web client 2. Mobile client 3. Swing client
Demo: Visual Web Pack Backend with a Web Service interface > A simple calculator DONE Three clients: 1. Web client 2. Mobile client 3. Swing client
Demo: Mobility Pack Backend with a Web Service interface > A simple calculator DONE Three clients: 1. Web client DONE 2. Mobile client 3. Swing client
Demo: NetBeans GUI Builder Backend with a Web Service interface > A simple calculator DONE Three clients: 1. Web client DONE 2. Mobile client DONE 3. Swing client
Demo: Summary Backend with a Web Service interface > A simple calculator DONE Three clients: 1. Web client DONE 2. Mobile client DONE 3. Swing client DONE NetBeans: a universal end-to-end tool
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
Future of NetBeans NetBeans 5.5.1 April > Support for Sun AS 9.1 = Glassfish v.2 > SOA updates NetBeans 6 preview in May > Milestone 6 available now > Complete redesign of editor > Databinding for Swing > Scripting support (Ruby, PHP) > More frameworks & application servers
DEMO Swing Databinding
Agenda What is NetBeans? New features in NetBeans 5.5 Developer productivity Demos of NetBeans 5.5 What's coming next? Conclusion
Conclusion NetBeans is: > A Java IDE (and more) > A Swing-based platform > A growing open source community It is open source and free! NetBeans can make you more productive Get NetBeans from http://netbeans.org/
Questions & Answers
Thank You! Roman Štrobl Technology Evangelist roman.strobl@sun.com http://blogs.sun.com/roumen