After upgrading to the latest Mac OS, things are definitely running well -- the speed is noticeable. IntelliJ and NetBeans are working just fine for me and the latest ConcourseSuite CRM alpha and ConcourseConnect are both running fine too. The default Java is now Java 6.
Perhaps the best "new" feature is that Spaces finally works with IntelliJ and NetBeans! Previously, when either was activated, Spaces would not switch unless there was a second window.
Everyone having a good experience?
View Full Post and Comments
I've been an advocate of IntelliJ for quite some time. In fact, over the years I've converted a few around here and still today I think it works well. The main gripe I have recently is compatibility with Mac OSX -- daily crashes, and with each crash comes a lengthy cache rebuild. On an Apple Java Developers discussion forum another user with the same exception indicated that JetBrains (the owner of IntelliJ) pointed to Apple's latest Java release as the culprit for a windowing exception and that they wouldn't/couldn't do anything about it. I don't expect an update anytime soon so I had to act quickly.
With a newly released NetBeans IDE, and a problematic IntelliJ 8 and 9 beta on my hands, I decided to give the new NetBeans release a shot. Setting up my projects was easy using the wizard. I pointed to the webapp source directory, the libraries and added resource directories. This was for ConcourseSuite CRM 6 alpha, ConcourseConnect and several custom projects.
Working inside the NetBeans IDE was surprising simple and elegant. I quickly surveyed the menus to see if all/most of the IntelliJ functions I use were there, and they are! In the NetBeans preferences area I changed the keymap to IDEA, then began to use the IntelliJ key commands I was used to. Aside from having to use CTRL instead of the Mac's Command key, the experience seemed similar. I've now updated the keymap, color palette, and installed the Copy & Paste History and Copy Paths plugins to relive my IntelliJ experience (download my customizations here).
Since the Concursive project sources I use are structurally similar to a Maven's suggested structure, there wasn't anything to worry about. Choosing "Run Main Project" started up Tomcat and the webapp worked right away. NetBeans includes an HTTP Server Monitor by default that hooks into the Request, Session, Application Context, Cookies and HTTP Header Properties which I found immediately useful.
Some other highlights:
- Place the cursor on a variable name and NetBeans highlights the usages automatically
- Open a file, then choose Tools-> Diff to compare that file to another open file, or any file using the file selector
- Create Project Groups and switch back and forth between sets of projects quickly
- Subversion works well and seamlessly maps New/Deleted files to Subversion actions Add/Remove
- Use the Database Services window to execute and view database records
- NetBeans is Open Source
Somehow updating Tomcat's settings eluded me... To modify the settings for Apache Tomcat, you have to open up the Services window pane, choose Servers, then right-click on Apache Tomcat to change its settings.
There you have it. After less than a week's use of NetBeans, and with some hesitation, I feel comfortable enough to use NetBeans as my primary IDE. It has proven to be feature rich, stable, and fun. I've got IntelliJ on standby for the time being and hope that the exception gets worked out.
View Full Post and Comments
Every so often the topic of which IDE do you use comes up. I've posted about this in the past and while I passionately have a preference, as do others based on the comments to that article, I've found that given the requirement of writing good code, the modern IDE choices are interoperable. Let me explain...
A bunch of us here at Concursive pay for our IDE. Others have chosen Eclipse. From my point-of-view I'm ok with that as the developers have proven that the IDE choices are interoperable. At the end of the day I can't distinguish code done in, let's say IntelliJ IDEA (my preference) to Eclipse (the preference of our other developers). I also have friends who use NetBeans (I only mention that for completeness).
What makes interoperability possible are coding guidelines and best practices...