对于大多数企业IT部门来说,使用和贡献开源项目现在已成为日常生活的一部分。本文将介绍程序员认为2018年最重要的十大开源工具。
在Black Duck的2017年开源调查中显示,77%的受访企业使用开源构建内部应用程序,69%的受访企业使用开源组件来创建客户应用程序,69%的企业表示开源能够为其基础架构提供动力。受访的企业中有48%表示,他们组织中为开源贡献力量的人数正在增加。
GitHub目前拥有超过2400万用户和超过2500万个公共仓库。在许多领域中,开源项目已成为主导技术,希望让自己保持和最新技术同步的IT专业人员至少需要熟悉这些工具。根据目前的趋势,这里列出十个2018年最重要的开源工具:
1、Docker
DevOps和云计算的双重趋势极大地增加了人们对容器技术的兴趣,Docker是容器技术中的领军者,在2017年的《云报告》中显示,70%的企业已经使用或正打算使用Docker,同时Docker也是企业部署DevOps的首选工具。
Docker允许开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,这使得将应用程序从一个地方转移到另一个地方变得很容易,有利于在混合云环境中使用。
2、Kubernetes
Docker帮助你使用容器技术,而Kubernetes则是帮助你更好的管理容器,Kubernetes由Google开源,其提供应用部署、维护、 扩展机制等功能,为Amazon、Microsoft Azure和谷歌云平台等提供容器服务,就连管理Docker集群的Swarm也融合了Kubernetes技术。
在GitHub的 2017年10月份报告中,Kubernetes是审查频率排行第二的开源项目,也是热度最高的存储库。
3、Git
Git已经成为最受欢迎的版本控制解决方案。 在2017年Stack Overflow开发者调查中,69.2%的开发者表示他们使用Git,这使得Git成为开发者首选。 相比之下,第二大最受欢迎的版本控制系统Subversion,仅有9.1%的受访者选择了该版本。
在开源世界中,基于Git的GitHub兴起,帮助这个版本控制系统增加了它的影响力。 随着越来越多的企业拥抱开源,因此他们也选择了Git。
4、Java
Java是世界上最流行的编程语言之一,也是世界上最受欢迎的编程语言之一。 在Stack Overflow调查中,Java是最流行的语言,其中62.5%的人表示他们使用过Java, Java也是GitHub上最流行的编程语言, 在 PYPL 的编程语言流行指数中,Java目前是第四位,而在最新的TIOBE指数中,它是第六位。
Java在Web开发中特别受欢迎,如今它也已经进入了后端和移动开发。
5、Node.js
Java这么流行的一大原因是Node.js的日益普及,这个运行环境允许开发人员用Java编写服务器端代码,这意味着开发人员可以在编写网页应用的前端和后端时使用同一种语言。
在GitHub 2017年10月份的报告中,Node.js是热度最高的库。 在Stack Overflow的调查中,47.1%的开发者表示他们都在使用Node.js,同时,Node.js是第二受欢迎的框架,因为有62.1%的开发者表示喜欢它。 此外,它也是最受开发者欢迎的技术之一。
6、React/React Native
React是Facebook创建的用于开发用户界面的Java库, 相关项目React Native允许开发人员使用React创建跨平台的本地移动应用程序。
虽然React和React Native是相当新的技术,但它们已经非常受欢迎。 在GitHub报告中,React是最受欢迎的项目之一, 在Stack Overflow的调查中,虽然只有19.5%的开发者表示他们正在使用React,但是有66.9%的人表示他们喜欢这个库,这使得它成为该类别中最受欢迎的框架。
Indeed发布的一份关于2018年增长最快的技能报告中,React位居榜首。 求职者对React的搜索次数增加了313%,而企业对React技能的搜索次数也增长了229%。
7、Angular
Angular也在Indeed网站发布的快速增长的技能榜上。求职者对Angular相关职位的搜索上涨了50 %,企业对拥有Angular技能的简历搜索也增长了6 %。 它是Stack Overflow调查中第二大最受欢迎的技术。 它也是GitHub上拥有最多贡献者的项目之一。
同Node.js和React / React-Native一样,Angular也是Java生态系统的一部分(尽管Angular的最新版本实际上是基于Type编译为Java)。 它旨在帮助开发者在本地移动,Web,移动Web和原生桌面构建跨平台应用程序的开源框架。
8、Hadoop
Hadoop是一种在大数据解决方案中非常流行的开源工具,用于在分布式系统集群上处理大量数据。 在Stack Overflow报告中,Hadoop同时出现在最受欢迎和最想获得的技术榜单中。
然而,随着企业开始寻找其他能够更好地满足其需求的技术,一些分析师开始质疑Hadoop是否还会在大数据生态系统中的处在核心地位。 不过,它仍然是2018年企业使用的关键开源项目之一。
9、Spark
Spark也是一个重要性日益增长的新兴大数据技术。 像Hadoop一样,它由Apache软件基金会管理,但比Hadoop的标准MapReduce引擎快得多。 许多组织同时使用Spark和Hadoop来需要处理实时流数据的应用程序。
据Indeed报告显示,求职者对Spark的相关职位搜索次数增加了39%,招聘企业对拥有Spark技能的求职者搜索次数增长了14%。同时也是Stack Overflow调查中第四受欢迎的技术。
10、TensorFlow
Digital Ocean发布的一份报告发现,83%的开发人员尚未使用人工智能(AI)或机器学习(ML)。 然而,这些没有使用过AI/ML的开发者都有打算在下一年开始学习
其中许多人可能会首先学习由Google Brain团队创建的开源机器学习库TensorFlow。
几家领先的公共云供应商现在已经提供基于TensorFlow的服务。 在GitHub的报告中,TensorFlow是这一年中Fork最高的项目,同时它也出现在最多贡献者和评论最多的项目榜单中。