I’m interested in running a site on Google App Engine (GAE), so I set out to find a framework that would work well there without much tweaking.
I took a brief look at Django, but found that the most current version needed tweaking to use on GAE. I’m not interested in tweaking framework source code, and the Django developers have gone on record saying that GAE support is not a priority for them. A reasonable stance since they don’t use it themselves.
I looked at Grails, and it seemed very close to what I wanted, but at the time it wasn’t fully cooked yet. It didn’t work out of the box on GAE, and even getting sample programs to run was time consuming and involved workarounds.
I looked at Gaelyk, and was very intrigued. Designed for GAE from the start, no tweaking was needed to use it there. It used Groovy, a language that I’d been intending to get some experience with for some time.
I looked at Web2py, and was also very intrigued. Web2py has a nice abstraction layer that allows it to run on both GAE and more traditional systems. Migrating a Web2py application from GAE to, say, Amazon’s cloud should be an easy process.
Ultimately, the decision was between Web2py and Gaelyk, and I chose Web2py for the options it gave me. Gaelyk didn’t seem to be under as much active development, but that wasn’t such an issue for me. Flexibility to move away from GAE if I discovered in practice that it didn’t work as well as I’d hoped was a big deciding factor for me.
Plus, Web2py is Python, and I enjoy taking advantage of the few opportunities I get to program in Python.