Wow that was quick. My first attempt with IntelliJ didn't really take, but I've had more time now to make the adjustment under less pressure.
What a difference. On my Mac at least, it's much faster and more stable than Eclipse. I've been running current versions of Eclipse, with the Maven plugin but very little else, and Mylyn disabled as much as possible ... and Eclipse has been agonizingly slow and very unstable with multiple lock ups and crashes per day.
IntelliJ is just ... better. Faster (note that you need to turn off the Mac L&F if you want best performance; I'm using "Alloy").
I've been so thoroughly used to the Eclipse development model, including constant compilation. IntelliJ doesn't compile until you need to run code. It does parse your code constantly, which amounts to the same thing in terms of refactoring and code completion, but IntelliJ is far more forgiving of syntax errors and the like.
Maven integration is better; I chose an option where it synchronizes from Maven on demand (and on startup).
For a multi-module projects, IntelliJ does a better job. Each module really gets its own classpath, whereas Eclipse merges together all the source paths and all the libraries for all modules.
A couple of Tapestry development notes:
-
You do want to make sure that your exported resource patterns (in the Compiler project options) is
!?*.java
... otherwise critical Tapestry files don't get copied and made available on the classpath. - Also, for IntelliJ you have to perform a make (command-F9) after changing code or templates for those changes to be visible.
Yes, there's a number of nitpicks, especially on a Mac. It's extremely intimidating the first time you launch, with a wealth of confusing options. Documentation is spotty and key concepts are never explained. There's too many modal popup windows. Regardless, I'm already working faster, using the mouse less, and keep finding new features. I'd say I'm using about 20% of what IntelliJ can do right now, and I'm already well ahead of the Eclipse curve.
Apparently, IntelliJ is like snowboarding: you need to give it three full days before you're hooked. Counterpoint: I'm still on skis.
Another analogy: IntelliJ is metric and Eclipse is english. If all you've ever known is feet and inches and pounds and ounces, then metric doesn't seem worth the effort to switch. Metric just seems like a different set of numbers, mixed with disconcerting nuances (such as the difference between mass and weight). On the other hand, once you make the transition, many difficult tasks become easier, since most conversions are multiplying or dividing by a power of ten.
IntelliJ's 30 day evaluation is long enough to get hooked. Give it a try.
> Eclipse development model, including constant compilation.
ReplyDelete> IntelliJ doesn't compile until you need to run code.
Eclipse 'Window' menu has got a toggle 'Build automatically'.
If you switch it off behavior shall be same as for Idea. I always do it.
> It does parse your code constantly, which amounts
Eclipse does exactly the same after you switch that option off.
Congrats, Howard.
ReplyDeleteI cant imagine that I use other java editor other then IDEA. I am totally hooked. And you would feel the same after 2 years of using it.
Howard, you must have been using old Maven plugin for Eclipse. Recent versions actually allow to import a multi-module Maven project as several Eclipse projects where each of them will have its own classpath.
ReplyDeleteIt would be also interesting to hear why Mylyn didn't work for you.
Beware of http://www.jetbrains.net/jira/browse/IDEA-15948 (see the last comments), which currently makes idea lose custom settings of web-facets upon maven synchronization.
ReplyDeletetry the menu action: Help -> Productivity Guide ;-)
ReplyDeleteCongratulations, Howard. I'm glad IDEA is working out for you. I've seen that there's a setting in IDEA to allow you to build on loss of focus, which is handy when you want to switch to a browser to see your changes take effect.
ReplyDeleteActually the build automatically menu is in the Project menu.
ReplyDeleteI will stay with Eclipse, nonetheless. Cause it is free.
Cheers.
If your template changes are automatically picked up by the maven build, then you can attach a maven goal to be run before compilation and also before run/debug (you will probably want both attachments).
ReplyDeleteThis saves the extra step of manually building at the cost of running maven more than necessary.
Browse the right-hand side Maven tab and you can right-click on goals to find how to attach them.
Welcome Howard,
ReplyDeleteNow you may begin "Developing with Pleasure"
Sorry for the last post,
ReplyDeleteI just saw that Jetbrain grant free access to IntellijIDEA for OpenSource project leaders. Perhaps you want to use it ?
http://www.jetbrains.com/idea/buy/buy.html#openSource_howToApply
Francois
fanf, I imagine that HLS is already enjoying a free license for IntelliJ via the open source licensing... :)
ReplyDelete