開源巨獻:Google最熱門40款開源項目

ZacharyLaue 8年前發布 | 22K 次閱讀 開源

本文為大家整理了 Google 開源的項目,看看有沒有感興趣的,排名順序按照 Github ★Star 數排列。

0、機器學習系統 TensorFlow ★Star 62533

TensorFlow 是谷歌的第二代機器學習系統,按照谷歌所說,在某些基準測試中,TensorFlow的表現比第一代的DistBelief快了2倍。TensorFlow 內建深度學習的擴展支持,任何能夠用計算流圖形來表達的計算,都可以使用TensorFlow。任何基于梯度的機器學習算法都能夠受益于TensorFlow的自動分 化(auto-differentiation)。通過靈活的Python接口,要在TensorFlow中表達想法也會很容易。(詳情: https://github.com/tensorflow/tensorflow

1、material-design-icons ★ Star  30315

Google 開源了 Material Design 系統圖標包其中的 750 個字形。該系統圖標包含常用的圖標,如用于媒體播放、通訊、內容編輯、連接等等。在 Web 應用,安卓和 iOS 設計均適用。(詳情: http://google.github.io/material-design-icons/

2、前端開發工具組 MDL ★ Star  27873

MDL (Material Design Lite) 是 Google 推出的網站前端開發工具組。Material Design Lite (MDL)可以讓你添加一個 Material Design 的外觀和感覺到你的靜態內容網站,不依賴于任何的 Java 框架和庫。MDL 可以優化跨設備的使用體驗,可以在舊版的瀏覽器進行平滑的切換,提供非常快速的訪問體驗。(詳情: https://github.com/google/material-design-lite

3、Web 前端框架 Angular ★ Star  25524

Angular 是一款十分流行且好用的 Web 前端框架,目前由 Google 維護。官方已將 Angular 2 和之前的版本 Angular.js 分開維護(兩者的 GitHub 地址和項目主頁皆不相同)。漸進式 Web 應用,借助現代化 Web 平臺的力量,交付 app 式體驗。高性能、離線化、零安裝。(詳情: https://github.com/angular/angular

4、容器集群管理系統 Kubernetes ★ Star  24599

Kubernetes 是來自 Google 云平臺的開源容器集群管理系統。基于 Docker 構建一個容器的調度服務。該系統可以自動在一個容器集群中選擇一個工作容器供使用。其核心概念是 Container Pod。(詳情: https://github.com/kubernetes/kubernetes

5、數據描述語言 protobuf ★ Star  18447

Protocol Buffers (ProtocolBuffer/ protobuf )是Google公司開發的一種數據描述語言,類似于XML能夠將結構化數據序列化,可用于數據存儲、通信協議等方面。現階段支持C++、JAVA、Python等三種編程語言。同XML相比,Protocol buffers在序列化結構化數據方面有許多優點(詳情: https://github.com/google/protobuf

6、Java 常用庫 Guava ★ Star  17267

該項目是 Google 的一個開源項目,包含許多 Google 核心的 Java 常用庫。(詳情: https://github.com/google/guava

7、Spark ★ Star  13378

Spark 是谷歌公司推出的一款基于 Chrome 瀏覽器的開發環境。提供一組可重用的 UI 組件。采用 Dart 開發。(安裝方法: https://github.com/dart-lang/spark/tree/master/ide

8、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

9、高質量壓縮圖片算法工具Guetzli  ★ Star  9959

Guetzli,是一個針對數碼圖像和網頁圖像的 JPEG 編碼器,能夠通過產生更小的 JPEG 文件來達到更快的在線體驗,并且同時保持與當前瀏覽器,圖像處理應用和 JPEG 標準的兼容性。Google 稱 Guetzli 創建高質量的 JPEG 圖像文件的大小比當前的壓縮方法要再小 35%。上圖為 16x16 像素樣本,是掛在藍天下的一根電話線,傳統 JPEG 算法經常會遇到的失真狀況。左邊是未壓縮的原圖,中間為較小尺寸的 libjpeg,右邊是失真更少的 Guetzli 。(詳情: https://github.com/google/guetzli

10、k/v數據庫 Leveldb  ★ Star  9799

Leveldb是一個google實現的非常高效的kv數據庫,目前的版本1.2能夠支持billion級別的數據量了。 在這個數量級別下還有著非常高的性能,主要歸功于它的良好的設計。特別是LSM算法。(詳情: https://github.com/google/leveldb

11、自動化網絡審查工具 Lighthouse ★ Star  9400

Lighthouse 是一個開源的自動化工具,用于改進網絡應用的質量。 可以將其作為一個 Chrome 擴展程序運行,或從命令行運行。 當為 Lighthouse 提供一個要審查的網址,它將針對此頁面運行一連串的測試,然后生成一個有關頁面性能的報告。可以參考失敗的測試,看看可以采取哪些措施來改進應用。(詳情: https://github.com/GoogleChrome/lighthouse

12、Gson ★ Star  9261

Gson 是 Google 提供的用來在 Java 對象和 JSON 數據之間進行映射的 Java 類庫。可以將一個 JSON 字符串轉成一個 Java 對象,或者反過來。(詳情: https://github.com/google/gson

13、最小系統加載工具 systemjs ★ Star  8356

systemjs 是一個最小系統加載工具,用來創建插件來處理可替代的場景加載過程,包括加載 CSS 場景和圖片,主要運行在瀏覽器和 NodeJS 中。它是 ES6 瀏覽器加載程序的的擴展,將應用在本地瀏覽器中。通常創建的插件名稱是模塊本身,要是沒有特意指定用途,則默認插件名是模塊的擴展名稱。(詳情: https://github.com/systemjs/systemjs

14、序列化庫 FlatBuffers ★ Star  7991

FlatBuffers 是一個 Java 的序列化庫,用于游戲和其他內存受限的應用。FlatBuffers 可以讓你直接訪問序列化后的數據,無需解壓并進行解析的過程。同時提供很強的向前和向后兼容性。FlatBuffers 支持 C++ 和 Java 語言,無需依賴第三方庫支持。(詳情: https://github.com/google/flatbuffers

15、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

16、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

17、Java 編譯器 Traceur ★ Star  7300

Traceur 是一個來自 Google 的 Java 編譯器,通過它可以體驗一些很新并且有趣的 Java 語言特性,這些多數是還沒有被當前瀏覽器實現的 ECMA 標準或草案,比如:數組比較、類、模塊、迭代器、方法參數默認值、Promise等。(詳情: https://github.com/google/traceur-compiler

18、媒體播放器 ExoPlayer ★ Star  7152

ExoPlayer 是 Android 上一個應用級的媒體播放器。它為 Android MediaPlayer 的 API 在播放本地或在線的視頻與音頻上提供了一個候選。ExoPlayer 支持一些 Android MediaPlayer API 無法提供的特性,包括 DASH 和 SmoothStreaming 自適應回放,持久的高速緩存和自定義渲染器。不像 MediaPlayer API,EXOPlayer 很容易定制和擴展,而且它可以通過 Play Store 更新升級。(詳情: https://github.com/google/ExoPlayer

19、代碼構建工具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

21、自動生成命令行界面的內容庫 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

22、軟硬件框架AnyPixel.js  ★ Star  5906

AnyPixel.js 是 Google 開源的一個軟件和硬件框架,可以用來構建各種由“像素”構成的展示,每個像素可以是任何一種可交互的實體對象,如 LED 燈、氣球等。(詳情: https://github.com/googlecreativelab/anypixel

23、物聯網工具Physical Web ★ Star  5899

Physical Web 是由 Chrome 團隊主導的一個項目, 意在用 URL 連接世界, 方便用戶接受數據。在Web世界中,各種URL可以說是鏈接的基礎,也是去中心化的,所以“The Physical Web”要做的就是讓每個智能設備用URL來標識自己,然后用戶按照自己的需要通過URL和設備進行交互。這樣一來,你使用智能設備的體驗就和在網站上使 用各種超鏈接差不多了。(詳情: https://github.com/google/physical-web

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

Advisor 是谷歌公司用來分析運行中的 Docker 容器的資源占用以及性能特性的工具。cAdvisor 是一個運行中的守護進程用來收集、聚合、處理和導出運行容器相關的信息,每個容器保持獨立的參數、歷史資源使用情況和完整的資源使用數據。當前支持 lmctfy 容器和 Docker 容器。(詳情: https://github.com/google/cadvisor

25、C++單元測試工具 ★ Star  5755

Google的開源C++單元測試框架Google Test,簡稱gtest 是一個非常的不錯單元測試框架。支持跨平臺以及包括 Windows CE 和 Symbian 在內的一些手機操作系統。(詳情: https://github.com/google/googletest

26、IndexedDB 關系查詢引擎 lovefield ★ Star  5532

lovefield 是建立在 IndexedDB 上的關系查詢引擎。它提供了類似 SQL 的語法,并且可以跨瀏覽器工作(目前支持 Chrome 37 及以上版本,Firefox 31 及以上版本,IE 10 及以上版本)。(詳情: https://github.com/google/lovefield

27、 Java 生成器源代碼集合 Auto ★ Star  5295

Auto 是 Java 生成器源代碼集合,Java 有許多機械、重復、未經測試的代碼,而且有時會出現一些微妙的 Bug 。Auto 項目是自動執行這些類型的任務的代碼生成器的集合,他們可以無 Bug 創建你要編寫的代碼。(詳情: https://github.com/google/auto

28、Python 代碼格式化的工具 ★ Star  5197

YAPF 是 Google 開發的一個用來格式化 Python 代碼的工具。(詳情: https://github.com/google/yapf

29、基于 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

31、負載均衡系統 Seesaw ★ Star  4286

Seesaw 是 Google 開源的一個基于 Linux 的負載均衡系統。Seesaw 包含基本的負載均衡特性,同時支持一些高級的功能,諸如:anycast, Direct Server Return (DSR), 支持多個 VLANs 和集中式配置。同時其設計的宗旨是易于維護。(詳情: https://github.com/google/seesaw

32、Gumbo ★ Star  4060

Gumbo 是 Google 的一款用C語言實現的HTML5解析庫,無需任何外部依賴。(詳情: https://github.com/google/gumbo-parser

33、GXUI ★ Star  3803

GXUI 是 Google 出品的一個跨平臺 GO 語言的 UI 框架。(詳情: https://github.com/google/gxui

34、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

35、Blockly ★ Star  3520

Blockly 是一個基于 Web 的可視化編程工具,只需要拖動幾個圖形就可以編程, 完全不需要打字. 根據項目FAQ介紹, 這個新語言的主要目的是為web應用提供宏(或腳本編 程)的支持. 可以把生成的腳本輸出成java, python 等.已經有幾個利用Blockly的demo.(詳情: https://github.com/google/blockly

36、go-github ★ Star  2707

go-github 是 Google 對 Github 的開放 API 進行 Go 語言封裝的一個項目。(詳情: https://github.com/google/go-github

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

error-prone 用來抓取 Java 編譯時的錯誤。通常使用編譯器只能做靜態類型的檢查。但使用此工具,能夠進行編譯器的類型分析,能夠檢測并抓取到編譯過程中的 Bug,能夠大大的節約開發者的時間。(詳情: https://github.com/google/error-prone

38、ROS 系統支持的 SLAM 庫 Cartographer ★ Star  2700

Cartographer,是Google開源的一個ROS系統支持的2D和3D SLAM(simultaneous localization and mapping)庫。SLAM 算法結合來自多個傳感器(比如,LIDAR、IMU 和 攝像頭)的數據,同步計算傳感器的位置并繪制傳感器周圍的環境。在產業界和學術界常見的傳感器配置上,Cartographer 能實時建立全局一致的地圖。(詳情: https://github.com/googlecartographer/cartographer

39、安卓電量分析工具 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

 

來自:http://www.iteye.com/news/32840

 

 本文由用戶 ZacharyLaue 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!