高效,免费,大家都能用的开源工具要不要了解下?有了它们,程序员造轮子时,就事半功倍啦~
在 2017 Balck Duck 开源 360° 调查中,77% 的受访企业称他们用开放源码(以下简称“开源”)来创建内部应用程序,69% 的企业表明他们会用它来构建客户应用程序,同时,69% 的企业认为开源给公司基础架构供能。不仅如此,48% 的受访公司称团队中开源项目的贡献人数也在增长。所有这些贡献者们也正引领着开源的蓬勃发展。
所以,想要让自己的技能与开源保持相关的工程师们,至少需要熟悉以下工具。下面介绍的 10 种开源工具,是根据现在的行业趋势总结出,在 2018 年对于工程们相当重要,值得去了解。
和云计算的双重趋势极大增加了人们对容器技术的兴趣,而 Docker 正是在容器化领域中当之无愧的领导者。在 Rightscale 发布的《2017云状态报告》中,70% 的公司称他们正在或计划使用 Docker 技术,调查结果还显示 Docker 是公司配置 DevOps 工具的第一选择。
Docker 允许开发人员打包一个应用程序和依赖包到一个轻量级的容器内,方便了应用程序的移动,这在混合云环境中用处极大。
Docker 技术是教你运用容器,而 Kubernetes 技术是更善于管理容器,这款由 Google 首发的容器配置工具正在进入一些容器相关的解决方案和服务领域,包括由 Amazon(亚马逊)、Microsoft Azure(微软云)和谷歌云平台提供的容器服务。甚至像 Docker,由最初支持一个叫做Swarm(群集)的独立编制工具,到现在也结合了 Kubernetes 技术。
Forrester 公司(世界上最知名的信息技术分析公司之一)的分析师们已经宣称,“Kubernetes 已经拥有了容器配置技术中的绝对优势”。同时,在 GitHub 发布的《 2017 Octoverse 报告》中,Kubernetes 是被审阅频次第二高的开源项目、讨论度最热的存储库。
Git 已经以较大优势成为了最受欢迎的版本控制解决方案。2017 Stack Overflow 开发人员调查结果显示,有 69.2% 的开发人员使用 Git,这也使 Git 成为了开发人员的首选。相比之下,调查中排名第二的 Subversion 系统的使用率只有 9.1 %。
在开源里,基于 Git 技术的 GitHub 社区,它的崛起帮助 Git 扩大了受众接触面。随着越来越多的企业开始拥抱开源,他们也随之接纳了 Git。
在你阅读的所有报告中,JavaScript 如果不是世界上最受欢迎的编程语言之一,那么它肯定就是世界上最受欢迎的编程语言。经常在 Stack Overflow 的调查中,JavaScript 是最受开发人员欢迎的编程语言,其中62.5%的开发者们曾经用过。不仅如此,JavaScript 也是 GitHub 社区最受欢迎的编程语言,使用次数比在该网站受欢迎程度排名第二的 Python 多了将近一倍。在 PYPL 的编程语言流行指数(语言教程在Google 中的搜索频次)中,JavaScript 排名第四位,而在 TIOBE 指数(编程语言在热门搜索引擎中的点击数)中排名第六位。
JavaScript 不仅在 Web 开发领域中占据优势,它也已经打入了后端和移动开发领域。
JavaScript 流行的一部分原因是由于 Node.Js 的日益普及,Node.Js的运行环境允许开发人员在JavaScript中编写服务器端代码,这意味着开发人员可以在编写网页应用的前端(客户看到的内容)和后端(服务器上运行的内容)时使用同一种语言。
在 GitHub Octoverse 的报告中,Node.Js 被同时评进审阅量最多的项目榜单和讨论度最热的仓储库榜单中。在 Stack Overflow 的调查中,47.1%的开发人员使用 Node.Js,同时,由于 62.1 %的开发人员喜欢这个架构,让 Node.Js 成为了深受喜爱的架构、程序库或者其他技术排行中的第二名。除此之外,它也是最想被开发人员拥有的技术,没有之一。
由 Facebook 创建的 React 是一个用来开发用户界面的 JavaScript 库。与之相关的一个叫做 React Native 的项目允许开发者运用 React 去创建一个跨平台的本地移动应用程序。
虽然 React 和 React Native 还是相对来说比较新的技术,但是他们普及度已经相当高了。在 GitHub 的报告中,React 是被 Fork 最多的项目之一,而 React Native 在所有开源项目中拥有人数第二多的开源贡献者,在 Stack Overflow 的调查中,虽然只有 19.5% 的开发人员使用 React,但 66.9% 的开发人员说他们喜欢这个库,这使它在这类技术中受喜爱程度排名第一。在 Indeed 网站发布的 2018 年增长最快的科技岗位技能报告中,React 占据榜首,不仅如此,求职者对 React 相关职位的搜索次数增长率高达 313%,雇主对拥有相关技能应聘者的搜索次数也增长了 229%。
Angular 也在 Indeed 网站发布的快速增长的职位搜索排行榜上。求职者对 Angular 相关职位的搜索上涨了 50 %,雇主对拥有 Angular 技能的简历搜索也增长了 6 %。同时,它也是 Stack Overflow 调查中受欢迎程度排名第二,受喜爱程度第六,第二个最想拥有的技能。并且,在 GitHub 的报告中,它也在拥有最多贡献者的项目榜单上。
和 Node.Js、React/React-Native 相似,Angular 也是 JavaScript 生态圈的一部分(即使最新的 Angular 迭代是基于 TypeScript,由 TypeScrpt 再编译成 JavaScript )。总的来说,它是一个用来为本地移动、Web、移动 Web 和本机桌面构建跨平台应用程序的开源平台。
在大型数据解决方案中非常受欢迎的 Hadoop 是一种开源工具,它用于在分布式系统的集群中处理大数据集。在 Stack Overflow 报告中,Hadoop 同时包括在最受喜爱以及最想获得的技术榜单中。
然而,一些分析师开始质疑,鉴于很多公司已经开始研究其他更能满足自身需求的技术,在这样的背景下,Hadoop 现在在大数据生态系统中的重要地位究竟还能维持多久。尽管遭受质疑,Hadoop 似乎依然会是企业在 2018 年使用的核心开源项目之一。
在各种新兴的大数据技术中,有一项技术的重要性程度正在不断提升,它就是 Spark。和 Hadoop 一样,它现在也被 Apache 软件基金会管理,但它比 Hadoop 的标准 MapReduce 引擎(面向大数据并行处理的计算模型、框架和平台)要快得多。进而,许多团队会将 Spark 和 Hadoop 一起应用在需要处理实时流数据的应用程序中。
根据 Indeed 网站的数据,求职者对 Spark 相关的职位搜索次数增长了39%,而有需求的招聘企业对具备 Spark 技能的求职者的搜索次数也增长了 14%。在 Octoverse 的报告中,Spark 也是被审阅数最多的项目之一,并且,在Stack Overflow 的调查中 Spark 在最受喜爱的技能榜单中的排行第四。
Digital Ocean 最近发布的 Current 报告显示,83% 的开发者还没有接触人工智能(AI)或者机器学习(ML)技术。但是,在这些没使用过AI/ML 技术的人中,有 72% 的人有计划在下一年开始学习。
这些开发人员之后很有可能会研究由 Google 大脑团队创建的开源机器学习库 – TensorFlow,一些领先的公共云计算供应商现在已经提供基于TensorFlow 的服务。在 GitHub 报告中,TensorFlow 是今年被 Fork 最多的项目,同时也被列入了拥有最多贡献者、最多审阅数的项目排行榜上。