当前位置: 首页 > 科技观察

2022年优秀开源软件榜单

时间:2023-03-15 23:48:52 科技观察

本文是InfoWorld在2022年发布的《最佳开源软件榜单》的译文。InfoWorld是一家信息技术媒体公司,从1978年的月刊发展而来。但更广为人知的是它的母公司国际数据集团(IDG)。IDG既是一家媒体信息技术出版公司,又是一家风险投资公司,所以才会出现在各大互联网公司的融资新闻中(此前)。说说这个《最佳开源软件榜单》。每年,InfoWorld都会根据软件对开源社区的贡献和在业界的影响力,评选出“最佳开源软件(BOSSIE)”。下面就让我们一起来看看这份榜单上有没有熟悉的面孔吧!1.AlmaLinuxAlmaLinux是由CloudLinuxOS的创建者创建的一个社区驱动的开源项目,最初是作为CentOS的替代品。它是从RedHatEnterpriseLinux(RHEL)的源代码编译而来,所以它完全二进制兼容RHEL8。地址:https://github.com/AlmaLinux2,podmanPodman是一个没有守护进程的容器引擎,用于开发,在Linux系统上管理和运行OCI容器。容器可以以root或非root模式运行。作为Libpod的一部分,它的定义可以简单地用命令来表达:aliasdocker=podman。地址:https://github.com/containers/podman3、PlaywithDockerPlaywithDocker是一个Docker学习平台,可以让你在浏览器上免费体验AlpineLinux虚拟机。但是需要登录注册,而且每次登录创建的实例是有时间限制的,到时间需要重新登录。你可以在PlaywithDocker中构建和运行Docker容器,提高你对Docker的操作能力(环境已经默认搭建好),甚至可以在DockerSwarm模式下创建集群,Docker-in-Docker(DinD)用于提供多个虚拟机/PC效果。地址:https://github.com/play-with-docker/play-with-docker4、VaadinVaadin是一个用Java实现Web用户界面的Web框架,无需编写任何HTML或JavaScript代码。它包括一个服务器端,主要的应用逻辑运行在这里,然后浏览器通过Ajax技术与服务器端进行交互。地址:https://github.com/vaadin/platform5,JHipsterJHipster是一个全栈Java应用开发平台,可用于创建基于Maven+Spring+AngularJS的项目,提供完全热加载的Java和JavaScript代码。它还提供了包括CLI工具在内的许多组件来处理各种技术栈的脚手架生成,例如使用Vue.jsUI作为前端MongoDB作为后端,React作为前端Postgres等...地址:https://github.com/jhipster/generator-jhipster6,SolidJSSolidJS是一个用于构建用户界面的声明式、高效且灵活的JavaScript库。它不使用虚拟DOM。相反,它选择将其模板编译成真实的DOM节点,并将更新包装在细粒度的React中。地址:https://github.com/solidjs/solid7,RedwoodRedwood是一个全栈网络框架,结合了React、GraphQL、Prisma、TypeScript、Jest和Storybook的优点。它采用类似Rails的方法来满足数据建模和脚手架等反复出现的需求,还解决了安全性和跟踪、集成等问题。Redwood允许针对各种部署环境,包括无服务器平台,如Vercel和Netlify。地址:https://github.com/redwoodjs/redwood8,Next.jsNext.js是一个用于服务器呈现的通用JavaScriptWeb应用程序的小型框架。该框架建立在React、Webpack和Babel之上,并提供了强大的支持。地址:https://github.com/vercel/next.js9,WasmtimeWasmtime是一个用于WebAssembly和WASI的小型高效运行时库,用Rust编写并构建在编译器Cranelift之上。完全开源,符合WASI,支持与C/C++、Python、.NET、Go等编程语言集成,可运行于Windows、Linux、macOS等平台。地址:https://github.com/bytecodealliance/wasmtime10,PyScriptPyScript是一个开发框架,为开发者提供在标准HTML中嵌入Python代码的能力。使用Python调用JavaScript库并创建PythonWeb应用程序。PyScript旨在提供一种风格规则一致且易于学习的“一流”编程语言。地址:https://github.com/pyscript/pyscript11,HardhatHardhat是一个面向专业人士的以太坊开发环境,也是一个优秀的开源框架,可以简化在以太坊上编码、测试和部署Dapps以及开发智能合约的过程。地址:https://github.com/NomicFoundation/hardhat12,OpenFGAOpenFGA是一个开源的细粒度授权解决方案,允许开发者使用易读的建模语言和友好的API来构建细粒度的访问控制系统.它应用了ReBAC的概念,该概念由Auth0FGA团队创建并受到Zanzibar的启发,Zanzibar是一种专为大规模可靠性和低延迟而设计的授权系统。地址:https://github.com/openfga/openfga13,SentrySentry是一个实时事件日志和聚合平台,基于Django构建。Sentry可以帮助你自动记录Python程序的所有异常,然后在简单易用的UI上呈现和搜索。地址:https://github.com/getsentry/sentry14,AppsmithAppsmith是一个开源的低代码框架,用于构建管理面板、CRUD应用程序和工作流。它允许拖放组件来构建仪表板,用JavaScript编写逻辑并连接到任何API、数据库或GraphQL源。地址:https://github.com/appsmithorg/appsmith15,SpinnakerSpinnaker是一个持续交付平台,定位于将产品快速持续部署到多个云平台。主要特点:一次配置,随时运行;随处部署,集中管理;地址:https://github.com/spinnaker/spinnaker16,HypertraceHypertrace是一个开源的分布式跟踪和可观察性引擎,可以从一个巨大的云原生开始摄取并处理跨大量服务的大量实时性能数据在架构中。它监控应用程序和微服务,跟踪跨多个接触点的分布式事务,并将所有这些信息提炼成服务指标和应用程序流程图,显示在可自由定制的仪表板上。地址:https://github.com/hypertrace/hypertrace17,GraviteeGraviteeAPI网关是基于Vert.X开发的高性能接口网关,支持Swagger导入接口、文档管理、性能分析、运行审计、日志、负载均衡和其他功能。地址:https://github.com/gravitee-io/gravitee-api-management18,OpenTelemetryOpenTelemetry是一种高质量的便携式遥测技术,可用于检测、生成、收集和导出遥测数据(指标、日志和轨迹),帮助分析软件的性能和行为。它可跨多种语言使用,并可轻松与流行的库和框架集成,例如Spring、ASP.NETCore、Express、Quarkus等。地址:https://github.com/open-telemetry19,GrafanaGrafana是Graphite和InfluxDB的仪表板和图形编辑器。它也是一个开源的、功能齐全的指标仪表板和图形编辑器,支持Graphite、InfluxDB和OpenTSDB。主要特点:灵活丰富的图形选项;可以混合多种风格;支持日夜模??式;多个数据源;支持Graphite和InfluxDB查询编辑器;地址:https://github.com/grafana/grafana20,DaprDapr是微软推出的一种全新的可移植、无服务器、事件驱动的运行环境。让开发者轻松构建弹性的、无状态的和有状态的微服务,让这些服务运行在云端和边缘,支持多种语言和开发框架。地址:https://github.com/dapr/dapr21,RedpandaRedpanda是Kafka的替代插件,没有ZK和JVM。它主要用C++编写,其分布式日志使用Seastar异步框架和Raft共识算法。它可以提供低10倍的平均延迟和快6倍的Kafka事务,同时运行在更少的资源上。地址:https://github.com/redpanda-data/redpanda22,ApachelcebergIceberg是一种用于大型分析表的高性能格式。Iceberg为大数据带来了SQL表的可靠性和简单性,同时使Spark、Trino、Flink、Presto、Hive和Impala等引擎能够同时安全地使用相同的表。地址:https://github.com/apache/iceberg23,ApacheDruidDruid是一个高性能的实时分析数据库。它是一个对大数据集进行实时探索和查询的引擎,提供了一个为OLAP设计的开源分析数据存储系统。其设计意图是在面对代码部署、机器故障等产品系统时保持100%。普通手术。地址:https://github.com/apache/druid24,JAXJAX来自谷歌,是TensorFlow的简化库,结合了Autograd和XLA,致力于高性能机器学习的研究。借助Autograd,JAX可以区分循环、分支、递归和闭包函数,并且可以进行三阶微分。通过grad,支持自动模式反向微分(backpropagation)和前向微分,两者可以任意顺序组合。地址:https://github.com/google/jax25,nbdevnbdev是一个JupyterNotebooks驱动的开发平台。只需使用轻量级标记编写JupyterNotebooks即可获得高质量的文档、测试、持续集成和打包。与传统的编程环境相比,nbdev的代码调试和重构要容易得多。地址:https://github.com/fastai/nbdev26,AccelerateAccelerate是一个库,只需添加四行代码,您就可以在任何分布式配置中运行相同的PyTorch代码!简而言之,Accelerate使大规模训练和推理变得简单、高效且适应性强。地址:https://github.com/huggingface/accelerate27,StableDiffusionStableDiffusion是一个文本到图像的AI模型,可以生成质量惊人的图像。世界各地的爱好者正在致力于改进这个项目,以加快图像生成速度,支持在低内存的GPU上运行,并添加画内和画外支持,他们甚至在M1MacBooks上运行StableDiffusione。地址:https://github.com/CompVis/stable-diffusion28,EleutherAI严格来说,EleutherAI是一群致力于实现开源人工智能研究的AI研究人员。它有多种预训练模型,包括:GPT-NeoX-20B:使用CoreWeave训练的200亿参数模型GPT-J-6B:在Pile上训练的60亿参数模型地址:https://github.com/EleutherAI