在Black Duck的2017年開(kāi)源調(diào)查中顯示,77%的受訪企業(yè)使用開(kāi)源構(gòu)建內(nèi)部應(yīng)用程序,69%的受訪企業(yè)使用開(kāi)源組件來(lái)創(chuàng)建客戶應(yīng)用程序,69%的企業(yè)表示開(kāi)源能夠?yàn)槠浠A(chǔ)架構(gòu)提供動(dòng)力。受訪的企業(yè)中有48%表示,他們組織中為開(kāi)源貢獻(xiàn)力量的人數(shù)正在增加。
GitHub目前擁有超過(guò)2400萬(wàn)用戶和超過(guò)2500萬(wàn)個(gè)公共倉(cāng)庫(kù)。在許多領(lǐng)域中,開(kāi)源項(xiàng)目已成為主導(dǎo)技術(shù),希望讓自己保持和最新技術(shù)同步的IT專業(yè)人員至少需要熟悉這些工具。根據(jù)目前的趨勢(shì),這里列出十個(gè)2019年最重要的開(kāi)源工具:
一、Docker
DevOps和云計(jì)算的雙重趨勢(shì)極大地增加了人們對(duì)容器技術(shù)的興趣,Docker是容器技術(shù)中的領(lǐng)軍者,在2017年的《云報(bào)告》中顯示,70%的企業(yè)已經(jīng)使用或正打算使用Docker,同時(shí)Docker也是企業(yè)部署DevOps的首選工具。
Docker允許開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,這使得將應(yīng)用程序從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方變得很容易,有利于在混合云環(huán)境中使用。
二、Kubernetes
Docker幫助你使用容器技術(shù),而Kubernetes則是幫助你更好的管理容器,Kubernetes由Google開(kāi)源,其提供應(yīng)用部署、維護(hù)、 擴(kuò)展機(jī)制等功能,為Amazon、Microsoft Azure和谷歌云平臺(tái)等提供容器服務(wù),就連管理Docker集群的Swarm也融合了Kubernetes技術(shù)。
在GitHub的 2017年10月份報(bào)告中,Kubernetes是審查頻率排行第二的開(kāi)源項(xiàng)目,也是熱度最高的存儲(chǔ)庫(kù)。
三、Git
Git已經(jīng)成為最受歡迎的版本控制解決方案。 在2017年Stack Overflow開(kāi)發(fā)者調(diào)查中,69.2%的開(kāi)發(fā)者表示他們使用Git,這使得Git成為開(kāi)發(fā)者首選。 相比之下,第二大最受歡迎的版本控制系統(tǒng)Subversion,僅有9.1%的受訪者選擇了該版本。
在開(kāi)源世界中,基于Git的GitHub興起,幫助這個(gè)版本控制系統(tǒng)增加了它的影響力。 隨著越來(lái)越多的企業(yè)擁抱開(kāi)源,因此他們也選擇了Git。
四、Java
Java是世界上最流行的編程語(yǔ)言之一,也是世界上最受歡迎的編程語(yǔ)言之一。 在Stack Overflow調(diào)查中,Java是最流行的語(yǔ)言,其中62.5%的人表示他們使用過(guò)Java, Java也是GitHub上最流行的編程語(yǔ)言, 在 PYPL 的編程語(yǔ)言流行指數(shù)中,Java目前是第四位,而在最新的TIOBE指數(shù)中,它是第六位。
Java在Web開(kāi)發(fā)中特別受歡迎,如今它也已經(jīng)進(jìn)入了后端和移動(dòng)開(kāi)發(fā)。
五、Node.js
Java這么流行的一大原因是Node.js的日益普及,這個(gè)運(yùn)行環(huán)境允許開(kāi)發(fā)人員用Java編寫服務(wù)器端代碼,這意味著開(kāi)發(fā)人員可以在編寫網(wǎng)頁(yè)應(yīng)用的前端和后端時(shí)使用同一種語(yǔ)言。
在GitHub 2017年10月份的報(bào)告中,Node.js是熱度最高的庫(kù)。 在Stack Overflow的調(diào)查中,47.1%的開(kāi)發(fā)者表示他們都在使用Node.js,同時(shí),Node.js是第二受歡迎的框架,因?yàn)橛?2.1%的開(kāi)發(fā)者表示喜歡它。 此外,它也是最受開(kāi)發(fā)者歡迎的技術(shù)之一。
六、React/React Native
React是Facebook創(chuàng)建的用于開(kāi)發(fā)用戶界面的Java庫(kù), 相關(guān)項(xiàng)目React Native允許開(kāi)發(fā)人員使用React創(chuàng)建跨平臺(tái)的本地移動(dòng)應(yīng)用程序。
雖然React和React Native是相當(dāng)新的技術(shù),但它們已經(jīng)非常受歡迎。 在GitHub報(bào)告中,React是最受歡迎的項(xiàng)目之一, 在Stack Overflow的調(diào)查中,雖然只有19.5%的開(kāi)發(fā)者表示他們正在使用React,但是有66.9%的人表示他們喜歡這個(gè)庫(kù),這使得它成為該類別中最受歡迎的框架。
Indeed發(fā)布的一份關(guān)于2018年增長(zhǎng)最快的技能報(bào)告中,React位居榜首。 求職者對(duì)React的搜索次數(shù)增加了313%,而企業(yè)對(duì)React技能的搜索次數(shù)也增長(zhǎng)了229%。
七、Angular
Angular也在Indeed網(wǎng)站發(fā)布的快速增長(zhǎng)的技能榜上。求職者對(duì)Angular相關(guān)職位的搜索上漲了50 %,企業(yè)對(duì)擁有Angular技能的簡(jiǎn)歷搜索也增長(zhǎng)了6 %。 它是Stack Overflow調(diào)查中第二大最受歡迎的技術(shù)。 它也是GitHub上擁有最多貢獻(xiàn)者的項(xiàng)目之一。
同Node.js和React / React-Native一樣,Angular也是Java生態(tài)系統(tǒng)的一部分(盡管Angular的最新版本實(shí)際上是基于Type編譯為Java)。 它旨在幫助開(kāi)發(fā)者在本地移動(dòng),Web,移動(dòng)Web和原生桌面構(gòu)建跨平臺(tái)應(yīng)用程序的開(kāi)源框架。
八、Hadoop
Hadoop是一種在大數(shù)據(jù)解決方案中非常流行的開(kāi)源工具,用于在分布式系統(tǒng)集群上處理大量數(shù)據(jù)。 在Stack Overflow報(bào)告中,Hadoop同時(shí)出現(xiàn)在最受歡迎和最想獲得的技術(shù)榜單中。
然而,隨著企業(yè)開(kāi)始尋找其他能夠更好地滿足其需求的技術(shù),一些分析師開(kāi)始質(zhì)疑Hadoop是否還會(huì)在大數(shù)據(jù)生態(tài)系統(tǒng)中的處在核心地位。 不過(guò),它仍然是2018年企業(yè)使用的關(guān)鍵開(kāi)源項(xiàng)目之一。
九、Spark
Spark也是一個(gè)重要性日益增長(zhǎng)的新興大數(shù)據(jù)技術(shù)。 像Hadoop一樣,它由Apache軟件基金會(huì)管理,但比Hadoop的標(biāo)準(zhǔn)MapReduce引擎快得多。 許多組織同時(shí)使用Spark和Hadoop來(lái)需要處理實(shí)時(shí)流數(shù)據(jù)的應(yīng)用程序。
據(jù)Indeed報(bào)告顯示,求職者對(duì)Spark的相關(guān)職位搜索次數(shù)增加了39%,招聘企業(yè)對(duì)擁有Spark技能的求職者搜索次數(shù)增長(zhǎng)了14%。同時(shí)也是Stack Overflow調(diào)查中第四受歡迎的技術(shù)。
十、TensorFlow
Digital Ocean發(fā)布的一份報(bào)告發(fā)現(xiàn),83%的開(kāi)發(fā)人員尚未使用人工智能(AI)或機(jī)器學(xué)習(xí)(ML)。 然而,這些沒(méi)有使用過(guò)AI/ML的開(kāi)發(fā)者都有打算在下一年開(kāi)始學(xué)習(xí)
其中許多人可能會(huì)首先學(xué)習(xí)由Google Brain團(tuán)隊(duì)創(chuàng)建的開(kāi)源機(jī)器學(xué)習(xí)庫(kù)TensorFlow。
幾家領(lǐng)先的公共云供應(yīng)商現(xiàn)在已經(jīng)提供基于TensorFlow的服務(wù)。 在GitHub的報(bào)告中,TensorFlow是這一年中Fork最高的項(xiàng)目,同時(shí)它也出現(xiàn)在最多貢獻(xiàn)者和評(píng)論最多的項(xiàng)目榜單中。