1
votes

In the past I have succeeded in accessing a Google App Engine Datastore from a Google App Engine (GAE) application with Objectify and generating an Objective-C client for this application (including its Objectify Java annotations) with Google Cloud Endpoints. This gave me a client for accessing this datastore from iOS apps.

While initially some business logic did reside in the GAE application it has by now become just a facade for the datastore. With Google Clould Datastore it should therefore be possible to bypass the application (API backend) and access the datastore directly from iOS apps.

However, I can't find an Objective-C (or Swift) client in Google APIs Client Library for Objective-C. Is there none (above the level of "raw" REST calls) because the Cloud Datastore API is beta, or am I miscomprehending the larger picture?

UPDATE From reading this answer it occurs to me that the API backend may remain desirable from a security point of view, because that way iOS apps don't have to become privy to service accounts: those are kept servers-side. (I need to access the "app's", not the users' datastores.)

1

1 Answers

1
votes

Correct, you need to interact with your own backend directly through network requests from the objectiveC client, your api would then communicate with the Datastore api. If you use endpoints there is no need to write the objectiveC part yourself, as you know.

If you take a look at Datastore documentation with respect to exposed APIs and client libraries you see that there is some work being done on that direction, although still far away if you see the state of the Python and Java ProtoBuf libs.