Cursors are like a pointer to a specific place in a query. When you
create a query with a cursor, the backend starts at exactly the object
you specified - even if subsequent changes to the datastore added or
removed entities to earlier parts of the query.
Offset is just what it sounds like. GAE will start the query and
iterate through the results for the specified offfset. This has
performance implications (large offsets are expensive) and means the
query results will change if entities early on are added/removed.
You cannot make datastore calls from the client side, except through
RPCs that you provide. That question expresses a fundamental
conceptual misunderstanding of how GWT works - please re-read the
basic GWT docs.
Jeff
Jeff