30个谷歌开源项目(欢迎补充!)

1.机器学习系统 TensorFlow

TensorFlow 是谷歌的第二代机器学习系统,据谷歌说,在某些基准测试中,TensorFlow 的表现比第一代的 DistBelief 快了 2 倍。TensorFlow 内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用 TensorFlow。任何基于梯度的机器学习算法都能够受益于 TensorFlow 的自动分化(auto-differentiation)。通过灵活的 Python 接口,要在 TensorFlow 中表达想法也会很容易。

30个谷歌开源项目(欢迎补充!)

中文社区:http://www.tensorfly.cn/

2.material-design-icons

30个谷歌开源项目(欢迎补充!)

Google 开源了 Material Design 系统图标包其中的 750 个字形。该系统图标包含常用的图标,如用于媒体播放、通讯、内容编辑、连接等等。在 Web 应用,安卓和 iOS 设计均适用。

3.前端开发工具组 MDL

30个谷歌开源项目(欢迎补充!)

MDL (Material Design Lite) 是 Google 推出的网站前端开发工具组。Material Design Lite (MDL)可以让你添加一个 Material Design 的外观和感觉到你的静态内容网站,不依赖于任何的 Java 框架和库。MDL 可以优化跨设备的使用体验,可以在旧版的浏览器进行平滑的切换,提供非常快速的访问体验。

4.Web 前端框架 Angular

30个谷歌开源项目(欢迎补充!)

Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 维护。官方已将 Angular 2 和之前的版本 Angular.js 分开维护(两者的 GitHub 地址和项目主页皆不相同)。渐进式 Web 应用,借助现代化 Web 平台的力量,交付 app 式体验。高性能、离线化、零安装。

5.容器集群管理系统 Kubernetes

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统可以自动在一个容器集群中选择一个工作容器供使用。其核心概念是 Container Pod。

6.数据描述语言 protobuf

Protocol Buffers (ProtocolBuffer/ protobuf )是 Google 公司开发的一种数据描述语言,类似于 XML 能够将结构化数据序列化,可用于数据存储、通信协议等方面。现阶段支持C++、JAVA、Python 等三种编程语言。同 XML 相比,Protocol buffers 在序列化结构化数据方面有许多优点。

7.Java 常用库 Guava

该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。

8.Spark

Spark 是谷歌公司推出的一款基于 Chrome 浏览器的开发环境。提供一组可重用的 UI 组件。采用 Dart 开发。

9.RPC 框架 GRPC

GRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持 .GRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

10.高质量压缩图片算法工具 Guetzli

Guetzli,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPEG 文件来达到更快的在线体验,并且同时保持与当前浏览器,图像处理应用和 JPEG 标准的兼容性。Google 称 Guetzli 创建高质量的 JPEG 图像文件的大小比当前的压缩方法要再小 35%。上图为 16×16 像素样本,是挂在蓝天下的一根电话线,传统 JPEG 算法经常会遇到的失真状况。左边是未压缩的原图,中间为较小尺寸的 libjpeg,右边是失真更少的 Guetzli 。

11.k/v数据库 Leveldb

Leveldb 是一个 google 实现的非常高效的 kv 数据库,目前的版本 1.2 能够支持 billion 级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是 LSM 算法。

12.自动化网络审查工具 Lighthouse

Lighthouse 是一个开源的自动化工具,用于改进网络应用的质量。 可以将其作为一个 Chrome 扩展程序运行,或从命令行运行。 当为 Lighthouse 提供一个要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。可以参考失败的测试,看看可以采取哪些措施来改进应用。

13.Gson

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。

14.最小系统加载工具 systemjs

systemjs 是一个最小系统加载工具,用来创建插件来处理可替代的场景加载过程,包括加载 CSS 场景和图片,主要运行在浏览器和 NodeJS 中。它是 ES6 浏览器加载程序的的扩展,将应用在本地浏览器中。通常创建的插件名称是模块本身,要是没有特意指定用途,则默认插件名是模块的扩展名称。

15.序列化库 FlatBuffers

FlatBuffers 是一个 Java 的序列化库,用于游戏和其他内存受限的应用。FlatBuffers 可以让你直接访问序列化后的数据,无需解压并进行解析的过程。同时提供很强的向前和向后兼容性。FlatBuffers 支持 C++ 和 Java 语言,无需依赖第三方库支持。

16.Xi 文本编辑器 Xi Editor

Xi Editor 是 Google 开源的一款用 Rust 语言编写的文本编辑器,最初是为 Mac OS X 构建的,使用 Cocoa 作为用户界面,已有计划适配其它平台。所有编辑操作都可以在 16ms 之内提交并处理。文本绘制使用最好的技术(如 Mac 上的 Core Text,Windows 上的 DirectWrite 等),并完全支持 Unicode。

17.Grumpy

Grumpy 是一个 Python to Go 源代码翻译编译器和运行时,旨在替代 CPython 2.7。 关键的区别是它将 Python 源代码编译为 Go 源代码,然后将其编译为本机代码,而不是字节码。这意味着 Grumpy 没有 VM。编译的 Go 源代码是对 Grumpy 运行时的一系列调用,Go 库服务与 Python C API 类似的目的(尽管不直接支持 C API)。

18.Java 编译器 Traceur

Traceur 是一个来自 Google 的 Java 编译器,通过它可以体验一些很新并且有趣的 Java 语言特性,这些多数是还没有被当前浏览器实现的 ECMA 标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise 等。

19.媒体播放器 ExoPlayer

ExoPlayer 是 Android 上一个应用级的媒体播放器。它为 Android MediaPlayer 的 API 在播放本地或在线的视频与音频上提供了一个候选。ExoPlayer 支持一些 Android MediaPlayer API 无法提供的特性,包括 DASH 和 SmoothStreaming 自适应回放,持久的高速缓存和自定义渲染器。不像 MediaPlayer API,EXOPlayer 很容易定制和扩展,而且它可以通过 Play Store 更新升级。

20.代码构建工具 Bazel

Bazel 是 Google 的一款可再生的代码构建工具。它主要是用于构建 Google 的软件,处理出现在谷歌的开发环境的构建问题,比如说:大规模数据构建问题,共享代码库问题,从源代码构建的软件的相关问题。支持多种语言并且跨平台,还支持自动化测试和部署、具有再现性(Reproducibility)和规模化等特征。

21.创作艺术和谱写曲子的机器智能 magenta

Google Brain 团队的一组研究人员发布了一个项目 Project Magenta,其主要目标是利用机器学习创作艺术和谱写曲子。Project Magenta 使用了 TensorFlow 系统,研究人员在 GitHub 上开源了他们的模型和工具。

22.自动生成命令行界面的内容库 Python Fire

Python Fire 是 Google 开源的一个可从任何 Python 代码自动生成命令行接口(CLI)的库。Python Fire 是一种在 Python 中创建 CLI 的简单方法;是开发和调试 Python 代码的有用工具;能够使 Bash 和 Python 之间的转换更为容易;并且通过使用你需要导入和创建的模块和变量来设置 REPL,使得使用 Python REPL 更容易。

23.软硬件框架 AnyPixel.js

AnyPixel.js 是 Google 开源的一个软件和硬件框架,可以用来构建各种由“像素”构成的展示,每个像素可以是任何一种可交互的实体对象,如 LED 灯、气球等。

24.物联网工具 Physical Web

Physical Web 是由 Chrome 团队主导的一个项目, 意在用 URL 连接世界, 方便用户接受数据。在 Web 世界中,各种 URL 可以说是链接的基础,也是去中心化的,所以“The Physical Web”要做的就是让每个智能设备用 URL 来标识自己,然后用户按照自己的需要通过 URL 和设备进行交互。这样一来,你使用智能设备的体验就和在网站上使用各种超链接差不多了。

25.Docker 容器性能分析工具 cAdvisorc

Advisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。cAdvisor 是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的信息,每个容器保持独立的参数、历史资源使用情况和完整的资源使用数据。当前支持 lmctfy 容器和 Docker 容器。

26.C++单元测试工具

Google 的开源 C++ 单元测试框架 Google Test,简称 gtest 是一个非常的不错单元测试框架。支持跨平台以及包括 Windows CE 和 Symbian 在内的一些手机操作系统。

27.IndexedDB 关系查询引擎 lovefield

lovefield 是建立在 IndexedDB 上的关系查询引擎。它提供了类似 SQL 的语法,并且可以跨浏览器工作(目前支持 Chrome 37 及以上版本,Firefox 31 及以上版本,IE 10 及以上版本)。

28.Java 生成器源代码集合 Auto

Auto 是 Java 生成器源代码集合,Java 有许多机械、重复、未经测试的代码,而且有时会出现一些微妙的 Bug 。Auto 项目是自动执行这些类型的任务的代码生成器的集合,他们可以无 Bug 创建你要编写的代码。

29.Python 代码格式化的工具

YAPF 是 Google 开发的一个用来格式化 Python 代码的工具。

30.基于 TensorFlow 的神经网络库 Sonnet

Sonnet 库使用面向对象的方法,允许创建定义一些前向传导计算的模块。模块用一些输入 Tensor 调用,添加操作到图里并返回输出 Tensor。其中一种设计选择是通过在随后调用相同的模块时自动重用变量来确保变量分享被透明化处理。 该库兼容 Linux/Mac OS X 和 Python 2.7。TensorFlow 的版本必须至少为 1.0.1。Sonnet 支持 TensorFlow 的 virtualenv 安装模式,以及 nativ pip 安装。

相关推荐