Eclipse vs NetBeans – Which Is The Better IDE For Android App Development?

By | January 22, 2015
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Eclipse is the go-to Java IDE for most coders working on Android applications. However, there are two other perfectly good alternatives to Eclipse available as well – NetBeans and Intellij Idea. We have here done a comparison study between Eclipse and NetBeans.

 

Most comparative analyses regarding the integrated development environments (IDEs) for Android developers revolve around Eclipse and Intellij. With 48% and close to 34% adoption rates respectively, these two are indeed the most popular IDEs for coding in the Java framework. However, NetBeans – yet another IDE – has its own set of fans, and in terms of popularity, it comes in at a respectable third (a shade over 10% adoption rate). Let us here do an Eclipse vs NetBeans comparison, and find out whether the former is indeed well and truly better than the latter:

 

  1. Downloading and installation – The NetBeans tool is available for free download from netbeans.org, and it has to be separately installed. The installation wizard is fairly simple though. On the other hand, Android app developers do not need to follow an installation procedure for Eclipse (also free) at all. After downloading it, the files can be directly copied and run.
  2. Swing vs SWT – NetBeans allows coders to work with its standard UI toolkit, named Swing. The toolkit facilitates seamless integration of Android applications developed with this IDE. Swing is also supported by tools like Jemmy, as well as a wide range of third-party code libraries. On the other hand, the Eclipse environment requires programming with the SWT toolkit. The number of external libraries supporting SWT is a lot lesser, and it does not offer similar customization options either. This round would go to NetBeans!
  3. Number of available plugins – While creating an Android app with Eclipse SDK, developers can access well over 2 million plugins. This is, arguably, the biggest reason, behind the overwhelming popularity that this Java IDE enjoys. On NetBeans, the total number of plugins available is around a measly 650 – which hampers its user-friendliness.
  4. The speed factor – Professional software and mobile app development experts love IDEs that allow high coding speeds – and Eclipse aces in this regard. The latest version of the IDE, Eclipse Luna, has significantly faster windowing, compilation and general coding speeds than NetBeans 8.0. Later this year, Eclipse Mars would be released – and it is expected to be even faster. However, this speed advantage of Eclipse can disappear if add-ons like PMD Plugins are installed.
  5. Database Support features – Both Eclipse and NetBeans are compatible with any database that comes with a built-in JDBC driver. However, Eclipse does not support Postgre SQL, something that NetBeans does. Also, as most Android app developers confirm, creation and modification of tables are simpler on the Database Explorer of Netbeans than it is with Eclipse. Many Java developers are big fans of the Maven build and deployment tool of Netbeans tool too.
  6. The learning curve – At a professional level, Eclipse is significantly easier to work with than NetBeans. That’s precisely the reason why almost all mobile app companies encourage their developers start working with Eclipse. In order to program in the NetBeans environment (with NBAndroid), in-depth knowledge of the Java coding language is required. For beginners, Eclipse is definitely the preferred option.
  7. Language and version control support – Yet another set of features where NetBeans manages to ‘eclipse’ the Eclipse IDE. While the latter supports only the default Java programming language, NetBeans provides full support to PHP, C and C++ too. In terms of version control support too, NetBeans wins hands down. It supports Git, Mercurial, Subversion and CVS, while Eclipse’s version control support is limited to Git only (for the others, more plugins have to be installed).
  8. Code formatting for PHP development – Any professional PHP developer would agree that the built-in code formatting features in Eclipse are, at best, just about okay. There are options for setting the indentation size and the tab policy under PHP → Code Style → Formatter. On Netbeans, however, there are multiple personalized options for direct code formatting – right from using braces and alignments, to swapping, making tabs and indents. There is even an option for blank lines.
  9. Block Commenting vs Line Commenting – There is nothing much to choose from between the nearly equally efficient source editors of NetBeans and Eclipse. The latter has the block comments option, while Netbeans comes with line commenting feature – both of which find favor among Android developers worldwide. The additional presence of Macros in Netbeans does give this IDE just a little edge though.
  10. Support for native app testing – Native testing out-of-the-box is easier while coding with the NetBeans IDE. Thanks to the presence of TestNG and jUnit, doing test runs and checking templates can be done quickly and without any hassles. Eclipse also offers native testing support – but for that, Android app developers need to download external plugins, like MoreUnit.
  11. IDE Configuration – Eclipse really excels when it comes to configuring and personalizing the IDE. There is an option for ‘preferences search’, and even at the project level, developers can override previous settings and features. NetBeans also has smooth navigation features, but does not even come close to Eclipse in terms of IDE configuration. The main reason for that? NetBeans does not have as many options as Eclipse to configure!
  12. Memory requirements – Another minor ‘yay’ in favor of Eclipse would be its lower RAM space requirement. Java/Android developers only need to have a minimum of 183 MB memory space, to download and start working with this IDE. To download and install NetBeans, at least 512 MB of free RAM space is necessary. For coders facing memory-management issues, Eclipse is, understandably, the chosen option.
  13. Real time app code testing – This is a very important feature for any professional mobile app maker. NetBeans and Eclipse both deliver on this count – albeit by different methods. While coding with the Netbeans IDE, developers can take advantage of Bugzilla, FindBugs and JIRA – all of which are directly integrated. Eclipse offers Kepler for code testing, and it can be used with FindBugs by downloading a plugin. The automated testing procedure is a touch simpler in NetBeans.
  14. Track record of previous versions – A lot of the superior popularity of Eclipse over NetBeans can be attributed to the sustained excellence of its features and the smart, systematic way in which it was rolled out to early adopters by IBM. Although NetBeans had the backing of Sun Microsystems, its early versions floundered – even as Eclipse Foundation released, and its user-acceptance levels got a big boost. At present, there are many Eclipse users who had tried out, and been disappointed by, the performance of previous Netbeans versions. Many of the early complaints of Netbeans have been already resolved, but most Eclipse-fans do not feel that there is any reason to switch.

There used to be a time when Eclipse was a way better Java IDE than Netbeans (anyone who has worked with Eclipse Galileo AND the Netbeans version at that time would vouch for that). However, the present version of Netbeans is more than a worthy rival IDE for Eclipse. It’s the greater familiarity factor that is likely to maintain Eclipse’s position as the best IDE for Android app and software development in future.

 

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me
 

Leave a Reply

Your email address will not be published. Required fields are marked *