views:

1355

answers:

4

It's been a while since I've done any website with with Java, and am wondering what framework options are out there for Google App Engine.

What framework would you suggest for someone who has no real preference?

I like Ruby On Rails, and am getting into Django, and like that as well. Professionally I'm a ASP.NET developer so I have the most experience with that, but I'm looking to expand into other technologies, and patterns.

It would be nice to have more experience with MVC.

thanks, Mark

+5  A: 

The Spring Framework works, although you have to make sure commons-logging isn't called commons-logging-1.1.1.jar (as I had it in maven conventions, Google provides a jar with this same name and there are classloading issues as a result). So, Spring WebMVC is confirmed to work - which raises the possibility that its sister project Spring Webflow will work - though I can't say I really like where Webflow 2 completely diverged from Webflow 1.

Also, I have yet to find a framework that really encompasses the notion of "saving and continuing" well - users often like to do that, and Webflow 2 really tries to make programming that as difficult as possible if you use its persistence context inside the flows themselves.

MetroidFan2002
A: 

Don't use it for a simple single reason - vendor lock in.

  • What happens if the service doesn't meet your satisfaction?
  • What happens if you can get a better deal (Java hosting) somewhere else?
  • What if you want to sell your product - where's your platform?
  • What happens if Google decides App Engine is not worth their effort and close it?
    • as a side note Google have and will close services that are unprofitable. A simple search will reveal many, escpecially in theses trying times.
  • Do you care about vendor lock in?

If you don't care about losing your effort and time invested and perhaps want a platform just to play with then I suppose it's OK but for anything serious stay away.

mP
Well your code won't be locked in if you appropriately abstract away the API, a move I think anyone should take anyways.
Robert Gould
What about the if and buts - there will be deficiencies firstly BigTable is not relational thus any JPA abstraction over it will be different...
mP
Sam Hasler
What have Servlets/JCache got to do with BigTable ?Do a search for the Q here about Transactions within AppEngine for more reasons not to use.
mP
I think his question was related to HOW to do something, not SHOULD he do something.
scubabbl
+2  A: 

Wicket works on App Engine, you just have to make a few tweaks to the configuration.

Dan Dyer
A: 

I've had variable experiences with Vaadin on GAE. Some applications are almost as fast as with localhost, but sometimes the latency is freakish. Probably depends on which server geographically your application gets deployed on.

Henrik Paul