Netbeans 4.1 Released
njcoder writes "Netbeans 4.1 was released a few days ago. Though it is only a short time since 4.0 was released and only a minor version number increase, the new Netbeans 4.1 contains a number of significant enhancements. New features include enhanced support for J2ME (mobile) projects, a new Navigator component, enhancements to the Ant based project system, ability to define multiple source roots, enhanced support for J2EE applications including EJB support for creating Session, Entity and Message Driven Beans, bundled J2EE application server, bundled Tomcat server upgraded to the 5.5 series, Web Services support, Eclipse project import tool, and more. The days of a slow and ugly Netbeans seem to be over. Using the new Metal look and feel in Java 5 brightens things up a bit as well. More information can be found in the release info and go here to download the new version. Java boutique has a review, with screenshots, of the new released titled IDE Wars: Has NetBeans 4.1 Eclipsed Eclipse?."
I haven't had any stability issues running Netbeans 3.6 up to 4.1 on windows using JDK's 1.4.2 and 1.5. Ever since 4.0 and jdk 1.5 came out performance was a lot better too.
Open Source Java DAO Generator
I'm a die hard NetBeans fan too. I'd be lost without it. I don't really have a problem with the use of Swing at all, and NetBeans looks nice when your using the native look'n'feel from the 1.5 JDK.
In principle SWT is faster the AWT or Swing, but not by a huge amount. The way an application is coded probably makes a far bigger difference to performance.
Swing apps are now directx/opengl accelerated which imho has made a pretty big difference, and done a fair bit to level the playing field.
I'm a little biased since i've been very impressed with Nb 4.0. Older versions were definitely slower than eclipse but 4.0 seems every bit as responsive.
You can see what's coming in the next version of Eclipse here:c lipse_project_plan_3_1_2005_02_14.html
http://www.eclipse.org/org/councils/PC/platform/e
The Web Tools Project is adding Eclipse support for HTML, CSS, JavaScript, XML, XSD, XSLT, SVG, SOAP, WSDL, UDDI, SQL, XQuery, etc:
http://www.eclipse.org/webtools/index.html
And keep in mind that Eclipse can currently run on an entirely Free Software platform using GCJ (with prebuilt RPM's included in Fedora Core 4!):
http://klomp.org/mark/gij_eclipse/setup.html
I use eclipse on Linux and Windows. I don't have the lost focus for a while problem on Linux, but it happens all the time on windows. I think it's because some or all of the JVM has been swapped to disk, but I haven't really looked into it.
Be Safe! Sleep with a Marine. Semper Fi!
Netbeans also has C/C++ modules. I don't know how the projects compare, but it's been there in Netbeans for quite a while.
"Oh, I hope he doesn't give us halyatchkies," said Heinrich.
It's too easy to blame IBM and its financial support. Clearly, there is a huge demand for an extensible, vendor-neutral IDE platform, a demand Eclipse immediately satisfied. There is also a huge demand for native widgets that Sun seems to have ignored or overlooked; the world is thirsting for good, cross-platform GUI toolkits, and for many people and companies, Swing has never been a real option. Sun has never seen the beam in their own eye that is Swing. Java GUI apps have never really taken off because of the real and perceived weaknesses of Swing, but with SWT and Eclipse we're seeing renewed interest in Java as a language for "real" GUI apps.
I'm in the SWT camp myself. I prefer to deal with native widgets in the IDE -- and Eclipse performs and looks very well on Windows (with non-Windows platform support catching up) -- and as an end user, Swing apps have always peeved me; for example, when I got an LCD monitor, no Swing apps could exploit ClearType, which all Windows apps -- Eclipse included -- do automatically by virtue of using a single font renderer. When you emulate something that is constantly evolving, you will always get an imperfect emulation; not to mention that satisfactory emulation of a whole OS -- because GUIs is more than just look and feel -- is nigh impossible; note, for example, how Windows XP themes don't work on Swing apps.
I also love the fact that I can develop native applications with Eclipse's RCP (Rich Client Platform) framework, and I can do it with ease unparallelled since the days of Borland Delphi.
Netbeans probably has an edge when it comes to J2EE support at the moment. Developing framework-specific tools -- J2EE, XML, etc. -- has always been secondary to delivering Eclipse proper. Eclipse has many rapidly-evolving subprojects covering plugins for J2EE, web standards, aspect-oriented programming, graphical modeling, performance/quality testing and so on.
While not all ready for production, the quality of these tools is often amazing; as significantly, a lot of thought is always put into making tools extensible and based on reusable frameworks. For example, the graphical modeling plugin is based on a generic graph-editing framework (the GEF) which can be reused in your own applications. Eclipse itself I find to be a momentous and beautiful engineering effort, based on solid, pragmatic OO design.
Why only compare NetBeans to Eclipse? IntelliJ IDEA has for a long time been the most innovative Java IDE (IMHO) and it's the only one I use. Many of the features I see in Eclipse now were in IDEA first. Whilst I have no problem with Eclipse, I like to (a) get those cool features first and (b) support the guys at JetBrains who continually come up with the goods.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
Netbeans does an approximation of this that catches some compilation issues, but not others. The nice thing is that it's more lazy approach can make it feel a little faster at times, though.
Also, the first Java IDEs to really do what you are talking about were Codeguide from Omnicore. Other IDEs have since eclipsed them on features, but their current product is still quite good!
Throw the bums out!
I use eclipse every day: it is slow. IBM was mistaken in thinking that SWT was a solution for performance issues in IDEs. I work with eclipse on a daily basis. I recently replaced 3.0.2 with 3.1M7. I've given up on the myeclipse J2EE plugins because these bring my system down to crawl. Netbeans offers similar features to the eclipse + myeclipse combo and is noticably faster on the same projects (basically the only thing eclipse does well IMHO is editing java code). By faster I mean that the dialogs are more responsive, I spend much less time waiting for the IDE to finish validating, manipulating large project trees in the project explorer is fast and responsive.
The rendering myth is bullshit both swt and swing use native, hardware accelerated routines to do the rendering. SWT uses native gui libraries to do this, swing uses java2d which in turn uses either directx or opengl depending on what os/vm combination you use. Rendering stuff on the screen is not an issue with either. SWT basically suffers from the same performance bottleneck as Swing: the event queue and rendering logic share the same thread. This means that lengthy event handling code blocks the UI. The solution is using a worker thread to off load lengthy operations. Using worker threads everywhere was the big improvement in netbeans 4.0 and is the reason why you are now seeing reports everywhere on netbeans outperforming eclipse. Good swing applications use worker threads. Many swing applications are coded by people who don't understand threading though. The same is true for swt. If you understand how to use threading you can build nice responsive UIs with both.
The eclipse UI blocks frequently. Opening/closing a large project tree is a good example. In netbeans there's no delay no matter how big your project is, in eclipse there is a noticable half second freeze even on small projects. Eclipse frequently freezes for a few seconds.
3.1 M7 is actually quite an improvement performance wise but they've not catched up with netbeans yet and will have to do much more to compete effectively. If you read the changelogs you'll see they are full of performance fixes. Apparently there are lots of performance issues to fix.
The reason I continue to use eclipse rather than netbeans is the Java editor. It is simply much better & smarter than the netbeans code editor (though slightly less responsive). I don't care for project wizards, I just want a smart code editor that helps me rapidly poor out code. Refactoring and code completions are where eclipse really shines. The debugger is nice too and quite handy if you install the right plugin for integrating with tomcat.
Jilles
I have used both NetBeans and Eclipse. NetBeans is by far the better Java editor. It's faster and more intutive. It's easier to use. It's easier to configure. It has better Java development features. The ONLY drawback, and yes it is a BIG drawback is the plugin support. If only a standard for plugins could be created and supported by both, I would be happy...
So if you like Netbeans more than Eclipse you should be happy to know that Netbeans is also a platform and you can get plugins for it. This is a neat tutorial on building an application using the Netbeans Platform
If you're working on projects of less than 50 files you can get the RefactorIT plugin for netbeans for free that will add a ton of refactoring support. There's also JRefactory which is open source but I haven't used it.
Open Source Java DAO Generator
Well, you haven't told us what platform you run on (Windows?). Under X11, Swing sucks horribly, and not just in terms of performace. The worst part of Swing is that it almost looks like a native toolkit, but it behaves wrong in so many ways.
There are decent cross platform toolkits. There are even decent cross platform toolkits that do their own rendering. Swing is not one of them.
Would anybody like to explain what exactly "Netbeans" is, in simple language for us "normal" developers?
So ignorant,its not even funny. This goes for plugins too. Netbeans, imho, has surpassed eclipse in capabilities. Download Netbeans and look at what you have, then download Eclipse and look at what you have. You'll find that Netbeans is way more feature rich. Also, even after you install your favorite eclipse plugins, Netbeans still usually has a few key features that eclipse just can't compete with. Most programmers at my job used to use Eclipse, most heard bad things about Netbeans from the older days when it was stagnant in development and slow. Since 4.0 (and even better with 4.1), alot of people have been changing to Netbeans, it just works and everything integrates wonderfully.
Regards,
Steve
Swing apps are now directx/opengl accelerated which imho has made a pretty big difference, and done a fair bit to level the playing field.
Not by default. The openGL renderer is a command line parameter on the 1.5 jvm.
Its a nice feature that was long overdue.
It can't really be turned on by default because if there is no hardware acceleration for OpenGL, the software renderer (mesa3D for example) is slower than just rendering through AWT.
"If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
-Dsun.java2d.opengl=true
option and that made it run slower under linux (I have a nvidia drivers and FX57000). Most speed imporovement came from optimizing the regular (non-opengl) graphics pipeline like adding the use of DGA, keeping some images (pixmaps) in the local display evironment and so on. Now under Linux with the software (regular) rendering, the graphics refresh cycle of my app is 10x faster than it is on windows. Never figured exacltly why, but suits me fine, my app is tied to linux for now anyway.
For those wanting to experiment with some of the graphics option in 5.0 here is the page.
You might also find this entry useful for future reference.