开源巨献:Google最热门60款开源项目

0、机器学习系统 TensorFlow ★Star 62533javascript

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

一、material-design-icons ★Star 30315java

Google 开源了 Material Design 系统图标包其中的 750 个字形。该系统图标包含经常使用的图标,如用于媒体播放、通信、内容编辑、链接等等。在 Web 应用,安卓和 iOS 设计均适用。(详情:http://google.github.io/material-design-icons/python

二、前端开发工具组 MDL ★Star 27873git

MDL (Material Design Lite) 是 Google 推出的网站前端开发工具组。Material Design Lite (MDL)可让你添加一个 Material Design 的外观和感受到你的静态内容网站,不依赖于任何的 JavaScript 框架和库。MDL 能够优化跨设备的使用体验,能够在旧版的浏览器进行平滑的切换,提供很是快速的访问体验。(详情:https://github.com/google/material-design-litegithub

三、Web 前端框架 Angular ★Star 25524web

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

四、容器集群管理系统 Kubernetes ★Star 24599数据库

Kubernetes 是来自 Google 云平台的开源容器集群管理系统。基于 Docker 构建一个容器的调度服务。该系统能够自动在一个容器集群中选择一个工做容器供使用。其核心概念是 Container Pod。(详情:https://github.com/kubernetes/kubernetes编程

五、数据描述语言 protobuf ★Star 18447

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

六、Java 经常使用库 Guava ★Star 17267

该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 经常使用库。(详情:https://github.com/google/guava

七、Spark ★Star 13378

Spark 是谷歌公司推出的一款基于 Chrome 浏览器的开发环境。提供一组可重用的 UI 组件。采用 Dart 开发。(安装方法:https://github.com/dart-lang/spark/tree/master/ide

八、RPC 框架 GRPC ★Star 10363

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 链接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。(详情:https://github.com/grpc/grpc

九、高质量压缩图片算法工具Guetzli ★Star 9959

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

十、k/v数据库 Leveldb ★Star 9799

Leveldb是一个google实现的很是高效的kv数据库,目前的版本1.2可以支持billion级别的数据量了。 在这个数量级别下还有着很是高的性能,主要归功于它的良好的设计。特别是LSM算法。(详情:https://github.com/google/leveldb

十一、自动化网络审查工具 Lighthouse ★Star 9400

Lighthouse 是一个开源的自动化工具,用于改进网络应用的质量。 能够将其做为一个 Chrome 扩展程序运行,或从命令行运行。 当为 Lighthouse 提供一个要审查的网址,它将针对此页面运行一连串的测试,而后生成一个有关页面性能的报告。能够参考失败的测试,看看能够采起哪些措施来改进应用。(详情:https://github.com/GoogleChrome/lighthouse

十二、Gson ★Star 9261

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。能够将一个 JSON 字符串转成一个 Java 对象,或者反过来。(详情:https://github.com/google/gson

1三、最小系统加载工具 systemjs ★Star 8356

systemjs 是一个最小系统加载工具,用来建立插件来处理可替代的场景加载过程,包括加载 CSS 场景和图片,主要运行在浏览器和 NodeJS 中。它是 ES6 浏览器加载程序的的扩展,将应用在本地浏览器中。一般建立的插件名称是模块自己,要是没有特地指定用途,则默认插件名是模块的扩展名称。(详情:https://github.com/systemjs/systemjs

1四、序列化库 FlatBuffers ★Star 7991

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

1五、Xi 文本编辑器 Xi Editor ★Star 8000

Xi Editor 是 Google 开源的一款用 Rust 语言编写的文本编辑器,最初是为 Mac OS X 构建的,使用 Cocoa 做为用户界面,已有计划适配其它平台。全部编辑操做均可以在 16ms 以内提交并处理。文本绘制使用最好的技术(如 Mac 上的 Core Text,Windows 上的 DirectWrite 等),并彻底支持 Unicode。(详情:https://github.com/google/xi-editor

1六、Grumpy ★Star 7760

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

1七、Javascript 编译器 Traceur ★Star 7300

Traceur 是一个来自 Google 的 Javascript 编译器,经过它能够体验一些很新而且有趣的 Javascript 语言特性,这些多数是尚未被当前浏览器实现的 ECMAScript 标准或草案,好比:数组比较、类、模块、迭代器、方法参数默认值、Promise等。(详情:https://github.com/google/traceur-compiler

1八、媒体播放器 ExoPlayer ★Star 7152

ExoPlayer 是 Android 上一个应用级的媒体播放器。它为 Android MediaPlayer 的 API 在播放本地或在线的视频与音频上提供了一个候选。ExoPlayer 支持一些 Android MediaPlayer API 没法提供的特性,包括 DASH 和 SmoothStreaming 自适应回放,持久的高速缓存和自定义渲染器。不像 MediaPlayer API,EXOPlayer 很容易定制和扩展,并且它能够经过 Play Store 更新升级。(详情:https://github.com/google/ExoPlayer

1九、代码构建工具Bazel ★Star 6641

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

20、创做艺术和谱写曲子的机器智能 magenta ★Star 6563

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

2一、自动生成命令行界面的内容库 Python Fire ★Star 6500

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

(详情:https://github.com/google/python-fire

2二、软硬件框架AnyPixel.js ★Star 5906

AnyPixel.js 是 Google 开源的一个软件和硬件框架,能够用来构建各类由“像素”构成的展现,每一个像素能够是任何一种可交互的实体对象,如 LED 灯、气球等。(详情:https://github.com/googlecreativelab/anypixel

2三、物联网工具Physical Web ★Star 5899

Physical Web 是由 Chrome 团队主导的一个项目, 意在用 URL 链接世界, 方便用户接受数据。在Web世界中,各类URL能够说是连接的基础,也是去中心化的,因此“The Physical Web”要作的就是让每一个智能设备用URL来标识本身,而后用户按照本身的须要经过URL和设备进行交互。这样一来,你使用智能设备的体验就和在网站上使 用各类超连接差很少了。(详情:https://github.com/google/physical-web

2四、Docker 容器性能分析工具cAdvisorc ★Star 5853

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

2五、C++单元测试工具 ★Star 5755

Google的开源C++单元测试框架Google Test,简称gtest 是一个很是的不错单元测试框架。支持跨平台以及包括 Windows CE 和 Symbian 在内的一些手机操做系统。(详情:https://github.com/google/googletest

2六、IndexedDB 关系查询引擎 lovefield ★Star 5532

lovefield 是创建在 IndexedDB 上的关系查询引擎。它提供了相似 SQL 的语法,而且能够跨浏览器工做(目前支持 Chrome 37 及以上版本,Firefox 31 及以上版本,IE 10 及以上版本)。(详情:https://github.com/google/lovefield

2七、 Java 生成器源代码集合 Auto ★Star 5295

Auto 是 Java 生成器源代码集合,Java 有许多机械、重复、未经测试的代码,并且有时会出现一些微妙的 Bug 。Auto 项目是自动执行这些类型的任务的代码生成器的集合,他们能够无 Bug 建立你要编写的代码。(详情:https://github.com/google/auto

2八、Python 代码格式化的工具 ★Star 5197

YAPF 是 Google 开发的一个用来格式化 Python 代码的工具。(详情:https://github.com/google/yapf

2九、基于 TensorFlow 的神经网络库 Sonnet ★Star 5000

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

30、无损压缩算法Brotli ★Star 4822

Brotli 是一个通用目的的无损压缩算法,它经过用变种的 LZ77 算法,Huffman 编码和二阶文本建模进行数据压缩,是一种压缩比很高的压缩方法。在压缩速度上跟 Deflate 差很少,可是提供了更密集的压缩。(详情:https://github.com/google/brotli

3一、负载均衡系统 Seesaw ★Star 4286

Seesaw 是 Google 开源的一个基于 Linux 的负载均衡系统。Seesaw 包含基本的负载均衡特性,同时支持一些高级的功能,诸如:anycast, Direct Server Return (DSR), 支持多个 VLANs 和集中式配置。同时其设计的宗旨是易于维护。(详情:https://github.com/google/seesaw

3二、Gumbo ★Star 4060

Gumbo 是 Google 的一款用C语言实现的HTML5解析库,无需任何外部依赖。(详情:https://github.com/google/gumbo-parser

3三、GXUI ★Star 3803

GXUI 是 Google 出品的一个跨平台 GO 语言的 UI 框架。(详情:https://github.com/google/gxui

3四、iOS UI 测试自动化框架 EarlGrey ★Star 3721

听从开源Apache受权的EarlGrey,由Objective-C编写而成。Google也确实用的它来测试自家的iOS app。EarlGrey可支持和模拟回溯至iOS 8的设备,有关该工具的详细文档请戳这里。除了EarlGrey,其它iOS UI测试自动化框架还包括Calabash和Sauce Labs的Appium。(详情:https://github.com/google/EarlGrey

3五、Blockly ★Star 3520

Blockly 是一个基于 Web 的可视化编程工具,只须要拖动几个图形就能够编程, 彻底不须要打字. 根据项目FAQ介绍, 这个新语言的主要目的是为web应用提供宏(或脚本编 程)的支持. 能够把生成的脚本输出成javascript, python 等.已经有几个利用Blockly的demo.(详情:https://github.com/google/blockly

3六、go-github ★Star 2707

go-github 是 Google 对 Github 的开放 API 进行 Go 语言封装的一个项目。(详情:https://github.com/google/go-github

3七、抓取bug工具 error-prone ★Star 2708

error-prone 用来抓取 Java 编译时的错误。一般使用编译器只能作静态类型的检查。但使用此工具,可以进行编译器的类型分析,可以检测并抓取到编译过程当中的 Bug,可以大大的节约开发者的时间。(详情:https://github.com/google/error-prone

3八、ROS 系统支持的 SLAM 库 Cartographer ★Star 2700

Cartographer,是Google开源的一个ROS系统支持的2D和3D SLAM(simultaneous localization and mapping)库。SLAM 算法结合来自多个传感器(好比,LIDAR、IMU 和 摄像头)的数据,同步计算传感器的位置并绘制传感器周围的环境。在产业界和学术界常见的传感器配置上,Cartographer 能实时创建全局一致的地图。(详情:https://github.com/googlecartographer/cartographer

3九、安卓电量分析工具 Battery Historian ★Star 2579

Battery Historian 是一个经过分析安卓 "bugreport" 进程文件来统计电量消费状况。它容许应用程序开发人员在时间线上可视化系统和应用程序级事件,具备平移和缩放功能,在设备上彻底充电后能够轻松查看各类汇总统计信息,并能选择应用程序,检查影响应用程序特定电池的指标。 它还容许两个错误报告的A / B比较,突出显示关键电池相关指标的差别。(详情:https://github.com/google/battery-historian

40、通用编码器&解码器框架 seq2seq ★Star 2433

seq2seq 是 Google 开源的一款用于 TensorFlow 的通用编码器&解码器框架(encoder-decoder framework),可用于机器翻译、文本摘要、会话建模、图像描述等。(详情:https://github.com/google/seq2seq

4一、Web应用 Tracing Framework ★Star 2371

Tracing Framework 是一套库、工具,用于跟踪和调查复杂的 Web 应用。它就能够帮你发现代码的性能问题,而且帮你打造十分流畅的 60 FPS Web 应用。它目前只能用于特定的应用场合,并非为应用于全部场景而设计,若是你在使用过程当中遇到了问题,请呈递你的 Bug。(详情:https://github.com/google/tracing-framework

4二、深度几率编程语言 Edward ★Star 2395

Edward 是一个用于几率建模、推理和评估的 Python 库。它是一个用于快速实验和研究几率模型的测试平台,其涵盖的模型范围从在小数据集上的经典层次模型到在大数据集上的复杂深度几率模型。Edward 融合了如下三个领域:贝叶斯统计学和机器学习、深度学习、几率编程。(详情:https://github.com/blei-lab/edward

4三、JavaScript 库 Closure Library ★Star 2257

Closure Library 是一个强大的 JavaScript 库,用于复杂的大规模的 Web 应用。它被许多 Google Web 应用使用,好比 Gmail 和 Google Docs。(详情:https://github.com/google/closure-library

4四、大型微服务系统管理工具 Istio ★Star 2291

Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务链接、安全保障、管理与监控方式。Istio 项目可以为微服务架构提供流量管理机制,同时亦为其它增值功能(包括安全性、监控、路由、链接管理与策略等)创造了基础。这款软件利用久经考验的 Lyft Envoy 代理进行构建,可在无需对应用程序代码做出任何发动的前提下实现可视性与控制能力。(详情:https://github.com/istio/istio

4五、远程现场取证系统 GRR ★Star 2100

GRR 是 Google 开发的远程现场事件取证系统。GRR 由一个代理(客户端)和服务器端组成,客户端能够部署在一个任务系统中,服务器能够管理客户端,跟客户端进行交互。(详情:https://github.com/google/grr

4六、Android 的悬浮操做栏 Hover ★Star 2053

Hover 是一个用于 Android 的悬浮操做栏。该菜单栏能够做为一个 service 启动,从而跨进程使用,悬浮在桌面或者其余应用程序的前面,固然,这里须要申请权限。 Hover 仍处在开发阶段,还有不少代码清理工做须要作,也就是说,Hover 如今仅仅处于可用状态。(详情:https://github.com/google/hover

4七、模块化深度学习系统 Tensor2Tensor ★Star 2000

Tensor2Tensor 是一个模块化和可扩展的库和二进制文件, 可以帮助人们为各类机器学习程序建立最早进的模型,可应用于多个领域,如翻译、语法分析、图像信息描述等,大大提升了研究和开发的速度。(详情:https://github.com/tensorflow/tensor2tensor

4八、Google 模糊测试服务 OSS-Fuzz ★Star 1781

OSS-Fuzz 可以针对开源软件进行持续的模糊测试,它的目的是利用更新的模糊测试技术与可拓展的分布式执行相结合,提升通常软件基础架构的安全性与稳定性。OSS-Fuzz 结合了多种模糊测试技术/漏洞捕捉技术(即原来的libfuzzer)与清洗技术(即原来的 AddressSanitizer),而且经过 ClusterFuzz 为大规模可分布式执行提供了测试环境。(详情:https://github.com/google/oss-fuzz

4九、优化搜索工具or-tools ★Star 1771

or-tools 是 Google 的优化搜索工具。Google 优化工具包括:约束编程解决方案;为线性规划和混合整数规划解决方案提供简单统一的接口,包括 CBC, CLP, GLOP, GLPK, Gurobi, SCIP, 和 Sulum;背包算法;图算法 (最短路径,线性和分配,最小费用流,最大流)(详情:https://github.com/google/or-tools

50、加密库安全测试套件 Wycheproof ★Star 1722

Wycheproof 是谷歌开源的加密库测试项目,它包含一系列安全测试,用来检测加密库(cryptographic libraries)软件是否存在已知的攻击漏洞。(详情:https://github.com/google/wycheproof

5一、Common Lisp Koans ★Star 1695

Common Lisp Koans(lisp-koans)是一个语言学习练习程序,相似 ruby koans,python koans 等等。Common Lisp Koans 主要是帮助学习一些 lisp 规范特性和改进,能够学习到大量的 Common Lisp 语言特性。(详情:https://github.com/google/lisp-koans

5二、 3D 图形开源压缩库 Draco ★Star 1600

Draco 是一种库,用于压缩和解压缩 3D 几何网格(geometric mesh)和点云(point cloud)。换句话说,它显著缩小了 3D 图形文件的大小,同时对 3D 图形的观看者来讲又根本不严重影响视觉效果。它还旨在改善 3D 图形的压缩和传输。Draco 是做为 C++ 源代码发布的,能够用来压缩 3D 图形,另外还发布了处理编码数据的 C++ 和 Javascript 解码器。(详情:https://github.com/google/draco

5三、 JavaScript 库 Shaka Player ★Star 1354

Shaka Player 它实现了 DASH 客户端的功能。它的播放功能基于 HTML5 video、MediaSource Extensions,和 Encrypted Media Extensions 。通常的 DASH 客户端功能很难实现。(详情:https://github.com/google/shaka-player

5四、TensorFlow 深度学习库 Fold ★Star 1192

TensorFlow Fold 是用于建立使用结构化数据的 TensorFlow 模型库,其中计算图的结构取决于输入数据的结构。 TensorFlow Fold 使得处理不一样数据尺寸和结构的深度学习模型更容易实现。(详情:https://github.com/tensorflow/fold

5五、Google 地球企业版 Earth Enterprise ★Star 1161

Earth Enterprise 是 Google Earth Enterprise 的开源版本,是一个提供构建和托管自定义 3D 地球模型和 2D 地图的地理空间应用,旨在让社区继续改进和推动该项目。(详情:https://github.com/google/earthenterprise

5六、图像差别比较库 Butteraugli ★Star 1100

Butteraugli 是用来评判两个图像之间的类似度。经过识别图像之间一些最受关注的差别点并给出类似度分值。这个项目的一个主要动机是对差别受体的不一样颜色的位置和密度的统计,特别是蓝色的低密度锥窝。另外一个动机来自于更准确的神经节细胞建模,特别是抑制频率空间。目前该项目只提供了 C++ 接口。(详情:https://github.com/google/butteraugli

5七、Go 语言实现的网络协协议栈 Netstack ★Star 1016

Netstack,使用 Go 语言编写的网络协议栈。经过安装 tun_tcp_echo demo 尝试在 Linux 上使用 。(详情:https://github.com/google/netstack

5八、钢琴二重奏 AI aiexperiments-ai-duet ★Star 883

“钢琴二重奏”的 A.I. Duet。该项目会在你弹出了几个音符以后,经过 AI 自动计算来帮你“补完”旋律的重奏部分。A.I. Duet 运用了人工智能技术,通晓音符的“编码规则”。(详情:https://github.com/googlecreativelab/aiexperiments-ai-duet

5九、端到端加密系统 E2EMail ★Star 704

E2EMail 是一个实验性质的端到端加密系统。E2EMail由Google开发,内置JavaScript内部开发的JavaScript加密库。它提供了一种经过Chrome扩展程序将OpenPGP集成到Gmail中的方法。消息的明文单独保留在客户端上。(详情:https://github.com/e2email-org/e2email

相关文章
相关标签/搜索