views:

885

answers:

5

I've been slowly and a bit painfully working my way up the datastore/JDO learning curve in GAE. Recently I've found a framework called Objectify that is supposed to be somewhere between the very-simple Datastore native API and the complex JDO. I've been reading up on it and it does seem attractive.

What I want to know is, if anyone has much experience with Objectify... How mature is it? Is there much of a user community? Is it ready for heavy-lifting primetime? Could it be abandoned?

There doesn't seem to be much discussion of Objectify here or on the web in general, which makes me nervous about entrusting my project to it.

+7  A: 

I've looked into objectify a bit and wrote an initial post about it at http://borglin.net/gwt-project/ . There are actually at least 5 different low-level wrapper frameworks at this point (objectify, Twig, SimpleDS, siena, slim3).

I'm currently working on a interview-style comparison between objectify, Twig and SimpleDS together with the authors for each framework. They will answer a bunch of technical questions and I will do some code scenarios with each framework.

In the mean time, you might want to check out these threads: http://groups.google.com/group/google-appengine-java/tree/browse_frm/thread/4467986eaf01788b/c6d007863a616a1b

http://groups.google.com/group/google-appengine-java/browse_thread/thread/f20d922ffecb310c

http://groups.google.com/group/google-appengine-java/browse_thread/thread/79078132130a3dfe#

Andreas Borglin
This is really interesting and useful, thanks for making the effort. The proliferation of all these alternate frameworks may be saying a thing or two about the current datastore-JDO offering. =)
tempy
Yes. The JDO/JPA solution is too complex on AppEngine. I guess Google has chosen to only provide support for standardized frameworks to avoid a critics storm over "vendor lock in". I know that there are people who use objectify and Twig for their projects already, and the authors of the frameworks are quite dedicated, so I doubt they will be abandoned in any near future. Even if they were, it would probably be easier to modify the code base for your needs rather than struggle with JDO anyways...
Andreas Borglin
Andreas - your interview rocks!!! I noticed you only investigated Objectify yourself... did you ever try out Twig? On paper, it looks like a superb replacement to JDO.
Mark
+2  A: 

You might also want to check out the recent announcement of the Twig final release 1.0:

http://groups.google.com/group/google-appengine-java/browse_thread/thread/aafbeb679a6e6790

It gives a good overview of what Twig is capable of. A point of interest is the ability to do non-blocking async queries which is only possible with Twig at this time.

John Patterson
+3  A: 

For all who are looking for the interview-style comparison between objectify, Twig and SimpleDS as mentioned by Andreas Borglin, it is available here: http://borglin.net/gwt-project/?page_id=604

drupii
A: 

Objectify is Ok but there is nothing better yet. Twig is relatively new, As of 09/21/10, took a look at documentation, examples, discussion groups of both and looks like it has some ways to go before getting mainstream. Not many claimed features have out-of-box working examples. I love the succinct documentation from Twig as opposed to the Verbose yet somewhat clear documentation from objectify. Objectify seems to want me to do lot of work, e.g. no managed owned relationship support etc. But given everything that it gives on top of plain JDO/JPA and also given JDO/JPA does not give much, I will say Objectify is the best choice for now.

Gmu
+1  A: 

I've just ported from JDO and the low-level API to Objectify, and I'm sold. Automatic use of Memcache, much easier (and shorter) queries, fewer surprises. I like that it doesn't hide the nature of the datastore - it just makes it easier to use.

Richard Watson