NetBeans Day

The IDE for All Developers

The Atmosphere

I was relieved that NetBeans Day didn't start until 1 PM here in Roma, as jet lag is catching up with me. Since I'm from California in the USA, I'm suffering through about a 9 hour time difference, enough that it's making me fairly lethargic. So, after a morning nap, I headed down stairs to discover over 100 people talking and sharing the end of the lunch that had been provided. I felt my enthusiasm rise through the fatigue.

The room we were in for NetBeans Day was big and about half full. It reminded me a lot of JavaOne conferences, without the crowds of thousands, and the loud incessant buzz of voices. Instead, this bunch was good sized, but quieter, and speaking to each other in Italian. Though I understand all of seven words or so in Italian, I love listening to the language and the emotional inflection in the speakers' voices. All the talks, except for one, however, were spoken in English, luckily for me.

The Improvements to the NetBeans IDE 6.0 Beta

Roman Strobl kicked off the talks with a welcome and an introduction to the NetBeans IDE. He then went into detail about the cool new features of the NetBeans 6.0 IDE Beta and how some of the features have improved, particularly the editor. The NetBeans editor has had code completion for sometime now, but it does a much better job of intelligently guessing what lines of code need to come next and giving you long lists of options you can choose from. With live templates and Surround With functionality, you can quickly enter commonly used blocks of code and focus on the business logic.

NetBeans 6.0 Beta 1 also supports more languages than before. Now, you can have support for C++, Ruby, JRuby, and Ruby on Rails, as well as support for Ajax and JavaServer Faces. If you used Java Studio Creator in the past, you now have an easy migration path in the NetBeans IDE. Web developers will also be glad to have the enhanced CSS support.

What has impressed me the most, and I think the feature that is drawing many more developers to the NetBeans IDE, is the Matisse GUI builder. This drag and drop ability has made GUI development so much easier and smoother. You can quickly set up a form that displays a database table and enables you to modify the database. Binding a database table to an existing form is as easy as dragging a table from the Runtime window onto a form. Developers who have written GUI and database code by hand will appreciate this functionality in a big way.

Desktop applications aren't the only type of programs to benefit from this GUI builder either. Web application developers and mobility developers can also enjoy pallets of components, all customizable, all which can be easily switched to a different look and feel. For web applications, you just add the Visual Web JavaServer Faces framework to your web project and leverage a comprehensive library of Ajax enabled JavaServer Faces components to build your application.

Profiling has also improved, and developers can now make use of profiling points, memory snapshots, a drilldown graph, a heap walker, and JMeter integration.

Creating Applications with jMaki in the NetBeans IDE 6.0 Beta

I was particularly impressed with Arun Gupta's talk on jMaki. As a Sun employee, I am familiar with this project, but Arun's talk really put this framework in perspective for me, and helped me to understand why this project is so advantageous to developers. jMaki is an Ajax framework that provides a lightweight model for creating JavaScript centric Ajax-enabled web applications using Java, Ruby, PHP, and Phobos. What this boils down to is that by using the jMaki plug in for the NetBeans IDE, you can use whatever preferred language you are used to programming in, and jMaki allows you to drag and drop widgets in your JSP pages, or Ruby on Rails, or your PHP, etc.

I've done some Ajax widget development in Dreamweaver in the past, but what I really like about jMaki is that I can do the same thing and much, much more in Java, or JRuby, or whatever language I want. I am eager to give jMaki a try myself. Arun's talk encouraged me to do a little web digging, and I found this page he and his coworkers have set up with a number of tutorials to get us started:

Ajax Developer Tutorials

All the talks today started with an introduction, then a demonstration of building a small application in NetBeans, followed by a demo of a more fully featured application. I found this format intensely helpful for my learning curve. I can't say that I'd be able to sit right down and repeat what the speakers did, but I'm excited about the potential and I'm eager to try out the jMaki plug in for NetBeans.

The demo that Arun showed us was an application that included three widgets that interacted with one another: a Google map, a drop-down menu, and a calendar, showing when and where Tech Day events were. So, when he clicked on a certain date in the calendar, the drop-down showed what Tech Day Event was taking place that month, and the Google map displayed the location. Each of these components are available in the jMaki pallet, and there are many more components you can drop into your application.

jMaki is for all developers in that it uses the server frameworks to accelerate and enhance the JavaScript experience by providing a way for you to use PHP, Java, or JavaScript on the server and have the correct data accessible to your jMaki widgets. jMaki doesn't prescribe a specific server data model, but can be integrated well with existing environments. In other words, jMaki has a single widget mode that wraps other APIs and provides a standardized way of representing, documenting, and tooling widgets. This makes it possible for you to pick and choose which widget is best for your needs.

The Google Web Toolkit (GWT)

The Google Web Toolkit is an open source Java software development framework that allows you to write your front end in the Java programming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML. I thought this was really cool plug in for Java developers, who are well versed in Swing applications and GUI development. A GUI Java developer doesn't have to learn JavaScript and HTML to create a web application, but instead only needs this plug in to convert his/her code into web pages. GWT also includes a variety of pre-built Java widgets and panels that serve as cross-browser building blocks for your application, and includes unique and powerful optimization facilities such as image bundles. Lastly, you can create your own custom widgets.

Mobility and Mobile Complete

The Mobility Pack now supports the project properties previously available only for CLDC/MIDP projects. These include project configuration support for device fragmentation, integrated obfuscation and optimization support, and multiple deployment options, all built on Apache Ant for easier coding and management. In addition, mobility pack also makes it's easier to create mobile games with the visual editing support for the MIDP 2.0 Game API. The API supports animated sprites and the ability to arrange tiled layers into scenes.

Visual designing in mobility has changed and improved much over the years, and like in the other areas of development, NetBeans provides the support for dragging and dropping components onto a form. In addition, NetBeans includes components for Flow Control.

Petr Suchomel talked about Mobile Complete, which started in 2003 after years of developing and deploying mobile applications on global networks. Mobile Complete realized that the diversity of handsets, operating systems, and networks had made developing and delivering mobile products unwieldy, expensive and yet unreliable. So, now you can use the company's services for handset/application testing, field testing, remote handset access, creating virtual developer labs, delivering try-before-you-buy experiences for handsets, applications, services, and delivering enhanced consumer education and support.

Mobile Complete created Direct-To-Device, which enables full over-the-Internet interaction with actual physical handsets connected to live networks from any location in real-time. It uses an electrical integration approach in which electrical connections are made to various input/output interfaces of live handsets. These electrical connections are then stimulated through software that is controllable over the Internet. This provides remote access to operate the handsets, press keys, tap touch-screens, view the LCD, listen to ringers and speakers and manipulate other inputs and outputs such as LEDs, vibrators, battery controls, power charger controls, flip/slide controls, and so forth.

Unfortunately, the demo didn't work as planned, but we were able to see how this system works nonetheless.

Tying Up

The next talk on blueMarine - Sailing on NetBeans Platform was going to be given in Italian by Fabrizio Giudici. Unable to understand Italian and needing to write my blog, refuel, and get some much needed rest, I ended my NetBeans Day experience here.

I must say that I was impressed with the speakers, their presentations, and the NetBeans IDE, and not because I'm a Sun employee. I have been to 7 JavaOne conferences, and though the content of the sessions is generally good, sometimes the speakers are not, and the crowds can be overwhelming. I found this NetBeans Day to be just as organized, equally packed with information, and less painful to deal with in terms of crowds, getting good seating, and sitting in comfort. And, wow, developers get all of this plus food for free!

I'm really looking forward to tomorrow's Tech Days sessions. Though I'm really a Java girl at heart, I am going to go to some Solaris and SysAdmin tracks as well. From my experience today, I expect I will learn a few things in these other fields which are mostly unfamiliar territory for me.

If any of the above was of interest to you, and you'd like to learn more, here are some resources you can follow:


I hope those of you who attended today found the talks as interesting as I did, and that you are eager to get working in NetBeans if you aren't already. Roman did a quick poll of the room to ask how many developers were using Eclipse. Almost half were. I'm curious if any of you Eclipse users were enticed into giving NetBeans a try after hearing these talks today, and I'm interested in your impressions of the talks themselves.

I regret having to miss the blueMarine talk. As a photographer, I will be checking out this open source software. Currently I use Adobe's LightRoom and Photoshop, so I'm eager to see how this open source application compares. And as a developer who has designed her own online portfolio, I am interested in discovering how I can enhance my website.

The bottom line in the talks today was that the NetBeans IDE is really for all developers, as it now has much support for other languages, providing code completion and more for Ruby, C++, PHP as well as the Java programming language. And, of course, the NetBeans IDE has vastly improved over the years, as has the Java platform in general.

I'm looking forward to tomorrow's talks, and I hope you are too.

For more information on Tech Days Events, see the Tech Days Events website.


Very good comprehensive report.

You can also build the jMaki demo showed at NetBeans Day following the instructions at: And the jMaki on Rails demo can built using:

Posted by Arun Gupta on September 24, 2007 at 06:22 AM PDT #

I saw the blueMarine presentation at Jazoon in Zurich. Men, you missed lot. I cannot imagine Fabrizio presenting in Italian language. That had to be amazing.

Posted by Lukas on September 25, 2007 at 11:07 PM PDT #

I'm sorry I had to miss bluemarine too. I'm glad to hear you thought it was amazing. I'm going to download the software and check it out. Sounds worthy of looking at.


Posted by Dana Nourie on September 25, 2007 at 11:23 PM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Read about what goes on at Tech Days, what kinds of technical information is covered, and how the hands-on labs work for attendees.


« July 2016