开源巨献:Google最热门60款开源项目(收藏)

sw

本文为大家整理了Google开源的项目,看看有没有感兴趣的,排名顺序按照Github★Star数排列。

0、机器学习系统TensorFlow★Star62533

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

1、material-design-icons★Star30315

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

2、前端开发工具组MDL★Star27873

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

3、Web前端框架Angular★Star25524

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

4、容器集群管理系统Kubernetes★Star24599

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

5、数据描述语言protobuf★Star18447

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

6、Java常用库Guava★Star17267

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

7、Spark★Star13378

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

8、RPC框架GRPC★Star10363

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

9、高质量压缩图片算法工具Guetzli★Star9959

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

10、k/v数据库Leveldb★Star9799

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

11、自动化网络审查工具Lighthouse★Star9400

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

12、Gson★Star9261

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

13、最小系统加载工具systemjs★Star8356

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

14、序列化库FlatBuffers★Star7991

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

15、Xi文本编辑器XiEditor★Star8000

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

16、Grumpy★Star7760

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

17、Javascript编译器Traceur★Star7300

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

18、媒体播放器ExoPlayer★Star7152

19、代码构建工具Bazel★Star6641

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

20、创作艺术和谱写曲子的机器智能magenta★Star6563

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

21、自动生成命令行界面的内容库PythonFire★Star6500

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

(详情:)

22、软硬件框架★Star5906

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

23、物联网工具PhysicalWeb★Star5899

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

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

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

25、C++单元测试工具★Star5755

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

26、IndexedDB关系查询引擎lovefield★Star5532

lovefield是建立在IndexedDB上的关系查询引擎。它提供了类似SQL的语法,并且可以跨浏览器工作(目前支持Chrome37及以上版本,Firefox31及以上版本,IE10及以上版本)。(详情:)

27、Java生成器源代码集合Auto★Star5295

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

28、Python代码格式化的工具★Star5197

YAPF是Google开发的一个用来格式化Python代码的工具。(详情:)

29、基于TensorFlow的神经网络库Sonnet★Star5000

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

30、无损压缩算法Brotli★Star4822

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

31、负载均衡系统Seesaw★Star4286

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

32、Gumbo★Star4060

Gumbo是Google的一款用C语言实现的HTML5解析库,无需任何外部依赖。(详情:)

33、GXUI★Star3803

GXUI是Google出品的一个跨平台GO语言的UI框架。(详情:)

34、iOSUI测试自动化框架EarlGrey★Star3721

遵从开源Apache授权的EarlGrey,由Objective-C编写而成。Google也确实用的它来测试自家的iOSapp。EarlGrey可支持和模拟回溯至iOS8的设备,有关该工具的详细文档请戳这里。除了EarlGrey,其它iOSUI测试自动化框架还包括Calabash和SauceLabs的Appium。(详情:)

35、Blockly★Star3520

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

36、go-github★Star2707

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

37、抓取bug工具error-prone★Star2708

error-prone用来抓取Java编译时的错误。通常使用编译器只能做静态类型的检查。但使用此工具,能够进行编译器的类型分析,能够检测并抓取到编译过程中的Bug,能够大大的节约开发者的时间。(详情:)

38、ROS系统支持的SLAM库Cartographer★Star2700

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

39、安卓电量分析工具BatteryHistorian★Star2579

BatteryHistorian是一个通过分析安卓"bugreport"进程文件来统计电量消费情况。它允许应用程序开发人员在时间线上可视化系统和应用程序级事件,具有平移和缩放功能,在设备上完全充电后可以轻松查看各种汇总统计信息,并能选择应用程序,检查影响应用程序特定电池的指标。它还允许两个错误报告的A/B比较,突出显示关键电池相关指标的差异。(详情:)

40、通用编码器解码器框架seq2seq★Star2433

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

41、Web应用TracingFramework★Star2371

TracingFramework是一套库、工具,用于跟踪和调查复杂的Web应用。它就可以帮你发现代码的性能问题,并且帮你打造十分流畅的60FPSWeb应用。它目前只能用于特定的应用场合,并不是为应用于所有场景而设计,如果你在使用过程中遇到了问题,请呈递你的Bug。(详情:)

42、深度概率编程语言Edward★Star2395

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

43、JavaScript库ClosureLibrary★Star2257

ClosureLibrary是一个强大的JavaScript库,用于复杂的大规模的Web应用。它被许多GoogleWeb应用使用,比如Gmail和GoogleDocs。(详情:)

44、大型微服务系统管理工具Istio★Star2291

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

45、远程现场取证系统GRR★Star2100

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

46、Android的悬浮操作栏Hover★Star2053

Hover是一个用于Android的悬浮操作栏。该菜单栏可以作为一个service启动,从而跨进程使用,悬浮在桌面或者其他应用程序的前面,当然,这里需要申请权限。Hover仍处在开发阶段,还有很多代码清理工作需要做,也就是说,Hover现在仅仅处于可用状态。(详情:)

47、模块化深度学习系统Tensor2Tensor★Star2000

Tensor2Tensor是一个模块化和可扩展的库和二进制文件,能够帮助人们为各种机器学习程序创建最先进的模型,可应用于多个领域,如翻译、语法分析、图像信息描述等,大大提高了研究和开发的速度。(详情:)

48、Google模糊测试服务OSS-Fuzz★Star1781

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

49、优化搜索工具or-tools★Star1771

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

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

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

51、CommonLispKoans★Star1695

CommonLispKoans(lisp-koans)是一个语言学习练习程序,类似rubykoans,pythonkoans等等。CommonLispKoans主要是帮助学习一些lisp规范特性和改进,可以学习到大量的CommonLisp语言特性。(详情:)

52、3D图形开源压缩库Draco★Star1600

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

53、JavaScript库ShakaPlayer★Star1354

ShakaPlayer它实现了DASH客户端的功能。它的播放功能基于HTML5video、MediaSourceExtensions,和EncryptedMediaExtensions。一般的DASH客户端功能很难实现。(详情:)

54、TensorFlow深度学习库Fold★Star1192

TensorFlowFold是用于创建使用结构化数据的TensorFlow模型库,其中计算图的结构取决于输入数据的结构。TensorFlowFold使得处理不同数据尺寸和结构的深度学习模型更容易实现。(详情:)

55、Google地球企业版EarthEnterprise★Star1161

EarthEnterprise是GoogleEarthEnterprise的开源版本,是一个提供构建和托管自定义3D地球模型和2D地图的地理空间应用,旨在让社区继续改进和推进该项目。(详情:)

56、图像差异比较库Butteraugli★Star1100

57、Go语言实现的网络协协议栈Netstack★Star1016

Netstack,使用Go语言编写的网络协议栈。通过安装tun_tcp_echodemo尝试在Linux上使用。(详情:)

58、钢琴二重奏AIaiexperiments-ai-duet★Star883

“钢琴二重奏”的。该项目会在你弹出了几个音符之后,通过AI自动计算来帮你“补完”旋律的重奏部分。运用了人工智能技术,通晓音符的“编码规则”。(详情:)

59、端到端加密系统E2EMail★Star704

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

如果还有其他项目是你认为值得推荐的,留言告诉我们~

文章版权声明:除非注明,否则均为藏品岁月痕原创文章,转载或复制请以超链接形式并注明出处。

上一个 中弘长白山项目被查,老板避走香港,曾为女星花1亿买古董拒付款

下一个 南京这座古董铺子,在2000多条道路里都藏了哪些秘密?