前言
之前接入过Firebase推送、YouTube API,对Google开发者平台做了简单的了解。后面逐渐将用到的Google功能和API整合到该分类下,例如FCM、YouTube等。
由于Google内部也有很多部门、业务、产品、软件架构的区分和调整,错综复杂。在这样的环境下,Google Cloud能够支撑大量的业务,并且保持架构稳定,是一件很了不起的事情,越了解就越觉得牛逼。不过也遇到了一些问题
- 一些产品功能有交叉重合,不同业务之间有什么联系:例如Google Assistant API和Speech-to-Text API,GCM和FCM
- 有些文档、Sample很久没更新
- 不知道该去哪里找有用的资料
因此粗浅地了解下Google开发者体系和架构。希望对Google开发者平台有个初步的、全面的认识。
Google开发者
包含谷歌开发的框架、服务、应用等,以及对应的学习资料(教程、集成文档、Codelab、Google开发者认证等)。
热门产品:Android、Flutter、Chrome OS、YouTube、Google Cloud、Maps Platform、Google Play等,简单介绍几个
- Firebase:提供应用开发解决方案,例如消息推送、云服务接口、测试、性能监控、数据分析等
- Web:包含UI设计、框架、性能、搜索、审核等学习资料
- Tensor Flow:机器学习框架
- Google Workspace:为企业提供的工作台,用于协同办公,包含企业邮箱、企业文档、会议等工具
- Google Ads:广告服务
- Google Cloud:提供基础服务、基础设施等。除了Android、Flutter等非云产品,所有云服务都依赖Google Cloud Platform,准确来说Android和Flutter源码、依赖库等或多或少也会用到GCP。
重要地址:
- Google开发产品:集合所有Google开发产品和资料,可以在这里搜索。
Google Cloud Platform(GCP)
Google Cloud Platform:提供计算、管理、数据分析、存储、运维、人工智能等一系列能力、基础服务和基础设施。
Google Cloud控制台:管理Cloud项目,例如费用结算、配额和请求管理、生成凭据等。一个项目会用到各种各样的资源,例如API密钥、OAuth客户端、虚拟机、云存储等。
重要地址:
- Google Cloud产品:Google Cloud自己开发的产品,对应的文档在Cloud中
- Google Cloud市场:除了Google Cloud产品之外,还包含二方(例如Google、Google Enterprise、Firebase、YouTube)、三方合作伙伴(例如JFrog、Jenkins、CentOS)开发的产品,对应的文档在各自的网站中。
- Google Cloud产品价格表
- Google Cloud APIs原始接口定义:用于了解接口参数定义等,也可以直接使用客户端库
- google api说明文档
Google Cloud APIs
- Google Cloud APIs:Google Cloud服务的编程接口,用于管理Cloud服务资源,例如启用或停止某项服务。通常在
googleapis.com
子网域下运行,例如cloudapis.googleapis.com
、speech.googleapis.com
、youtube.googleapis.com
。 - Google Enterprise API:Google企业级API,更稳定的API,专门的团队支持。
Google Cloud APIs个人理解
- 狭义:特指Cloud API基础服务,可以用编程方式管理Cloud资源。所有控制台项目默认启用Google Cloud APIs功能。
- 广义:指所有基于GCP开发的API,同样可以通过Google Cloud APIs管理接口。在GCP之上,Firebase、Assistant、Google Home这些产品有自己的控制台,每个控制台可以编辑特定的功能。在这些控制台创建项目之后会在Cloud控制台上创建同样的项目。
一般提供REST API、gRPC、客户端库等方式集成
Google Cloud SDK
Google Cloud SDK主要包含两部分功能:
- gCloud CLI命令行工具快速调用APIs
- 不同语言的Google Cloud客户端库:封装了所有Google Cloud APIs调用,持续更新优化。
使用的时候挑选特定的库即可,不需要全部依赖。
重要地址:
- SDK文档地址:Java Cloud Client Libraries
- SDK源码地址:google-cloud-java、google-cloud-python。