+
On
May 31st, I delivered a talk on the "Grand Unified IDE"'s newest. most
cherished version till date - Netbeans 6.1 at the Bangalore Open Java
User Group. BOJUG is one the most active java communities in India,
with 379 members at present. It has a mailing list for discussions,
troubleshooting java related problems, and news, tips, etc revolving
around the world of Java, and has monthly meets where Java Developers
from eminent companies in Bangalore show up to share their interest and
have a voice, companies like CISCO systems, Wipro, Infotech, etc. BOJUG
is sponsored by Sun Microsystems. The May monthly meet had been
scheduled after a long time (last one being way back in December), at
the India Engineering Center (IEC), Sun Microsystems, Bangalore in the
Himalaya Conference Room. It was sheer pleasure for me to be able to
attend this meet, as I am here, working at IEC as an intern at this
point of time. 15 other campus ambassadors are also during their summer
internship projects here.
The BOJUG meet had 3 sessions in total:
- NetBeans 6.1: New and Noteworthy (talk, demos)- Angad
Singh, 11 am
- xSocket - Client/Server apps over HTTP - Harish Singh,
12 am
- Test Driven Development (Demos) - Ranganath.S, 1 pm
My
talk was about the IDE that I love with all my heart, and swear by for
all my development work: Netbeans. The 6.1 release was more than just a
minor revision increment and I had been looking for an opportunity to
talk about it, and I got that at BOJUG. With 6.1, Netbeans enters
entirely new grounds: primarly the land of JavaScript and PHP
development. Honestly speaking, with these 2 additions there's just no
piece of software which atleast, I can't write in Netbeans (apart from
some obviously unsupported stuff ;)..
Netbeans
6.1 is not all about new language support though. It is primarily about
"performance" and "quality". Netbeans 6.1 has made a groudbreaking
performance
increase
in the IDE, with a whooping 40% faster cold startup time. There have
been various optimization in the I/O subsystem and file access, the all
new incremental parsing in it's java editor, speeding the code
completion magic, improvements in the JSP parser and thus the visual
web experience. Faster IDE, Lower memory usage, fixed memory leaks, and
a lot more!
The
Javascript support is
based on the
Generic
Scripting Framework
and provides features like semantic highlighting, quick fixes as you
type the code in the Tasklist window, documentation for the javascript
API, browser compatibility "awareness", and most of all automatic
heuristics-based type inference (something you don't
usually
get in any other javascript IDE). In the Javascript demo I did the
exact demo done in
Roumen's
screencast.
The new
PHP support
in Netbeans Early Access for PHP is as good as it can get. Project type
support, cool editor features like semantic highlighting, navigator,
automatic code completion, parameter hints, smart indent, etc. Not to
mention the ability to debug PHP applications with the IDE using
Xdebug, etc. In my PHP demo I ran the sample project, showing them how
easy it is to setup your project in the IDE, how to import the SQL
using the brand new in-built MySQL support and tell Netbeans to
automatically deploy the sources to your webserver's htdocs folder.
Neat! There were 2 more demo's I did: MySQL support and Sharable
Projects. Honestly, there was much more new stuff in there to show off,
but I had to adjust my talk to complete on time. I talked about the new
UI enhancements, RESTful web service plugin, Spring Framework support,
Rails 2.0, Mercurial support and other enhancements. Phew!
Harish presented their company's open source project
xSocket
which is an easy to use NIO-based library to build high performance,
scalable network applications. It supports writing client-side
applications as well as server-side applications in an intuitive way.
Issues like low level NIO selector programming, connection pool
management, connection timeout detection are encapsulated by xSocket.
A
few laptop-projector incompatibility woes apart, Ranganath's talk was
captivating. His talk was focused on the importance of test-driven
development in an agile development project. His talk was entirely
demo-based and he chose to not follow a slideset at all, as he wanted
to make the talk interactive instead of a one-way conversation, and he
did succeed at that. He explained that no matter how much we as
programmers tend to think that our code is perfect, we can never
foresee errors in our code without external help, and the best way to
do so is to write comprehensive tests which try to break or so to say,
"hack" the code by all means. So, with that done, whenever we add to or
modify the code, we just have to run the tests we wrote and we'll be
sure that it will work fine. He gave excellent examples to demonstrate
the capability of the unit testing concept and gave demo's of how
exactly it is done in Netbeans by writing JUnit tests.
At
the end of the meet, Ranganath organized a small coding event. He gave
us a case study to implement in Java. I won the contest and received a
"I Love Java Code" mug as first prize :D. Also got goodies for being
the first one to come to the meet.
A few words about BOJUG from its
wiki:
"The
purpose of this JUG is to provide a forum to share ideas, discuss and
to promote Java. Anybody with an interest in Java is encouraged to
join. We meet once a month. The meetings will include tech talks on
various topics related to Java. In addition to the meetings, we plan to
have code jams, workshops and bof sessions on a regular basis. Visit
the home here and the mailing list here. We are a group of Java
developers in Bangalore, engineers (to say the least) we hope to create
a thriving Java community in Bangalore. Java being open sourced is
easily one of the greatest piece of news in recent memory for us
developers. Now, Java will be adopted even more widely than it was.
Part of being open source means to build communities. Communities of
developers,users, experts and beginners, which are needed for the
greater adoption of Java. These communities are the life-line of any
open source product, and as users, it is our responsibility to
strengthen Java's life-line."
More about BOJUG: