我的个人博客:www.moonkite.cn
大家好,我是风筝
在IT领域里,开源项目几乎占据了半壁江山,互联网能够发展得这么快,离不开开源项目,几乎任何一个产品都离不开开源项目。
最基础、最广泛的开源项目应该就是 Linux 操作系统了吧。数据库方面呢,MySQL、PostgreSQL、SQLite、MongoDB、Elasticsearch等等都是开源的。
有些开源项目是个人开发的、有的是开源组织开发的,还有很多是各个技术公司开发,其中有不少知名的、使用广泛的开源项目都是国内外大厂开源的。
来看看国内外各个大厂都有哪些开源项目是我们经常会用到的。
Google 的GitHub 仓库总共有2700多个项目,当然其中有一部分是学习教程类的。也有一部分虽然用得非常多,但是都是一些其他项目的基础库,并不会直接接触到使用者。还有一些因为使用太广泛而独立出去的。
只说知名度最高的。
Kubernetes
容器编排平台,基于多年来在内部集群管理系统Borg 上大规模运行生产工作负载的经验,Google 开发了Kubernetes。
现在大型互联网项目很少有不使用 Docker,而使用 Docker 的又很少不用 Kubernetes 的。
TensorFlow
机器学习框架,基本上算是最早的机器学习框架了。
Go语言
具备高并发、高效编译、简洁语法等特点,适用于构建大型分布式系统和微服务,国内就有很多之前使用 Java 的团队转到了 Go 。
Angular
Web前端框架,具备双向数据绑定和组件化特征,早于React 和 Vue,不过现在好像用的不太多了。
微软
VSCode
前端广泛使用的IDE,当前特别火的 Cursor 也是基于 VsCode 改的。可以算得上是前端标配了。
TypeScript
JavaScript的类型超集,越来越多的项目从 JavaScript 转到 TypeScript 上。
.NET Core
跨平台应用开发框架,虽说已经开源了,但是由于开源的太晚了,用的人还是很少,尤其是国内。
Playwright
开发的目标是自动化测试框架,支持Web应用的跨浏览器测试。它支持Chromium、Firefox、WebKit等浏览器的自动化操作,具备强大的功能,如自动等待、并行测试、截屏、视频录制等,适用于端到端测试,支持JavaScript、TypeScript、Python等多种语言。所以它其实能做的功能很多。
我之前还写过一篇介绍Playwright的文章Playwright,更强大的浏览器 API,实现语音上网指日可待
Meta(也就是Facebook)
React
前端框架,与Angular 、Vue 属于同一级别,现在前端的招聘要求里基本上都包括 React 或 Vue ,或者是两者都掌握。
PyTorch
机器学习库,广泛用于研究和生产中的机器学习和人工智能任务。它以灵活的动态计算图和强大的GPU加速为特点,支持自动微分、神经网络构建、自然语言处理、计算机视觉等领域。
如果你装过什么关于大模型啊、AI 之类的项目,在安装依赖的时候,很多都是要依赖PyTorch的。
GraphQL
数据查询语言和运行时,用于API的数据查询与操作。与传统REST API不同,GraphQL允许客户端指定所需数据的结构,减少数据过载,支持聚合多个资源的查询,适用于复杂的数据交互场景。
Netflix
Netflix开源了很多和网关、服务发现相关的项目,可能和它的业务特性有关系吧。
Hystrix
用于处理分布式系统中的延迟和容错问题。它通过隔离服务之间的调用、限制资源使用、实现断路器模式等方式,防止单个服务故障蔓延到整个系统,从而提高系统的可靠性和弹性。
Zuul、Eureka、Ribbon
分别是网关服务、服务发现和注册框架、客户端负载均衡器,用过 Spring Boot 的同学想必是非常熟悉的。
Kafka
分布式流处理平台,最开始是为了处理 LinkedIn 系统的日志,后来作为消息队列开源。
阿里
Dubbo
分布式服务框架,也就是微服务框架,和Spring Boot 属于同一类。
Nacos
主要聚焦于服务发现、配置管理以及服务管理领域,旨在简化微服务架构中的服务治理与配置管理复杂性。在微服务系统中应用非常广泛。
RocketMQ
分布式消息队列系统,使用 Java 语言开发。
Ant Design
前端UI框架,支持 Vue 和 React ,使用基数非常大。
百度
PaddlePaddle
深度学习框架,提供了全栈式的工具链,支持从模型训练、优化到部署的全流程。它具备灵活易用的接口、高效的分布式训练能力,广泛应用于自然语言处理、计算机视觉等领域,尤其适用于大规模工业级AI应用。
Apollo
自动驾驶平台。
腾讯好像没什么特别知名的开源项目。
还可以看看风筝往期文章
古时的风筝,一个程序员,一个写作者。