The latest NetBeans Day took place in Athens Greece this weekend and I was lucky enough to be invited to attend (it was really warm and sunny with stunning views of the Mediterranean Sea as you asked). For two days, one of the conference rooms in an Athens Hotel was transformed into a den of NetBeans related activities. Attendees included a wide range of people including both students and local developers.
The first Day started with an Introduction to NetBeans, past, present and future from Geertjan Wielenga. We learn’t how NetBeans evolved, where it is now, and some possible future plans. A focus at all NetBeans days is practical hands on sessions and hints and tips, so Geertjan had several demos of NetBeans for developing Web and Java Applications, lots of hints and tips and links to related books and resources.
I talked about how NetBeans is highly configurable and how all options (even down to preferred code layout can be changed). I showed how the hints, plugin available, test features and code completion makes NetBeans an idea tool to write high quality, bug free code in Java. Because Netbeans is set up to work out of the box with sensible defaults, many people never realise how much functionality is available.
Vasilis Souvatzis gave his first talk on how he had used NetBeans and PrimeFaces to complete his University project (a website to allow users to purchase online courses). He showed how the PrimeFaces components fitted together, how the code worked under the hood, what he had learn’t from the project and what he would do differently next time.
After lunch, I did a NetBeans plugin 101 session, showing how easy it is to create, test and build plugins in NetBeans IDE. NetBeans is not just an IDE but also a platform and an SDK, allowing you to make use of all the features of the NetBeans platform to write plugin or even whole applications very quickly. I also did an overview of using JavaFX inside NetBeans applications.
Ioannis Kostaras gave a brief introduction to Agile and Scrum and showed how scrum features can naturally map onto NetBeans modules as part of an agile development process. He also showed a free tool called Featureous (which was originally written as a research project). He has updated this to run on the later versions of NetBeans. It allows existing code to be refactored into NetBeans Modules. The user adds an Annotation to indicate the feature and Featureous works out all the dependencies.
Emmanuel Hugonnet of RedHat showed his NetBeans plugin for controlling WildFly and OpenShift. He gave a demonstration on how these could be installed in NetBeans, appear as services and be easily configured and controlled from inside NetBeans.
Lastly, Geertjan showed us how he had integrated the music writing software LilyPond into NetBeans. So NetBeans can celebrate the anniversary of Java with a rendition of Happy Birthday.
Saturday consisted of a hands on lab session to convert a Swing application into NetBeans RCP modules. The attendees brought their own laptops and were guided into transforming an old Swing ToDo application into a NetBeans application.
Jaroslav Tulach was asked in his talk about using DukeScript to port applets. During the conference, he added some changes into DukeScript and showed the new version at the end running an applet with JavaFX under DukeScript….
The focus of all NetBeans Days is to be free, fun, informal, useful and sociable . There were lots of opportunities to socialise and chat, and in the evening, we went into Athens to see the Acropolis and sample the local cuisine. There were also opportunities to sample the sun, sea, sand and enjoy the local beverages (we cannot promise the warm weather for all NetBeans events).
There are NetBeans happening in different countries each month, so if Greece was too far for you, there will be lots of other opportunities to attend one of these free events closer to home. I am looking forward to NetBeans Day UK next month.
IDRsolutions develop a Java PDF library, a PDF forms to HTML5 converter, a PDF to HTML5 or SVG converter and a Java Image Library that doubles as an ImageIO replacement. On the blog our team post about anything interesting they learn about.