I hope you enjoyed the talk and will find the slides + video (http://bit.ly/endpointsGTUG) helpful on getting started with Endpoints. The technology behind Endpoints and Client Libraries really lower the bar for many developers out there like myself. It’s an exciting time to take a great idea along with a few clicks here and there, you can have a mobile client with a scalable backend as your starting foundation.
Some questions came up during the break and after the talk. I would like to share those answers…
Q: I joined the Trusted Tester program but my app id has not been whitelisted therefore I can’t use Endpoints
A: The only knowledge I have about this is that the whitelist process has been replaced with another process as of mid January 2013. Simply signing up to the Trusted Tester program should be sufficient to get your unique app engine application ID capable of generating Client Libraries. Note that you don’t need to have a whitelisted app ID to create endpoints nor an internet connection. If you are on the Google Groups Endpoint Message board, try to ping Dan H. of Google Developer Relations to find out your status. I was able to create the demo contactapp01 app id two days ago without having to fill out an explanation form based on the steps in the video.
Q: Is JDO hard?
A: JDO is easy compared to writing select * col1, col2, colN from TABLE where MY_SPECIAL_CLAUSE GOES HERE.
Here is a sample query done in JDO using the typical application programmer “.” syntax:
Query q = pm.newQuery(Person.class); q.setFilter("lastName == lastNameParam"); q.setOrdering("height desc"); q.declareParameters("String lastNameParam");
Here is that same query done in JDOQL which caters toward the old school SQL folks:
Query q = pm.newQuery("select from Person where lastName == lastNameParam parameters String lastNameParam order by height desc");
Either way, it will work when you execute the query:
Currently, I am more of a fan of the “.” approach but I think over time, one might just switch over writing JDOQL.
Q: When is Endpoints going to become production ready?
A: At the time of writing, it’s all speculation. There hasn’t been any indicators on the Google Group Endpoints Message board. Some people have production apps ready to go and they are waiting on Google to give the public go ahead. Internally, we know Google is using app engine (and likely endpoints) for a lot of it’s internal-facing web applications. Since it’s announcement at Google I/O 2012, Endpoints are still considered bleeding edge because of how it re-tooled all these existing technologies into a package that saves so much time for us developers. Individually, these tools are ready but as a package as whole, it’s getting very close.
Q: I have an existing application with it’s own data schema. I would like to make accessible to mobile devices through endpoints. How is this possible?
A: I’ll wash dishes and have my tablet on a shelf above me to keep me entertained. During one dish washing session, I remember coming across a Google I/O talk on strategies how to migrate existing apps. I believe this is the talk – http://youtu.be/4XBqdu8dYE8. Although I didn’t watch the whole thing because at the time I was just getting started and was only interested in writing new code.
Q: How do Endpoints work in iOS?
A: Objective-C HTTP code and the data models are generated to be referenced in your iOS project. However, I’m not well versed in this area. There is a document that describes how do you get your iOS app to talk to Endpoints but it is currently only available to members of the Trusted Tester group which is free to join.
Q: Is App Engine and/or Endpoints free?
A: Currently Endpoints are free as in beer. There is contemplation on making it a premium feature because of the amount of time it saves you. App Engine has a free usage tier that if your application starts to gain considerable traction, your credit card will be billed a very reasonable amount (so I have been told). If you are fortunate to become incredibly successful, you should consider migrating away from App Engine and invested in a fixed cost environment. The people at Google don’t pull off any dirty tricks to keep you locked into their PaaS (Platform as a Service). Just write your code against JDO or JPA. Also don’t have any code that would make use of low-level access to the DataStore API.
Again, it was great to meet you all in person. I hope we cross paths again.