There is always a sense of confusion among our team members whenever we are integrating google api's.
One of the official concern is? What is the officially supported client library to use?
In past, we have used google-api-client
but it seems like there is another library called google-cloud-ruby
Now which one to use?
Although the README.md on google-api-client
states that...
These client libraries are officially supported by Google. However, the libraries are considered complete and are in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.
which make it evident what could be the obvious choice for client library.
But then you find the reference in google-cloud-ruby
that they depend on google-api-client
So if it uses google-api-client
under the hood why use google-cloud-ruby
then?
As you say there is two sets of library. As you identified for Ruby the same is for PHP and others as well.
All APIs are being consolidated in the new "cloud" named libraries.
Theoretically the old is good as well, as libraries are just wrapping the endpoints, and there were no deprecated endpoints. But new features won't be added to the old one, instead they are being actively developed on the new cloud one.
We have legacy code that still uses the api named ones, and we developed a new worker that uses the new library as well. Libraries won't be deprecated, they just span out as there are out of maintenance.
Indeed Google could mention that there are two and you should choose the newest one. BTW all Google cloud official documentation points to the new one: cloud