本文介绍八个流行或者有前途的开源项目,定有几款适合你。
2020已经过了一个季度,我们开发者要学习的内容:编程语言/框架/工具还在不断增加。在本文中,我们举出8个看起来非常有希望的开源项目。
这些项目有很多已经应用或者大规模使用,有一些是在今年才开始的。
一、前端应用
1、Gatsby
Github:https://github.com/gatsbyjs/gatsby
Gatsby是基于React框架的开源静态站点生成器(SSG),让开发更轻松,更高效。Gasby框架将React和其它一些工具功能整合在同一软件包中,能够快速的进行Web应用的创建。
在React开发时,使用Gasby进行代码构建时,它可以生成由用户访问的静态文件,这样使网站更加快速,SEO更友好,缓存更高效等。
Gatsby还提供了不少预先开发的插件,我们从中间就可以开始项目的构建。
2、Next.js
Github:https://github.com/zeit/next.js/
Next.js由Zeit和相应开源社区维护,提供路由,SSR(服务器端沉浸)支持的组件,为React,ES6和Webpack来简化构建React应用开发。ES7包含异步和等待等功能特性,即使功能丰富,但它也能让应用启动更加简单和灵活,项目仍然保持小巧。
这点上,Next.js与Gatsby有点类似。
3、Clarity
Github:https://github.com/vmware/clarity
Clarty Project是针对Angular框架的一组工具,这些工具将UX规则,HTML/CSS结构,还有可靠的其它Angular组件,以及即插即用的组件。目前版本是v2.0,而且新功能受到了Vmware的支持,严重值得前端开发者关注。
二、后端应用
4、Spring Security
Github:https://github.com/spring-projects/spring-security
Spring Security 是为Spring 框架提供的身份验证和授权相关的功能,这会让Spring Boot框架变得简单。它提供多种选择,并且仍然可以灵活扩展。通过一系列配置,可以通过数据库,LDAP以及内存就可以进行用户验证。
它支持的系统集成以及自身集成能力非常强大。
在用户授权侧,Spring Security也非常灵活。通过分配给验证用户的权限,可以保护Web相关的请求,简单调用相关方法和对象实例即可。
Spring由Prvotal维护,根据Apache许可证分发。
5、Elasticsearch
Github:https://github.com/elastic/elasticsearch
Elasticsearch,简称ES,它是一个开源软件,它提供一个分布式并易于扩展的企业级搜索引擎。ES提供了一个精巧的API提供开发者,并且响应快速,能够支持应用程序的查询和数据分析。
ES可以让开发者执行和组合多种类型的搜索,如结构化,非结构化,地相关度量等。ES聚合可以让开发者查看数据概述,方便分析数据的模式和相关趋势。
ES已经非常成熟可靠,但社区仍然非常活跃,并且每年会发布多个版本。
6、Apache Kafka
Github:https://github.com/apache/kafka
Apache Kafka是一个事件流平台,每天能够处理数万亿个事件。Kafka最开始被视为消息队列,它基于分布式日志的抽象处理。
2011年,Linkedin创建并发布源代码以来,Kafka已经从简单的消息队列产品演变为完整的事件流平台。
与Spring框架一样,Kafka根据Apache 2.0开源许可证分发。
三、DevOps工具
7、Prometheus
Github:https://github.com/prometheus/prometheus
Prometheus是一套100%开源的监控和警报工具。
Prometheus最衩是由SoundCloud于2012年创建,一经推出在全球各地的技术社区和组织中获得了极大的好评。
2016年,该项目加入Cloud Native Computing Foundation,成为继Kubernates之后的第二个托管项目。
8、Kubernetes
Github:https://github.com/kubernetes/kubernetes
Kubernetes,人们亲切的称为kube,它同样是一个开源平台。它可以自动执行Linux容器的操作。
Kubernetes消除了在容器中部署和扩展应用程序时所需的大部分手动操作。简言之,如果Linux容器中运行的主机分组到集群时,Kubernetes能够帮助人们更高效地管理这些集群。
这些集群可以是公有云、私有云或混合云中的任何服务器。因此说来,Kubernetes是承载需要快速具备可伸缩能力的本地云应用程序(比如通过Apache Kafka进行实时传输)的理想平台。
和前面几个兄弟一样,Kubernetes也使用Apache 2.0开源许可证进行分发。
以上,是我们认为在今年会流行的一些极好的开源项目。