Google App Engine

It is amazing what a month in South Africa does to you. Things like Twitter, Facebook and blogging becomes pretty distant… But now I have been home for a while, Sun+Oracle has been approved by EU, I have finished (almost) my kitchen renovation and celebrated yet another birthday, so it is time to get started again!

After a discussion with a colleague at a coffee break this morning, I decided to try out Google App Engine. The getting started guide is a great place to start. It gives you a great walk-through setting up the development environment and creating a sample application. Since I am no big fan of Eclipse, I installed the Google App Engine Plugin for NetBeans. After resolving a small issue regarding path settings (see solution here), it was up and running perfectly.

Next steps will be to figure out what changes that has to be made to my existing applications to be able to deploy them on app engine. Probably the server side of YouOweMe will be the first candidate. Or maybe the KanbanFX server. I haven’t decided yet…

One Week With IntelliJ IDEA

A week has gone since JetBrains announced the free and open source IntelliJ IDEA Community Edition.

I have been giving it a try and is actually pretty satisfied with it. Even though I am not as familiar with all the shortcuts as I am with NetBeans, it feels comfortable. It does not differ that much. The only problem I have encountered with the default setup is the shortcut for comment/uncomment code (Shift+/). But this is mainly because I am using Swedish or Norwegian keyboard setup where the / is entered by hitting Shift+7. This was easily fixed by adding Ctrl+Shift+7 as a shortcut combination.

I could not find a live template for test methods, but it was easy to create a new one. Here is a simple example:

public void test$NAME$(){
   $END$
}

I am not sure if I like the way multiple projects are handled. If you work with multiple projects in IDEA, each project is opened in a separate frame. In NetBeans you can choose to have multiple projects open in the same workspace and/or group them in project groups. It is probably just a matter of habits, but I like the flexibility to be able to decide that myself and not be forced to open every new project in a new frame.

To conclude, I really like IDEA Community Edition, an will most probably choose use it when I am working on a project where I am in no direct need of Java EE support in the IDE. Otherwise, NetBeans is still my favorite IDE. Eclipse is still out of the question as long as Maven is involved.

IntelliJ IDEA – Now Free and Open Source

Despite the fact that it comes with a price tag, IntelliJ IDEA from JetBrains has since long been a very popular IDE in the Java community. The news that they now provide a free and open source community version was therefore very welcome.

If you have been reading this blog, you probably know that I am quite a big fan of NetBeans and have written quite a few comments about the areas it excels over Eclipse. I have not really tried IntelliJ IDEA yet, but now the Community Edition has been downloaded and installed. JetBrains has provided a detailed comparison between the Community and Ultimate edition.

First Impression
The first impression is that it is fast. The startup time is significantly faster than NetBeans. The editor is responsive, shortcuts and refactorings just as you expect them to be. It sure is ugly, menus and dialogs looks like some left over AWT student project hack from the 90’s, but who cares. After all we are here to code, not to enjoy the view.

Maven
The next test is to open one of my existing multi-module maven projects. Just as with NetBeans, it is just to select the root pom.xml file and open it. All sub-modules and dependencies are resolved just as expected. It scatters a lot of .ipr, .iwl and .iml files all over the place, but I can live with that as long as it updates them with changes from the pom.xml files.

When I check the Module Settings, it seems like the compiler output is set to /classes and not /target as normally by the maven convention. But when i build the project, it uses the maven configuration and puts the compiled classes under target. Why? Well, as long as it works it is okay with me…

Web and Enterprise
As the comparison table shows, there is no support for any web, mobile or enterprise frameworks in the Community edition. Nor are there support for application servers. You would have to buy the Ultimate edition for this. Fair enough, they have to make money somewhere.

Conclusion
The Community Edition of IntelliJ IDEA is the perfect choice if you are building a simple java application. It lacks support for development using web, mobile or enterprise technologies. If you want an IDE that is comparable to for example Eclipse Gallileo or NetBeans you would have to go for the Ultimate Edition. In my view NetBeans is the better choice.

Disclaimer: I  have only scratched the surface here and will continue explore the Community Edition. My opinions may change as I go…

Some Thoughts in General

I have been kind of lazy writing this blog lately. After keeping it up pretty okay during summer, the pace has now slowed to a minimum. I think it can be partly explained by the fact that I have been using Twitter for some of the stuff I used to write here and that my new HTC Hero Android phone made tweeting more convenient than ever…

My intentions are to use this blog for subjects that cannot easily be said in 140 characters and twitter for the short, more daily stuff…

Well, so what has happened since last time. Since I have solely been using NetBeans the last couple of years for Java development, I decided to give Eclipse Gallileo a chance. It took me an hour of frustration to conclude that it still sucks for Maven based projects. Why it should be so hard is beyond my comprehension! In NetBeans, you just choose open project, selects the pom.xml file and everything is fine. Dependencies are resolved as they are defined in Maven, no stupid .classpath, .project and .settings rubbish created that makes Eclipse to totally hick-up if a dependency is changed.

Apart from my unsuccessful flirt with Eclipse, I have continued development of KanbanFX. It has been converted to a maven project and besided the information on Kenai, I have created a page for it here where you can try it out. Kanban is increasing in popularity, @henrikkniberg had 300 people on his Kanban vs Scrum session at JAOO this week.

NetBeans 6.8

NetBeans 6.8 M1 is available for download. According to the roadmap, the final release is scheduled to be released Autumn 2009.

Usually, I am pretty fast installing the absolute latest version, but this time I think I will wait at least form the M2. It has not been that long since the 6.7 and 6.7.1 releases and I am pretty satisfied. The only thing annoying me is Bug 161416. Hopefully it will be fixed in 6.8…

NetBeans 6.7 beta

After having used NetBeans 6.7 Milestones for a while, I was very happy when the beta was released yesterday. I immediately installed it and started trying it out. The milestones had a tendency to use a LOT of cpu, but so far I have not experienced this with the beta. Maybe since I was stuck up in meetings yesterday and did not have time to code. Today will be better 🙂

Some Highlights

  • Connected Developer (Kenai)

    Create Kenai-hosted projects from within the NetBeans IDE
    Locate and open sources for Kenai-hosted projects in the IDE
    Full integration with Bugzilla

  • Maven

    Support for Web Services creation and consumption and J2EE
    POM Editor and Navigator enhancements

  • PHP

    Code coverage and Selenium support
    PHPUnit output improvements

  • C/C++

    Support of popular Qt library and tools

  • Groovy and Grails

    Out-of-the-box support for Grails 1.1

  • Profiler

    Enhanced Self Diagnosis (“Profile Me Now!”)

  • Java ME / Mobility

    Full support for SVG Rich Components in the Visual Mobile Designer

Kenai

Kenai is Sun’s connected developer destination. It is a integrated suite of developer services where you can host your open source projects. Currently the following features are supported:

  • Source Code Management (Subversion, Mercurial, and Git)
  • Issue Tracking (Jira and Bugzilla)
  • Wiki
  • Forums
  • Mailing Lists
  • Download facility for documents
  • Evolving integration with NetBeans

When you create an account at Kenai, you can host up to five projects for free. I imported two of my hobby projects to try it out, and I liked it. See wikipedia for a comparison of open source software hosting facilities.

NetBeans 6.5

NetBeans 6.5 is now available for download at netbeans.org. I have been using the beta and release candidates for some time now, so there should not be too many surprises. The feature I am happiest about right now is that it is possible to configure projects independently. This enables me to push out code conventions in the root pom.xml file for the entire project. Hence there is no excuse for not following the conventions 🙂

Download NetBeans!