I'm using the Low Level API, and I find that the JDO and Low Level
APIs have little significant difference in productivity.

Low Level API takes less time because I don't have to spend time
learning how this JDO implementation works with the Google's datastore
and debugging when it doesn't work the way I'm trying to get it to
work.

Each entity in the Low Level API takes a bit of developer overhead.
For instance, each EntityWrapper has a method to convert from an
Iterable of Low Level Entities to an Iterable of instances of my
wrapper.  Google Collections is useful here.  The norm is to execute a
Query which returns an Iterable<Entity> and use Google Collection's
Iterables.transform() to convert the list to Iterable<MyClassWrapper>.

Each property in the Low Level API has a bit of overhead.  Basically
there are get/set methods for each property, and a constant for the
name of the column that is used in both both the getter/setter, and
also for queries.

It's not much at all, I recommend the Low Level API because JDO is a
complication that doesn't simplify anything.

Using the Low Level API reduces productivity risks since hitting a
problem in JDO can take an unknown amount of time to resolve, however
the Low Level API gives you a known constant time to implement the
entity wrappers and properties.

Other than productivity, I feel JDO code doesn't have the
expressiveness of the Low Level code.  You find yourself with JDO code
adding annotations to influence the code, but these annotations don't
really say what you're trying to do.  Also there is a mismatch between
JDO and datastore.  JDO was designed for a regular relational
database, and can be made to work with the datastore, but there are
some cracks since datastore isn't quite a relational database.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to