Rich Unger is currently on the NetBeans Governance Board and has been a contributor to NetBeans for several years. He was honored at this year’s NetBeans Software Day for his valuable contribution to the NetBeans platform.
In this interview Rich talks about NetBeans 5.0, NetBeans Profiler and the changing Java IDE market. He shares his views on plugin development for the NetBeans platform and on Eclipse. He also elaborates on why he thinks the field is wide open for client frameworks for desktop java apps and how it could come down to Swing vs SWT.
IndicThreads >> Hi Rich. Could you please introduce yourself?
Rich Unger >> Hi there! I’m a developer on the V-Builder team at Nuance Communications. Nuance is in the business of network-based speech recognition. For example, when you call American Airlines, and the machine on the other end says What is your destination city? and you can speak the name of any city they fly to, you’re talking to our technology.
V-Builder is our development tool for creating these types of speech applications. It allows you to model graphically conversations between humans and computers, and generate VoiceXML to implement the call flow. It is implemented on top of the NetBeans platform, and you can see a screenshot at http://platform.netbeans.org
IndicThreads >> NetBeans IDE recently jumped from version 4.1 to 5.0. So what’s special about 5.0 that warranted the jump?
Rich Unger >> Well, from my perspective, the completely revamped support for module development alone is worthy of a major version number increment. I’ve been writing modules on top of the platform since NetBeans 3.3, and it’s never been particularly easy until now. It was always a lot of hacked up build scripts, difficult to test, difficult to debug, and difficult to deploy.
“The completely revamped support for NetBeans module development, alone is worthy of a major version number increment…”
|Rich Unger accepting his award from James Gosling|
Up until 4.0, I actually preferred Eclipse for developing NetBeans modules. In 4.0, the NetBeans IDE finally became better for developing NetBeans platform modules. But, even then, it was not nearly as easy as it should have been. I packaged up a modified version of the netbeans.org build files (which are quite complex), and called it the ‘cluster build harness’. This allowed folks to build applications on the platform (like V-Builder), but it was not officially supported.
In 5.0, Jesse Glick et. al. took the idea of the cluster build harness, and reworked it so it could have first-class support in the IDE. Then they just kept adding features and wizards until creating, debugging, testing, branding, and shipping modules could all be done in a ridiculously simple fashion.
“Matisse GUI builder works the way you always thought GUI builders should…”
Other than the module development support, major new features in 5.0 include:
- Matisse: The dead-simple GUI builder that really works the way you always thought GUI builders should.
- New CVS Support: A completely revamped approach to the source control UI. I’m told that a subversion version of this will be alpha or beta when 5.0 is released. I’m hoping for ClearCase, myself, though no word on that yet. For now, I’m stuck with the old source control module.
- JSF and Struts Support
- Developer collaboration modules: I haven’t tried these out yet, but the demos I’ve seen are very encouraging. There’s a guy on my team who lives in Hawaii, and this ought to make codewalks much easier.
- JFluid Profiler: I’d have to put this as a close second to module development support in my personal list. A long time ago, debuggers were things that were hard to configure, and so there was this hurdle you had to overcome in the severity of a bug before you went through the effort of using a debugger. I think that’s where profiling is now, and I think the JFluid profiler will knock down such barriers. We won’t think twice about profiling our applications. It will be as natural as debugging, and a whole new class of software errors will become a whole lot easier to address.
IndicThreads >> Do you think that NetBeans’ J2EE development capabilities can today match the features of any other IDE in the market?
Rich Unger >> There’s really two camps in the J2EE world these days. If you’re the type of developer who uses EJB’s, and must use JSR-blessed libraries (JSF over Tapestry, for example), then you’ll be a lot happier with NetBeans. Also, their web services support is second to none. They’ve got a built-in Tomcat and Derby DB that let you get up and running extremely quickly. The HTTP Monitor window helps you figure out exactly what’s going on in your app.
“If you must use JSR blessed libraries, you’ll be a lot happier with NetBeans…”
NetBeans is less strong when it comes to supporting some of the more popular OSS libraries out there. It’s got nothing like Spindle (an Eclipse plugin) for Tapestry. I think the Hibernate support is currently a bit better with the appropriate Eclipse plugins. Spring is so simple that I think it doesn’t matter which IDE you use. Just having decent XML syntax completion should be adequate.
“NetBeans is less strong when it comes to supporting some of the more popular OSS libraries…”
|Rich moonlights as a dancer in a swing dance performance troupe|
This is certainly something they’re addressing in NetBeans, though. They’ve finally added nice Struts support. Also, the module-writing support includes some fantastic wizards that make writing something like a Hibernate plugin pretty simple, so I think we’ll be seeing those kinds of modules in the near future.
IndicThreads >> NetBeans Profiler is a recent development that NetBeans seems to be pushing in a big way. In what state is the Profiler today and will the Profiler stay an independent product or will it become a part of NetBeans at a later state?
Rich Unger >> I think the main reason it’s a separate product right now is that it requires JDK 5.0, and the core NetBeans project must remain 1.4-compliant. I’ve asked on the mailing list why the profiler isn’t just a module on the Update Center, and the answer was something like, I don’t know. Probably it will be soon.
“NetBeans Profiler is fantastic technology…”
The profiler is fantastic technology. You can profile pieces of your application, thereby reducing the performance impact. For example, if you’re working on a J2EE app, you don’t have to profile the whole app server, just your own code. They’re finally hitting the point where it’s no longer a question of should I profile my app? It’s just too easy not to.
“It’s no longer a question of should I profile my app? It’s just too easy not to…”
The one downside is that it required changes to the JRE. Most of those changes made it into JDK 5.0 update 4. However, we have to wait for Mustang before we can attach to a running application (the way we already can with the debugger).
IndicThreads >> BEA, Borland, Nokia and to some extend Oracle have all got involved in Eclipse. However Sun Java Studio Creator is perhaps the only major product built over NetBeans. Why isn’t the NetBeans platform more popular?
Rich Unger >> I guess it depends on your perspective, but I’d consider V-Builder a major product 🙂
It’s important to notice that BEA, Borland, and Nokia are all working on features to help IDE catch up to NetBeans in the web and mobile space. Now, I’m not knocking Eclipse. NetBeans certainly has been playing their own share of catch-up. They just tend to do it themselves, rather than enlisting partners to work with them.
“Most desktop java apps are still built without using a client-side framework at all. The field is still wide open…”
I don’t think this has much to do with the platform, however. To me, the success of the Eclipse RCP and the NetBeans Platform can be measured by how many apps are written on top of them that are not IDEs. It looks to me like most desktop java apps are still built without using a client-side framework at all. The field is still wide open.
“I think it will come down to Swing vs. SWT…”
In the end, assuming people buy into the argument that such a platform is indeed helpful, then I think it will come down to Swing vs. SWT, and the libraries that are available for doing things like data binding, graphing, visualization, charting, etc.
IndicThreads >> Despite NetBeans being the early bird, Eclipse today seems to have got the worm. Do you see things changing in the near future?
Rich Unger >> The worm that I think Eclipse does have is the community of IDE plugin developers, which, as I said, is distinct from the platform market. Eclipse has a wide lead in IDE plugins because their IDE was better (let’s face it, it was), and because their tools for writing plugins were better. I think NetBeans has caught up on both counts. More and more I hear people interested in writing IDE plugins that will work on both Eclipse and NetBeans. That’s a good indication that NetBeans has finally found a broader audience. IDE market share will drive the plugin community, not the other way around.
“Eclipse has a wide lead in IDE plugins because their IDE and their tools for writing plugins were better…”
Rich at Oracle OpenWorld 05
As an aside, I think the goal of writing a plugin once for both platforms is a laudable goal, but for all kinds of technical and architectural reasons, won’t be fully realized.
“Writing a plugin once for both platforms (NetBeans and Eclipse) is a laudable goal that won’t be fully realized…”
IndicThreads >> You perhaps would be pretty fed up of providing a NetBeans vs Eclipse comparison. So instead of giving a comparison could you tell us when one should go with NetBeans and when Eclipse might be a better choice?
Rich Unger >> That sounds an awful lot like asking me to provide a comparison 🙂
The great thing about both is that they’re free! And, they’re both pretty easy to get up and running with your current codebase. So, try them both out. Maybe you’ll end up keeping them both and using them for different tasks. I did that for a while. These days, I’m totally on NetBeans (and gvim), but that’s not true of everyone on my team. The Hawaiian guy is an Eclipse aficionado, and he continues developing NetBeans modules with it. Personally, I think when he tries out the new collaboration modules, he’ll use NetBeans more.
“People will always be asking for Eclipse vs NetBeans comparisons because both keep leapfrogging each other…”
People will always be asking for such comparisons, because Eclipse and NetBeans keep leapfrogging each other. Eclipse is working on a Visual Editor to compete with Matisse, and the Nokia guys are working on matching the feature set of the Mobility Pack. The NetBeans guys are continually adding new refactorings and tweaking the usability of the editor, both areas where Eclipse has historically had higher marks.
IndicThreads >> Considering the wide range of features of NetBeans and Eclipse and also that JDeveloper recently became free, do you think the days of the commercial Java IDE are over / numbered?
Rich Unger >> I think Borland’s days in the IDE space are numbered. I don’t think enough people are going to see the value in their Eclipse plugins. I feel the same way about Sun’s Enterpise Java Studio. It’s basically NetBeans with a UML modeler. Ho hum.
“Borland’s days in the IDE space are numbered…”
“Sun’s Enterpise Java Studio is basically NetBeans with a UML modeler…”
On stage in front of thousands of DBAs
The IDEA folks, though, have got it together. They’re not targeting the whole Java developer community. They’re creating a product that’s extremely compelling to a much smaller slice of the market, and creating a lot of loyalty around that. That’s something you can charge for. So long as they can stay ahead of Eclipse and NetBeans in the few areas where they really shine, and thereby capture a consistent (if small) market share, I think they can still have a profitable concern.
IndicThreads >> NetBeans is integrated with Sun’s Application Server however which other servers can one easily work with through NetBeans?
Rich Unger >> Well, Tomcat is built in. JBoss and WebLogic integrations are finished now, and supposedly Websphere is on the way.
“NetBeans is integrated with Tomcat, JBoss, WebLogic and Sun’s Application Server. WebSphere is on the way… “
IndicThreads >> Thanks Rich for your time and all the info about NetBeans and the Java IDE market.
My pleasure. Good luck with IndicThreads.
IndicThreads >> Readers can keep up with Rich through his blog at http://weblogs.java.net/blog/richunger/
>> NetBeans moving fast, could soon threaten Eclipse’s leader position
>> Eclipse vs NetBeans
>> NetBeans is a long way from dead!
>> When to buy an IDE? When to stick with Eclipse / NetBeans?
>> Is Sun taking the Microsoft way to capturing the Java IDE market?