Continuing a series of articles focusing on NetBeans users and their five favorite NetBeans IDE features, here's the next part, by Abhideep Chakravarty. -- NetBeans team.
My name is Abhideep Chakravarty. I have been working at MindTree for 4+ years in Bangalore, India. I have a total experience of 7 years in enterprise application development. Currently I am working as Technical Lead in the Open Platform Centre of Excellence in Mindtree. In Mindtree, I head the Java community and I have also spoken in a national webinar facilitated by IBM Developer Network.
I have been using NetBeans since its 4.5 release, many years ago. I even have an original NetBeans 5.5 CD. It was during my college days that I started using NetBeans. I liked the way it was creating the Swing applications at that time. I used NetBeans to do my final year project because I didn't want to waste time creating the Swing things because, for me, far more important was the logic behind the Swing pages. I tried the same with Eclipse, but I didn't like it, and actually it was not all there at that time.
What are your 5 favorite NetBeans features?
1. Maven Integration. The way NetBeans does the Maven work, is awesome and simple. Somewhere I have read and heard – "Simplicity is the highest sophistication." NetBeans reflects that in respect to its Maven integration. Be it when opening an existing project (no lengthy import process needed, simply open a folder containing a POM file and NetBeans will treat it as a project) or be it when creating a new Maven tree, working with NetBeans is really convenient.
2. Debugging. This is another amazing feature of NetBeans. This is something we as developers often need to do in our day to day life.
Unlike other IDEs, with NetBeans I don’t need to do a complex setup to debug a flow that includes multiple projects. I just need to have the projects open in NetBeans and that’s it. Set the first break point and start debugging. Life is easy!
The Threads view once helped me in finding out that some thread remained alive even after the whole process was down. When I enquired with the team, my doubt was correct. They were not able to shut down Tomcat gracefully and so some thread remained unclosed. So they were killing it. With this feature in NetBeans, I could point out where the problem was, and what needed to be fixed.
As shown in the image above, another thing I like is – just hover your mouse pointer on the expression and you will get to see the value. Awesomeness!
3. Project Groups. I discovered this feature recently. This was one of the very few features I needed to spend time looking for in NetBeans. The reality was – it’s just me who was not aware of it. But when I got to know about this, I loved it.
Switching project groups is so simple and so fast. My IDE does not need to restart. I don’t need to run multiple instance of my IDE. I don’t need to setup things for different workspaces. Just switch the project group and you are done.
4. Profiling. Oh my god! I love it to the core. First of all, profiling in NetBeans is a simple and easy job. As simple as debugging. Though profiling Java code is rocket science, the way NetBeans does it, makes it look like a cake walk. It has helped me multiple numbers of times, often helping me identify major bottlenecks.
With the help of this feature, we recently tuned our performance test in-house tool. We could successfully raise the TPS from 80k to 10m of the bare bone tool, simply by knowing the application's hotspots correctly.
5. NetBeans Platform. Also known as "NetBeans RCP", for rich-client platform, the NetBeans Platform is another name for simplicity. You know Java Swing applications? Then you are good to go with NetBeans RCP development, too.
Not only that but in real world scenarios, when you are doing NetBeans Platform development with Maven, life is bliss, trust me. Right now, I am leading an RCP development project of a competitor IDE and it’s so very difficult to connect it to backend services, purely because it does not use Maven and it isn't happy if I just reference the dependencies. Instead, I need to pull in all the JARs to make it work.
In summary, NetBeans has the ultimate sophistication, that is, Simplicity. It truly rocks.
Do you and your colleagues also want to share your team's favorite NetBeans features with the world? Write to netbeans dot webmaster at gmail dot com.