Cloud client libraries are the recommended method to invoke Google Cloud Platform API's. The client libraries are available in a variety of popular programming languages. Using these libraries, you can write application code that can easily be executed in a compute environment such as App Engine flexible environment, Google Kubernetes engine, or Compute Engine. The Cloud SDK contains command line tools to work with GCP services. You can use the Firebase SDK to implement federated identity management. Google has all the client libraries and SDK's that you need to get your job done. In the module Cloud Client Libraries, Cloud SDK, and Firebase SDK, you'll learn how to set up and use Client Libraries and SDK. You'll also learn about API Explorer that you can use to try GCP API's. >> What are the Google Cloud Client Libraries? The Google Cloud Client Libraries are the latest and recommended approach to making request to the server. The cloud libraries make it easier to access API calls using your favorite programming language. Google Cloud client libraries handle low level communication with the server, including authentication with Google, and they can be installed using familiar installation packages such as NPM and Pip. The Client Libraries also provide retry logic for transit network failures. Consult the Client Libraries documentation for more details. The links are available in the download pane below. Google Cloud Client Libraries provide idiomatic code in supported languages, which makes it easier to work with. Some libraries give you performance benefits from gRPC. GRPC is the Google Remote Procedure Calls, it is an open source remote procedure call framework that can be run anywhere. GRPC makes it easier to build connected systems because it enables client and server applications to communicate transparently. Google API Client Libraries should only be used if your programming language of choice isn't supported by the Google Cloud Client Libraries yet. They provide access to rest APIs only and do not support gRPC. For more information and resources, please click on the links provided in the download pane below. The language is supported by the Google Cloud Client Libraries are .NET, Go, Java, Node.js, PHP, Python, and Ruby. To get started with the Google Cloud Client Libraries, you can pull the repo for the Google Cloud Client Libraries from GitHub. It is provided for each of the supported programming languages. The GitHub repo page lists the services and APIs supported by each languages Cloud Client Library and provides installation instructions. You can also download Cloud Client Libraries for individual Cloud platform Services. Reference libraries contain links to documentation as well as to relevant StackOverflow posts and provide code examples. The reference libraries are your one stop-shop for information on a language specific Google Cloud Client Library. Every package uses a client as a base for interacting with an API. If your application is running on App Engine or Compute Engine, authentication for your application will just work. If you don't explicitly provide credentials, the client will reuse the credentials from the gcloud tool. Assuming it has already been installed and authorized. The example provided demonstrates importing the data store client library, instantiating the client using default credentials and adding an entity to the data store. For more information on this example, and for further resources, please click on the downloads pane below. The Google SDK consists of three command line tools, gcloud, BQ, and gsutil. These tools allow you to access GCP products and services, you can run your tools interactively or in your automated scripts. Gcloud is a command line tool that allows you to perform common tasks on GCP. It allows you to create and manage GCP resources. In the example, we are listing all the compute engine vm instances for your project. Bq is a command line tool used to work with Google BigQuery. Bq's primary purpose is running queries and it can also be used to manage data sets, tables and other big query entities. Gsutil is a command line tool used to perform tasks in Google Cloud Storage. You can use gsutil to create and manage buckets, upload, download and delete objects. Move, copy and rename objects and manage access to stored objects. In the example, we are copying logo from our desktop to a bucket called my-awesome-bucket. You can download and install Cloud SDK on Linux, macOS X and Windows. You can install Cloud SDK using apt get on Debian and Ubuntu. Initialize the Cloud SDK by running the command gcloud in it. Once it is initialized, you can start using it. You can install and manage SDK components and use the gcloud interactive shell, which provides prompt completion and suggest flags. You can even script gcloud commands to automate your processes. Google Cloud Shell is a free admin machine with browser based command line access. It allows you to easily manage your infrastructure and application on GCP. It gives you access to a temporary virtual machine instance with 5 gigs of persistent disk storage. When you start Cloud Shell, it provisions and F1 micro, Google compute engine virtual machine running a Debian-based Linux OS. Cloud shell instances are provisioned on a per user, per session basis. The instances persist only while your Cloud Shell session is active, and terminate after an hour of inactivity. Google Cloud SDK comes pre installed in Cloud Shell. Additionally, Cloud Shell has built in automation to your cloud platform console projects and resources. Cloud Shell comes with a built in code editor based on a Ryan to browse file directories and view and edit files with continued access to Cloud Shell. Cloud Shell provides pre installed language support for Java, Go, Python, Node.js, Ruby, PHP, and .NET. Google Cloud platform provides cloud tools for various IDEs to facilitate development on Google Cloud Platform. Cloud tools are supported for Android Studio, Eclipse, IntelliJ, PowerShell and Visual Studio. In the example, Cloud developer tools for Visual Studio is allowing the developer to browse Compute Engine resources, storage buckets, and cloud sequel instances from the Visual Studio IDE. Google Firebase is a mobile and web application development platform. Supported platforms include Android, iOS, Web, C++, Unity, and Node.js. Firebase is integrated with various services and GCP. The Firebase SDK's for Cloud Storage, store files directly in Google Cloud Storage buckets. And you can use the Google Cloud Storage API's to access files uploaded via the Firebase SDKs for Cloud Storage. Firebase SDKs for cloud storage use the default bucket for Google app engine standard environment, so you can use the built in app engine API's to share data between Firebase and your app engine application. Additionally, you can retrieve, verify and store user credentials using Firebase authentication, the Google app engine standard environment and Google cloud data store. Google Cloud Functions is GCP's server less offering. Cloud functions for Firebase lets you automatically run back end code in response to events triggered by Firebase features and HTTP requests. And the code is stored in Google's Cloud and run in a managed environment. No management or scaling of your own servers is required. For more information and use cases for the Firebase app with Google Cloud Vision and speech API's, please view the resources available in the downloads pane below.