开发者必看的八大开源项目

导读:在本文中,21CTO社区尝试推荐几个甚有前景的开源软件项目。


以下项目有许多已经在应用,有的已经是大规模应用,在2020年的项目通过技术社区推广或当前软件开发环境中大规模使用而快速成为热点。


图片

photo by:escrowlondon


前端


React - Gatsby


Gatsby是基于React框架的SSG(Static Site Generator静态网站生成器)开源产品。其目标是让前端工程师更轻松,高效。Gatsby也是一个框架,此框架将React和其它一些现代工具的主要功能整合在了同一软件包中,可以有效促进网站和Web应用程序的创建。

扫描二维码关注公众号,回复: 12744396 查看本文章


利用Gastby在React Framework中的开发方式是,当构建代码时,它会给你生成静态文件,除用户访问速度快外,有更好的SEO支持,缓存分层更佳。


Gastby的开发者社区还提供了很多已经开发好的插件,开发者无需从零开始项目开发。


Gatsby 之GitHub:https://github.com/gatsbyjs/gatsby


React - Next.js


Next.js由Zeit和开源社区共同维护。


它的目标旨在提供路由,***(服务器端渲染)支持等组件,为React,EST6以及Webpack等简化React应用程序的开发过程。


此外,React还支持ES7异步和等待等先进功能,而且它能让你使用时更加简单和灵活,使项目的伸缩性做得足够小。


Next.js与Gastsby有一些类似。


NEXT.JS之GitHub:https://github.com/zeit/next.js/


Angular - Clarity


Clarity项目提供了一整套工具,将UX准则,HTML/CSS结构,健壮的Angular组件和即插即用的组件结合在了一起。


这是一个花了大量时间的项目,目前2.0版本已经推出,同时添加了很多新功能,并且受到VMWare的大力支持,值得开发者们关注。


Clarty之GitHub:https://github.com/vmware/clarity


后端


Spring Secruity


Spring Secruity可以让应用程序的身份验证与授权部分变得更加简单。它为开发者提供了多种选择项,但仍然支持扩展。


开发者可以通过一系列配置,如数据库、LDAP甚至内存进行身份验证。


Spring Secruity本身已经支持各种组件集成,亦支持创建自定义的组件集成。


关于用户授权,Spring Secruity亦提供了优秀的灵活性。比如通过分配已验证用户的权限,来保护相关Web请求,只需调用对象实例即可。


Spring 由Pivotal维护,使用Apache 2.0许可证进行分发。


Spring Secruity 的 GitHub:https://github.com/spring-projects/spring-security


Elasticsearch


Elasticsearch是一款开源,得到大规模应用,特别容易扩展的企业级搜索引擎。


Elasticsearch允许开发者执行并组合多种类型的搜索(例如结构化、非结构化,地理,度量等)Elasticsearch的聚合功能可以让开发者查看数据概要,方便分析数据中的趋势和模式。


Elasticsearch项目已经非常鲁棒和可靠,但是其开发团队仍然十分活跃,每年都会发布多个版本。


Elasticsearch的GitHub:https://github.com/elastic/elasticsearch


Apache Kafka


https://dzone.com/storage/temp/13048178-kafka.png


Apache Kafka是一个以社区开发的事件流平台,其可以每天能够处理数万亿个事件。


Kafka最初被人们视为消息队列,因为它是基于分布式日志的抽象。


2011年Linkedin创建它并开放源代码,Kafka已从消息队列迅速演变成为完整的事件流平台。


与Spring一样,Kafka根据Apache 2.0许可证分发。


Kafka的官方GitHub:https://github.com/prometheus/prometheus



DevOps


Prometheus


Prometheus是一款100%开源的系统监控与警报工具。Prometheus最初由SoundCloud在2012年创建,开源后得到全球各地的社区以及机构的极大好评和欢迎。


2016年Prometheus加入云原生计算基金会(Cloud Native Computing Foundation),成为继Kubernetes之后的第二大托管项目。


Prometheus 的 GitHub:https://github.com/prometheus/prometheus


Kubernetes


Kubernetes也被亲切的称为“kube”,它也是一个开源代码平台。


Kubernetes能够自动执行Linux容器的操作,Kubernetes平台消除了在容器中部署和扩展应用程序所需要的大部分手工过程。


换言之,如果要将Linux容器中运行的主机分配到集群中,Kubernetes可以帮助我们轻松高效地管理这些集群。


这些集群可以是公共云,私有云以及混合云的任何一种。Kubernetes是承载需要快速可伸缩性的本地云应用的理想平台。


Kubernetes可以通过Apache Kafka进行实时数据传输,还有更多功能值得开发者发现。


Kubernetes使用Apache 2.0许可证进行分发。


Kubernetes的GitHub:https://github.com/kubernetes/kubernetes


猜你喜欢

转载自blog.51cto.com/15127566/2664709