NetBeans Platform @ JavaOne
By Geertjan-Oracle on Sep 17, 2010
- Monday: 4:00PM (Rikard Thulin)
Session: Building Software with Rich Client Platforms (NetBeans RCP and Eclipse RCP)
This session will discuss the fundamental ideas and technologies behind the two leading Rich Client Platforms: NetBeans RCP and Eclipse RCP. Building a user interface that is nontrivial requires a lot of UI plumbing. Using an RCP enables you to focus on implementing real business value. Real-world experiences and conclusions will be presented as well. When this session is concluded, you'll know when to use an RCP and be able to select between the NetBeans RCP and Eclipse RCP based on your requirements.
- Monday: 9:30PM (Jaroslav Tulach)
BOF: Bridge the Gap Between Desktop Application Users and Developers
For Web developers, it's pretty easy to see users' problems and trace users' behavior. However, for desktop applications, it's nearly impossible. The goal of this session is to demonstrate how developers can interact with the users of their desktop applications. The session will show how to track a user's behavior and how to analyze the data about errors in Java SE applications. As a sample implementation, we'll present the Exception Reporter and Slowness Detector in cooperation with UI Gestures Collector. Finally, we'll cover the integration of these tools into any application built on the NetBeans Platform.
- Tuesday: 9:30AM (Jaroslav Tulach, Anton Epple)
Session: Swing OSGi Modular Desktop Application Framework
For more than 10 years, there's been a standard UI toolkit for desktop applications: Swing. And for almost as long, there's also been a modular extension on top of Swing: the NetBeans Platform. For years, OSGi could be used to easily build RCP applications, but not Swing based. However, the "standards lovers" among us need wait no longer: a NetBeans.org project offers a solution combining all the available standards. Java users have looked for this synergy for a while. This session is for anyone building Swing desktop applications, It will show how to assemble them from standard modular pieces and highlight NetBeans and OSGi synergy: Runtime (with a netigso back end), Develop with Ant, Develop with Maven, Runtime with Felix or Equinox.
- Tuesday: 11:30AM (Friends of the NetBeans Platform)
Panel: The Cutting Edge of Desktop Software: The NetBeans Platform in Practice
The NetBeans Platform is the world's only modular, Swing desktop application framework, with more than 10 years in production use. This session will include a panel discussion that will showcase applications built on the NetBeans Platform by organizations small and large. More importantly, it will feature a discussion of where the NetBeans Platform is today, where the developer community is taking it, and what effective participation in the NetBeans ecosystem looks like.
- Tuesday: 6:00PM (Jaroslav Tulach, Zoran Sevarac, Anton Epple)
BOF: Patterns for Modularity
Project Jigsaw, Spring, and module systems such as OSGi and the NetBeans Platform offer different approaches to managing complexity in software projects. These modular systems have also created new architectural patterns. It's time to revisit these patterns and discuss which ones are valid and which ones aren't. This session is designed for Java architects and advanced developers. In this session, we'll identify and compare existing patterns and provide some new ones. By attending, participants will learn about: A better understanding of modular architectures, A collection of patterns for modularity, Practical rules for identifying the right patterns for their projects.
- Tuesday: 6:00PM (Jiri Rechtacek, Geertjan Wielenga)
BOF: Creating Modular CRUD Desktop Applications
Desktop clients for database management typically need to access data and provide related logic, together with a friendly user interface. The Java Persistence API enables developers to manage the Create, Read, Update, and Delete (CRUD) cycle in Java. Instead of writing complete database management applications from scratch, programmers can benefit from the proven and tested features of the Rich Client Platform, which provides a modular architecture out of the box. This session is for architects and developers considering using rich-client platforms when designing CRUD applications, and will cover the pros and cons of using various Rich Client Platforms, obstacles that developers face, a comparison of approaches and frameworks.
- Tuesday: 8:15PM (Jiri Rechtacek, Geertjan Wielenga)
Hands on Lab: Quickly and Efficiently Build CRUD Applications with Rich Client Platform
As a Java desktop programmer, you can build applications on existing frameworks just like Web developers have done for years. You can benefit from proven and tested features of the NetBeans Platform. At the same time, the cross-platform burden disappears, together with the need to create common desktop features, such as a window system, over and over again for each of your applications. This hands-on lab will show how you can easily create CRUD (Create, Read, Update, and Delete) applications based on NetBeans. The session will cover four exercises: 1-Create a skeleton platform application 2-Access your database from the platform via Java Persistence API 3-Show data using advanced Swing components 4-Manipulate the data from application.
- Wednesday: 11:30AM (Fabrizio Giudici)
Session: Efficient Development of Large NetBeans Platform Applications with Maven
The NetBeans Platform is a component framework that fosters modular design and reuse. These qualities are related not only to the way you write code, but also to how you manage the software factory. The session will illustrate a few common techniques for the reuse of NetBeans Platform artifacts with the standard Ant-based build system and discuss why these approaches don't scale. Examples will demonstrate how to solve the problem with a smart use of Maven functions (POM inheritance, composition, dependency management) and we'll also mention how to take advantage of tools such as repository managers and CI systems. The session is based on the speaker's experience, being the author of a number of platform open source applications.
- Thursday: 12:30PM (Jaroslav Tulach, Rich Unger)
Session: Domain-Specific Language Versus Library API Shootout
You want to expose your technology to external developers. When is it appropriate to design your own language? When is it better to design an API and write a Java library? This is a shootout between Rich Unger, Force.com developer, and Jaroslav Tulach, NetBeans Platform API architect and author of "Practical API Design." The shootout will examine design problems that occur when exposing technology as a development platform and maintaining a system over time. Attendees will gain deeper understanding of how to expose their technology to external developers. They'll see the design benefits and pitfalls of using a DSL or API and be prepared to bring their own solution into the Java world, in a manner maximizing their users' productivity.
I'm sure I'll be at all of the above, so see you there!