Search code examples
rubygoogle-bigquerygoogle-api-client

google-api-client or google-cloud-ruby


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?


Solution

  • 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