By dananourie on Sep 24, 2007
The IDE for All Developers
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'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:
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.
The Google Web Toolkit (GWT)
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.
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:
- NetBeans Day
- NetBeans IDE
- NetBeans IDE 6.0 Beta 1 Information
- ajax:Project jMaki
- Ajax Developer Tutorials
- Google Web Toolkit
- Mobility Pack
- Mobile Complete
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.