Its been a while that Netbeans 6.1 has been released and I thought it would be a good time to update my previous comparison between Visual Studio 2008 and NetBeans 6.0. Netbeans 6.0 added major features and NetBeans 6.1 comparatively is a minor upgrade, but nonetheless added lots of new improvements. Visual Studio 2008 was also in beta at that time. In light of new improvements and changes, I thought it'd be good to have an updated comparison between the two IDEs.
We need to understand that each IDE has something better and makes the developer more productive. Also, please keep in mind that I'm not comparing .NET and Java here, but only 2 IDEs, so we discuss features that can be applied to both languages/platforms.
VS2008 uses languages services through which VS supports languages like Ruby, Python and F#. These are not out-of-the-box though and are difficult to add to the IDE. You even have to pay some bucks to get those languages integrated with VS and different vendors sell configured IDEs for those languages.
Netbeans on the other hand has an excellent plugin system and finding and installing new language support is simple and easy. The plugin manager shows available plugins that support the new languages and anyone can create/install these new plugins free of cost.
|Supported OS/Platforms||Windows, Linux, Unix, Solaris (SPARC, x86/x64), Mac OSX (Intel, PowerPC)||Windows and different versions of Windows||Netbeans 6.1 can be installed and run on a host of different platforms. It's open-source and it's Java. So, it generally means it can run anywhere with the JRE installed. VS2008 on the other hand is only targeted towards the windows developer.|
|Code Completion||Excellent code completion for a host of different languages and understands lot more language docs.||Fast code completion, but less options at a time. Need to use arrow keys.||Visual Studio 2008 has a snappier code completion compared to Netbeans 6.1. Code completion and hints speed has improved in 6.1, over previous versions, but still slower than VS2008. |
VS2008 requires using the arrows to scroll through different parameters of methods while Netbeans shows all at one go. Thus, learning through Netbeans is better for newer programmers, who want to find the best method.
|Source Code Editor||Editing code is simple and easy. Provides different events when you right-click on the component and code can be written for that specific event.||Editing is simple and easy. Switching between the designer and code screen is double-clicking the control||Source code editing is equally good in both. Netbeans 6.1 has a better feature where it can highlight a variable that used at different places. So you can easily identify the lines at which the variables are used when you are writing code. |
Refactoring code is slightly better in Netbeans and offers a lot more options compared to VS2008. Moving code is slightly better in Netbeans 6.1 than VS2008.
Visual Studio's code editing is lot more integrated across different types of projects. Netbeans still seems to be separate IDE for Java EE and Java SE or Java ME development. Like #region works on all projects for code folding, but Netbeans doesn't have such a common code folding (i.e. <editor-fold> doesn't work in all projects).
|GUI and RAD Tools||Netbeans Matisse, JSF Components, Database Application, Beans Binding, Excellent UML design tools, Mobile Designer, BPEL designer are some RAD tools not found in VS2008. |
Java ME GUI development is excellent. Excellent device management in Netbeans 6.1. SVG support helps create great looking scalable mobile applications. Useful common components from Netbeans for MIDP.
|WinForms, ASP Form designer are great. XAML visual designer, Database schema managers, VB-XML bindings, Vista UAC manager are some of the enhancements to the VS2008's RAD/GUI tools.||Both IDEs are probably the best GUI builders and RAD tools. VS2008 Team System Database Edition has excellent database-code integration tools. LINQ code generators are another excellent feature in VS, not found in Netbeans. Netbeans plans to add similar features in Netbeans 6.5 and it makes more sense to add these features, since MySQL is now part of Sun Microsystems. |
Visual Studio's VB designer was excellent and probably helped VB reach great popularity. Today Microsoft expects same with XAML designer which can import designs made in Microsoft Blend. Winforms and ASP forms are great as always, may be sometimes better than Netbeans. You can create the Ribbon UI of Office 2007 very easily using VS2008.
Netbeans until version 4 not much of a RAD tool, but today is probably the best RAD Java IDE out-of-the-box. JSF web app designer is great, maybe not be better than ASP forms, but its not behind as more JSF components are added. Swing Application Framework and Database applications are awesome and you can build amazing dB driven apps in minutes. Check out the video and you'll realize how?? Netbeans 6.1 features an even better Mobile Application Designer for JavaME (J2ME), which can design screens and play with SVG menus. Haven't seen a simpler mobile app designer ever, with nice flow designer. RAD tools are something netBeans 6.1 scores higher than most other IDE
Debugging AJAX scripts and AJAX components within ASP.net pages are excellent.
|Multicore compilation in VS2008 does improve performance by a good 25-30% over previous versions on C# apps. I wonder how much of multi-processors or multicore, the java compiler uses. Really couldn't compare compiler benchmarks since they are different languages. |
Visual Studio 2008 brings integrates web services hosting, which earlier had to be done separately by the users. netBeans has tomcat 6 and glassfish v2 integrated, so VS2008 comes on par with netBeans 6.1.
Netbeans 6.1 still takes about 30sec to start whereas VS2008 starts in 20sec. But for Netbeans it really depends on how many modules you've installed. I've seen Netbeans load within 20s with only the basic modules installed.
|Profiling||NetBeans 6.1 has a profiler integrated and a really good one too.||VS2008 improves load testing capabilities by providing a multiple machine graph view that brings together the test results, performance, and health of all the machines under test.||A new area in VS2008 is the ability to drive system performance tuning and diagnostics through the VS test tools. This enables developers to run profiling during tests. |
Profiler is great addition to Netbeans. While coding you can experiment and choose the best algorithms/implementations by checking memory, processes through the profiler. A load analyzer like Mercury's LoadRunner is a highly specialized 3rd-party tool, but people who want simple stuff should really be happy with the Netbeans profiler.
|Designing / UML||UML, BPEL, Flow Designers for Mobile apps and web apps.||Not much Designing tools, but Visual Studio 2008 Team System does have some improvements. Team System does have nice code tracking features.||Netbeans scores pretty high on this one. Although you can always use 3rd-party software, but its great to have it in the IDE itself. VS2008 is not much of a software designers tool, although the Visual Studio Team System is a great improvement. IBM's Rational is great, but then for the money-saver there's Netbeans UML tools. |
Code comparison and tracking isn't available in Netbeans. VS 2008's Code Metrics does an excellent job at analyzing code and reporting about code. Excellent stats can be found through Code Metrics
|CVS, Subversion and Mercurial are integrated in Netbeans 6.1.||Unit Testing tools have slightly improved, Source Control System is added to Team System||Unit Testing is excellent in Netbeans compared to VS2008. Ant tools are useful, but VS2008 creates scripts in Team System that can do nearly similar things. |
CVS, Subversion and Mercurial make Collaboration Tools in Netbeans better than VS2008. Clearcase is also available as a plugin for Netbeans.
|Installation Size & Price||Netbeans 6.1 has increased in size, but is very small compared to VS2008. Netbeans 6.1 available with different bundles. |
Netbeans can be downloaded free online or you can request a free DVD to be shipped.
|Visual Studio installation size is huge and so is the size for the setup program. |
It is also costly. But developers can try Express Editions free of cost to get the basic IDE.
|Not much here to say, but VS2008 has .Net Framework 3.5 integrated with it and is a requirement. Also SilverLight CLR is added. A lot of other required libraries for WPF and WCF, which makes it larger in size. |
After MySQL buy, we also have Netbeans 6.1 bundle available with MySQL. Netbeans 6.1 bundles are also available with JDK 6.
|Misc Specialities||Visual Studio 2008 has a something called "Visual Studio 2008 Shell". Its just like the Netbeans RCP or Eclipse platform. It allows developers to create their own IDEs based on the platform and we know how successful eclipse has been to do that. Read here for the discussion |
Netbeans 6.1 also has Ruby on Rails Template for making quick blogs. Netbeans 6.1 has derby as an integrated database (since JDK 6 provides derby out-of-the-box). It means you can have databases embedded within your application and no requirement for an external database server like SQL Server or MySQL. Netbeans 6.1 is ideally suited for creating Web services. Axis2 is supported for Web Services in Netbeans 6.1. Netbeans also allows faster creation of apps that make use of web services. Developers can simply drag and drop operations under those services into a POJO, Servlet, JSP or RESTful web service and the IDE will generate all the plumbing code to access those services.
VS 2008 does not include specific tools for editing WCF's XML configuration files. After Microsoft Blend import, web designs cannot be exported back to Blend.
The performance improvement in Netbeans 6.1 is a welcome change. Performance has improved as much as 40% in Netbeans 6.1 compared to Netbeans 6.0. Visual Studio on the other hand has slowed down over the years starting from VS.NET.
Both the IDEs still need to improve a lot more on RIA development with the focus slowly shifting towards a more desktop looking web. Expression Blend is moving pretty good for Microsoft and is an excellent tool for XAML/Silverlight designing. On the other hand, Netbeans isn't doing enough to support JavaFX Script yet. With all the talk about JavaFX at JavaOne 2008, we hope to see JavaFX come better in Netbeans 7!!