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?."
The UI is responsive and the controls are intuitive. Building web apps isn't too difficult either. So where is the love?
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.