|
|
AS OF 7/4/2008 8:25PM EST
|
NetBeans Sprouting New Features
Java IDE gaining support from all sides
By Alex Handy
May 1, 2007 —
When the first version of Xelfi found its way into the hands of Java developers, the IDE was an immediate hit. Originally designed to mimic Borland Softwares Delphi rapid application development environment, the project eventually grew to become known as NetBeans. And while Sun Microsystems may not have expected its 1999 acquisition to bloom into a worldwide development community, the company is now putting great force behind its flagship Java IDE.
With the release of NetBeans 4, the project began its transition from general-purpose IDE to open source enterprise-quality development environment. Tim Boudreau, senior staff engineer and evangelist for NetBeans, has been working on the IDE since its early days, and he marked version 4 as the turning point for the project.
He said that the changes in version 4 made it appealing to a lot of developers who said, I want my IDE to work with what Ive got, not do anything special.
Dan Roberts, director of developer and Web 2.0 marketing at Sun, agreed with Boudreau. Roberts has also been on the NetBeans project since its early days, and he said that version 4.0 was the first edition that placed NetBeans on the level of its competition.
That was where things started to go in the right direction. said Roberts. [Version] 4 wasnt as good as 5, and it wont be as good as 6, but its where we started getting our credibility back.
That credibility has allowed the NetBeans team to advance its environment to become one of the preeminent development platforms for any language. With the release of version 5.0 and 5.5, NetBeans has added dozens of time-saving tools, speed-inducing profilers and the Matisse GUI building system.
The secret to all this innovation, said Roberts, is the fact that the NetBeans team is willing to analyze the ideas that it finds in other projects, and to improve upon them.
Said Roberts: Interestingly, as NetBeans has evolved over the years, many of the features have been inspired by different tools. The visual Web pack was primarily inspired by what Microsoft was doing in its ability to rapidly build Web applications. We clearly believed they had an advantage in the Java space to build out Web applications quickly. Visual Studio has really tight integration with some of the other pieces in the system. For us, thats the most inspiring piece.
But when considered in the context of other Java IDEs, NetBeans has one distinct advantage, said Roberts. We can talk about innovation, all those other sub-areas, but its the out-of-the-box experience where you get one complete development environment that can cover ME, SE and EE Java development, said Roberts, pointing out what sets NetBeans apart. It was a core part of the NetBeans focus from day one since Tim and I were brought into Sun with the acquisition seven years ago.
NEVER A FULL ECLIPSE Boudreau and Roberts detailed the reasons behind NetBeans more structured and simpler approach to IDE design. If you had to think about the architecture of OpenOffice.org to write a document, that would be a bug. We want the user experience to be very simple. You get the mobility pack; you dont get the 8 million modules. You get a plug-in, you drop it in, and it works, said Boudreau, referring to the sometimes difficult nature of installing Eclipse add-ons.
Other Java IDEs are also on the NetBeans team radar. In particular, Boudreau and Roberts talked about JetBrains IntelliJ IDEA. Its limited by the fact that the JetBrains team is a small group, said Roberts. They cant leverage some of the things we have, like the Java teams in-house. We can mention the way in which Matisse actually got designed with the collaborations between the NetBeans team and the Java team.
Of course, because the NetBeans project is open source, Matisse has already been ported to the Eclipse platform. But thats just fine with Roberts. He said that the tool is so good for designing graphical user interfaces, his team is flattered to see it adopted by the competition.
But getting here was not that easy, said Boudreau. Now that Java SE 6 has arrived, NetBeans is receiving another visual makeover, though its one that required little change to the underlying code. Back in the days of version 3.6, said Boudreau, changes in the way NetBeans looked had to be done by hand, within the IDE. When he rewrote the windowing system for version 3.6, Boudreau said the task was like changing the carburetor on a car while its running down the street without stopping.
At the same time, the NetBeans team was reworking its build and change systems to run on top of ANT, a move that they said made all the difference down the road. Boudreau said that, in the NetBeans user community, there was talk from some folks in Texas telling me about how they have to mail each other Eclipse project files via e-mail when things change. Im really glad our change system is built on ANT.
And those integrations with popular tools didnt end with ANT. Said Boudreau: If I want to create a new Maven project, it has full integration with Maven. If I download a Maven project from the Web, I can just open it the same way we integrate with ANT for building. If I want to search for a particular file out there, [in the Maven repository] I can.
There had been a general issue with [keeping track of] libraries, which is the problem which Maven solves nicely, said Boudreau. Were not going to reinvent Maven. But were making it a little bit nicer for people who have a project thats shared and they might have a library on their drive somewhere.
Integrations with SCM systems are also a major priority with the NetBeans team. Roberts said that the external groups are constantly building plug-ins for their repositories, and that the NetBeans team has an opportunity to build many new integrations themselves. The end of the version control opportunity is never really there. There are so many SCMs. Subversion and CVS [are] a core part of NetBeans [and] have been for some time. As you get into the myriad versions of commercial ones, one of the exciting things about the market share gains NetBeans has had is a lot of those projects are building in support themselves. Were not building from scratch like we were two years ago. Now weve got the Subversion team working with us directly.
SIXTH TIMES A CHARM All of this work has led up to the forthcoming NetBeans 6.0 release. Roberts said that the new version should be unveiled at JavaOne this summer, but he added that the final version wont be ready until the fall.
Among the new features and changes in NetBeans 6, the most prominent is the expansion of the IDE to include many other languages. That means developers will be able to code Ruby, Python, C, C++ and Java in NetBeans. The team is also adding facilities to make it easier for third-party developers to add support for other languages to the IDE. These facilities include methods for describing white space needs, indentation, color-coded code and syntax highlighting.
Were going very much after the scripting market, said Roberts. New developers are coming out of college and high school even. These folks are learning scripting languages as their first languages. Its important to get to them early.
But the popularity of scripting languages isnt the only benefit to NetBeans adding support to its platform. The new efforts at Sun to implement many scripting languages in Java adds new worlds of possibilities to scripted applications.
We hired the JRuby guys, said Roberts. The thing thats cool about JRuby is that there are all these Java libraries out there you can now access in Ruby. Like a library for diffing lists. If I were writing something in Ruby, thats handy to do, [but] do I really want to rewrite that in Ruby? Im sure Rails advocates might disagree with me. The way I see it is the stuff where if it goes wrong, the airplane crashesId want to write that in a strongly typed language. The other stuff, like snippets of HTML, the froth on top of the back end, where its something thats going to change rapidlythats something you want a scripting language for. Whats the right tool for the job in these common tasks? Five or seven years ago, when the Web was young, nobody knew what the things you needed to do repeatedly were. Were finally maturing in terms of what tools are appropriate for what things.
But while the move to support scripting languages and other mainstream languages in the IDE is a major shift for the NetBeans team, its not the most powerful change for version 6.0.
That title falls to the newly rewritten core editor. The other major piece is a complete overhaul of the core editor itself, said Roberts. You have the ability to use a completely new editor. For NetBeans, the editor has been something of a work-in-progress for some time. This is really where we believe well be moving past IntelliJ and Eclipse.
Its still evolving, of course. Not all of the refactorings are implemented over the Java infrastructure yet. We will have the full suite of refactorings when 6.0 comes out in the fall. This was a collaboration between the NetBeans team and the Java team.
Those should help to narrow the gap between NetBeans and its competition. Roberts said that the combination of new refactorings and a faster core editor should make NetBeans the top dog. But its the support for the improvements in Java SE 6 that will help to make NetBeans stand out, said Roberts.
Boudreau used a sample application to demonstrate the power of the new profiling features in NetBeans. I created the generic code-name generator. When I first pasted the text into the generator, the whole application froze for a second. Thats a place Id like to profile. The first thing you notice is that were starting up and the window is still not on the screen. Its slowing down the whole virtual machine, said Boudreau, showing off the application.
Traditional profiling has two problems, said Boudreau. One, it slows everything down. Two, it doesnt give you the information youre actually after. Generally, you dont want to profile the whole applicationonly one part. NetBeans Profiler can specify a single method to check. You can save the snapshot. You can do optimizations and compare the snapshots.
As if optimizing applications were not enough, Boudreau went on to demonstrate more features of NetBeans 6.0. One of those is the ability to rapidly generate and test a Web service. Boudreau demonstrated how to do this using his code-name generator application again. You take the code that analyzes text and generate a Java EE application. It auto-generates a new application thats built with ANT. We can add a session bean. And it automatically generates a page for testing Web services.
That automatically generated test page included the text box for inputting seed text, and automatically output the code name generated. Boudreau then took the same program through NetBeans automatic Java ME generation facilities. Here, he demonstrated the ability to automatically create the various screens of information needed in a mobile Java application.
PART OF SOLARIS STRATEGY Roberts also sees NetBeans as a key component of the new Solaris strategy at Sun.
Unix workstations, as a market, has really gone away, said Roberts. We still have a really good business around workstations and Sun Ray. It used to be, when you walked into a scientists office, there was a Solaris workstation there. Thats what computer scientists did. Thats changed because the way in which we used computers changed. Look at the way in which the professional workstation became the primary interface for the second world you live in. That change that has occurred, the sociological impact has created pressure for a single type system. [It created] a natural monopoly and the consumer culture [that] Microsoft was able to capture. [It] drove all that innovation through one interface type.
Roberts said that the need for MP3 players, movie players, support for desktop tasks and PowerPoint all contributed to the decline of the workstation. But that may change soon, said Roberts, as Sun refocuses its Solaris efforts to include a new distribution aimed directly at developers. Solaris Express, Developer Edition, is an all-in-one development workstation-targeted operating system. Of course, it has all those other things developers need to get work done, such as music players and e-mail programs, but it also includes a full working version of NetBeans that is installed by default.
With so many new features arriving on the NetBeans platform this fall, its hard to ignore the simplicity and time savings offered by the IDE. And with support for Java SE 6 bringing speed, optimizations and a faster JVM to NetBeans, it looks like the sprouts of Xelfi are finally growing into trees.


|