摘要:不過(guò),根據(jù)伯克利大學(xué)的這篇文章來(lái)看,擁有豐富的開源庫(kù),是開發(fā)者在選擇一門開發(fā)語(yǔ)言時(shí),最重要的因素。擁有超過(guò)個(gè)可用的開源庫(kù),是目前世界上最大的開源庫(kù)集合。月份,我們發(fā)布了。這和年的情況是相反的。在的調(diào)查中,超過(guò)的受訪者表示他們正在使用。
原文標(biāo)題:This year in JavaScript: 2018 in review and npm’s predictions for 2019本文翻譯自NPM官方發(fā)布的一份報(bào)告。原文鏈接點(diǎn)擊這里
這份報(bào)告是根據(jù)Laurie Voss (NPM的聯(lián)合創(chuàng)始人、COO)在npm and the Future of JavaScript上的演講整理的。沒(méi)有任何數(shù)據(jù)數(shù)據(jù)是完美的。如果你有任何的疑問(wèn),你可以閱讀這篇文章,看下我們是怎么聚合這些數(shù)據(jù)的。
NPM擁有超過(guò)1000萬(wàn)用戶,每個(gè)月下載超過(guò)300億個(gè)包。每周二是NPM訪問(wèn)量最大的一天。用戶平均在這一天下載超過(guò)13億JavaScript開源代碼包。通過(guò)分析這些下載數(shù)據(jù),我們可以看到JavaScript開發(fā)人員們都在從事哪方面的工作。除此之外,我們還和Nodejs Foundation 、JS Foundation 進(jìn)行了合作,對(duì)16,000名開發(fā)者進(jìn)行了調(diào)查,詢問(wèn)了他們正在從事哪方面的工作。
通過(guò)上面兩種方式,我們發(fā)現(xiàn)了npm社區(qū)的內(nèi)在組成以及社區(qū)的趨勢(shì)。這將為你在2019年進(jìn)行技術(shù)選型提供幫助。
JavaScript是世界上最流行的程序開發(fā)語(yǔ)言JavaScript如此流行對(duì)任何人來(lái)說(shuō)都不是一個(gè)新聞了。Stack Overflow 2018年的開發(fā)者調(diào)查顯示,JavaScript是最流行的開發(fā)語(yǔ)言,其次是HTML和CSS。GitHub最近的Octoverse報(bào)告給出了所有開發(fā)語(yǔ)言pull requests數(shù)量的排名,JavaScript也是位列第一。
JavaScript開發(fā)者的總數(shù)量是很難計(jì)算的。?Slashdata’s 2018 survey?報(bào)告指出,2017年末,JavaScript開發(fā)者數(shù)量為970萬(wàn),并且在高速增長(zhǎng)。這意味著當(dāng)前至少已經(jīng)有1000萬(wàn)開發(fā)者了。npm已經(jīng)有超過(guò)1000萬(wàn)用戶了,同樣在高速增長(zhǎng)。不過(guò)一部分開發(fā)者仍然還沒(méi)使用過(guò)npm,不過(guò)這部分開發(fā)者的占比很小,估計(jì)小于10%。
NPM促進(jìn)了JavaScript的流行JavaScript是唯一可以開發(fā)web應(yīng)用的語(yǔ)言,毫無(wú)疑問(wèn),JavaScript的流行與這一點(diǎn)是分不開的。不過(guò),根據(jù)伯克利大學(xué)的這篇文章來(lái)看,擁有豐富的開源庫(kù),是開發(fā)者在選擇一門開發(fā)語(yǔ)言時(shí),最重要的因素。
我們自己的調(diào)查也支持了這個(gè)結(jié)論。開發(fā)者選擇JavaScript最常見的原因是可用庫(kù)的數(shù)量。
npm擁有超過(guò)836,000個(gè)可用的開源庫(kù),是目前世界上最大的開源庫(kù)集合。不過(guò),JavaScript更多的是小型庫(kù),數(shù)量多也是情有可原的。這么巨大的開源代碼量,也表明了JavaSciprt和npm的流行是相互促進(jìn)的。
npm被用來(lái)構(gòu)建各種應(yīng)用我們?cè)儐?wèn)了開發(fā)者,他們寫的JavaScript運(yùn)行在哪里。93%的人回答他們用來(lái)開發(fā)web, 70%的人表示他們?cè)诜?wù)端使用JavaScript,例如Node.js。當(dāng)然,還有其他的領(lǐng)域:物聯(lián)網(wǎng)、桌面應(yīng)用、端應(yīng)用等等。
這對(duì)于在npm官方工作、維護(hù)npm命令行工具的我們,是一個(gè)顯著的變化。npm起初是為了服務(wù)端應(yīng)用而誕生的,而web開發(fā)者的需求是不一樣的。成為一個(gè)主要為web端服務(wù)的平臺(tái),改變了我們的優(yōu)先級(jí),于是,我們開發(fā)了例如package-lock.json的新功能。
npm對(duì)web開發(fā)來(lái)說(shuō)是必須的當(dāng)npm在2014年誕生的時(shí)候,使用幾十個(gè)JavaScript包是很典型的。如今,一般的web應(yīng)用都會(huì)使用超過(guò)1000個(gè)模塊,超過(guò)2000個(gè)模塊的也不少。事實(shí)上,現(xiàn)代web應(yīng)用中,97%的代碼都來(lái)自npm。開發(fā)者只需要對(duì)剩下的3%代碼負(fù)責(zé),就能使他們的應(yīng)用跑起來(lái)了。
這對(duì)代碼復(fù)用,npm社區(qū)以及開源界來(lái)說(shuō)是巨大的成功。不需要在數(shù)千個(gè)模塊中創(chuàng)建代碼,為數(shù)百萬(wàn)開發(fā)人員節(jié)省了數(shù)以億計(jì)的編碼時(shí)間。
2018年,npm將專注安全對(duì)于大多數(shù)開發(fā)者來(lái)說(shuō),npm已經(jīng)成為了開發(fā)一個(gè)網(wǎng)站的方式。這對(duì)于我們來(lái)說(shuō)是責(zé)任。在我們的調(diào)查中,77%的開發(fā)人員擔(dān)心他們使用的庫(kù)的質(zhì)量與安全性,52%的人認(rèn)為他們所使用的庫(kù)是不值得信任的。
4月份,我們發(fā)布了Node Security Platform。如今,Node Security Platform已經(jīng)集成到了npm中。每一次npm的安裝都會(huì)有安全審核,告訴開發(fā)者他們是否正在安裝一個(gè)不安全的模塊。我們還提供了通過(guò)自動(dòng)安裝模塊的安全版本來(lái)輕松糾正這些漏洞的工具。總之,我們坐了很多事,來(lái)保障安全 。
npm用戶特征我們調(diào)查對(duì)象的基本特征在之前發(fā)布的報(bào)告中涵蓋了。但有一些事實(shí)需要注意。
1.很多新人。25%的開發(fā)人員使用JavaScript不到兩年,51%的人使用npm不到兩年。這是社區(qū)不斷壯大的副作用。
2.大部分是自學(xué)的。69%的npm用戶是自學(xué)的JavaScript,22%的人是在工作中學(xué)習(xí)的。
3.不僅僅使用JavaScirpt。npm的使用者并不都是嚴(yán)格的JavaScript開發(fā)者 —— 30%的人還使用Java,30%還使用PHP,30%使用Python,還有其他的一些語(yǔ)言。
4.并不在科技公司工作。55%的npm使用者表示他們并不在一個(gè)可以被稱為【科技】公司的地方工作。
同時(shí),在某些方面,npm用戶與軟件開發(fā)人員并沒(méi)有什么不同,這本身是很有意思的事情。比如,npm使用者在各種規(guī)模的公司工作,與這些公司的分布比例大致相同。JavaScript并不是一個(gè)""大公司技術(shù)"或"小公司技術(shù)"。npm用戶分布在各個(gè)行業(yè),也有著不用的年齡段以及受教育程度。
每個(gè)人都希望少用工具2018年的JavaScript,在某種程度上是令人詬病的。因?yàn)槟阈枰牒芏嗟墓ぞ卟拍茏尨a跑起來(lái)。這和2014年的情況是相反的。2014年的時(shí)候,Node.js被認(rèn)為是一個(gè) "包含所有" 的框架。今天,絕大多數(shù)的開發(fā)者根本不會(huì)把Node.js當(dāng)做一個(gè)框架。誠(chéng)然,我們所有的被調(diào)查者都希望使用更少的工具,更少的配置就能開始開發(fā),也希望看到更完善的文檔。那么,他們喜歡的是什么樣的工具呢?
今年初,我們深入調(diào)查了各種JavaScript框架的流行度,報(bào)告在這里part1、part2、part3。我們不會(huì)在這里復(fù)述所有的分析結(jié)果,但我們可以一起來(lái)看看從過(guò)去的9個(gè)月都發(fā)生了些什么。
React的增長(zhǎng)放緩了React繼續(xù)統(tǒng)治web榜。在npm的調(diào)查中,超過(guò)60%的受訪者表示他們正在使用React。這個(gè)比例比年初時(shí)已經(jīng)有不小增長(zhǎng)。但是,React在2018年的增長(zhǎng)速度較2017年已經(jīng)放緩了。
Angular的下載量保持平穩(wěn)兩種最主要的Angular版本結(jié)合起來(lái),在時(shí)長(zhǎng)份額方面基本保持不變。
Ember的流行程度反彈了一個(gè)非常不尋常的現(xiàn)象,Ember的受歡迎程度本來(lái)在下降,但卻迎來(lái)了強(qiáng)勁的反彈。到9月份,使用Ember的開發(fā)者人數(shù)已經(jīng)比年初時(shí)的兩倍還多。我們將繼續(xù)關(guān)注這個(gè)情況。我們認(rèn)為,Ember的反彈是React增長(zhǎng)放緩的原因之一。
Vue繼續(xù)強(qiáng)勁增長(zhǎng)Vue在2018年繼續(xù)強(qiáng)勁增長(zhǎng)。許多Vue的使用者表示,他們之所以放棄React選用Vue,是因?yàn)閂ue在保持?jǐn)U展性的同時(shí),比較容易上手。目前我們的觀點(diǎn)是:許多新用戶選擇使用Vue,導(dǎo)致了React的增長(zhǎng)放緩。
GraphQL持續(xù)高速增長(zhǎng)GraphQL,根據(jù)其最受歡迎的客戶端庫(kù)Apollo來(lái)看,正在變得越來(lái)越受歡迎。我們認(rèn)為它將在2019年成為新的熱門技術(shù)。
編譯依然由Babel領(lǐng)銜,不過(guò)有一個(gè)驚喜 - TypeScript所有的React使用者來(lái)說(shuō),Babel并不陌生,它被用來(lái)將React下一代的JavaScript轉(zhuǎn)換成現(xiàn)在的語(yǔ)法標(biāo)準(zhǔn)。React占據(jù)了60%的市場(chǎng)份額,而65%的npm使用者正在使用Babel(Babel也在React的生態(tài)之外被使用).
令人略有意外的是,46%的受訪者表示他們正在使用微軟的帶有類型檢查的JavaScript - TypeScript. TypeScript的大量使用,也許預(yù)示著開發(fā)者書寫JavaScript的方式將徹底改變。我們將在下一次的調(diào)查中,更多關(guān)注TypeScirpt的使用情況。
npm對(duì)于2019年的預(yù)測(cè)JavaScript擁有一個(gè)巨大,多變,快速發(fā)展的生態(tài),對(duì)其進(jìn)行預(yù)測(cè)是困難的。但是我們的數(shù)據(jù)可以使我們對(duì)2019年進(jìn)行一定的預(yù)測(cè)。
你將會(huì)放棄你現(xiàn)在使用的工具。JavaScript的框架和工具更新很快??蚣艿钠骄餍兄芷谑?-5年。隨著人們都在維護(hù)遺留的應(yīng)用程序,框架的流行程度漸漸衰退。當(dāng)人們開始新的工作時(shí),他們將使用新的框架。做好準(zhǔn)備學(xué)習(xí)使用新的框架吧,不要死抓住你現(xiàn)在的工具不放。
盡管增速放緩,React在2019年仍將是最有統(tǒng)治地位的框架。60%的web框架時(shí)長(zhǎng)份額是前所未有的,部分原因是:React并不是一個(gè)完整的框架,而只是其中的一部分。這使得React可以在更多場(chǎng)景靈活使用。2019年,更多的人會(huì)使用React來(lái)開發(fā)web應(yīng)用,這將為React在教程、建議以及Bug修復(fù)上帶來(lái)優(yōu)勢(shì)。
你需要學(xué)習(xí)GraphQL。在生產(chǎn)環(huán)境中使用GraphQL或許過(guò)早了,特別是在你的Api都已經(jīng)完成的情況下。但是2019年,你應(yīng)該有意識(shí)的接觸GraphQL的概念了。當(dāng)你在2019年末、2020年參與新項(xiàng)目時(shí),這將是你使用GraphQL的好機(jī)會(huì)。
你們組的同事將會(huì)引入TypeScript。46%的使用率表示TypeScript不僅僅是一個(gè)發(fā)燒友的工具。人們是真正體會(huì)到了類型檢查提供的安全性所帶來(lái)的好處。特別的,當(dāng)你身處一個(gè)大組時(shí),考慮在2019年使用TypeScript吧。
保持淡定我們可以十分確信的做出預(yù)測(cè):社區(qū)將會(huì)繼續(xù)高速發(fā)展,JavaScript將會(huì)擁有很多的能力。隨著它的增長(zhǎng),我們將記錄新的趨勢(shì),并與社區(qū)分享我們的見解。你可以訂閱我們的周報(bào),在twitter上關(guān)注我們,以了解最新的行業(yè)動(dòng)態(tài)。
寫在最后本文逐句翻譯了NPM官方的報(bào)告,符合預(yù)期。歡迎關(guān)注公眾號(hào):
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100286.html
摘要:也能幫你寫代碼了微軟和團(tuán)隊(duì)一起推出擴(kuò)展,預(yù)覽版可以在插件市場(chǎng)直接查找安裝。微軟宣布將采用內(nèi)核這對(duì)于諸多的前端開發(fā)者而言,無(wú)疑是本年底最大的福音具體的計(jì)劃可以參考官網(wǎng)的博客,在不久的將來(lái),基于的瀏覽器將要正式和我們見面啦。 訂閱 / 投稿:https://github.com/txd-team/monthly本期小編:?Hkmu (扶容)?/?x-cold (尹摯) 新聞快報(bào) npm ...
摘要:也能幫你寫代碼了微軟和團(tuán)隊(duì)一起推出擴(kuò)展,預(yù)覽版可以在插件市場(chǎng)直接查找安裝。微軟宣布將采用內(nèi)核這對(duì)于諸多的前端開發(fā)者而言,無(wú)疑是本年底最大的福音具體的計(jì)劃可以參考官網(wǎng)的博客,在不久的將來(lái),基于的瀏覽器將要正式和我們見面啦。 訂閱 / 投稿:https://github.com/txd-team/monthly本期小編:?Hkmu (扶容)?/?x-cold (尹摯) 新聞快報(bào) npm ...
摘要:也能幫你寫代碼了微軟和團(tuán)隊(duì)一起推出擴(kuò)展,預(yù)覽版可以在插件市場(chǎng)直接查找安裝。微軟宣布將采用內(nèi)核這對(duì)于諸多的前端開發(fā)者而言,無(wú)疑是本年底最大的福音具體的計(jì)劃可以參考官網(wǎng)的博客,在不久的將來(lái),基于的瀏覽器將要正式和我們見面啦。 訂閱 / 投稿:https://github.com/txd-team/monthly本期小編:?Hkmu (扶容)?/?x-cold (尹摯) 新聞快報(bào) npm ...
摘要:在整個(gè)年,看到發(fā)布版增加了許多功能,包括新的生命周期方法新的上下文指針事件延遲函數(shù)和。它在等待渲染異步響應(yīng)時(shí)數(shù)據(jù),是延遲函數(shù)背后用來(lái)管理組件的代碼分割的。發(fā)布自第版開始將近年后,于年發(fā)布。 前端發(fā)展發(fā)展迅速,非常的快。 本文將回顧2018年一些重要的前端新聞,事件和 JavaScript 趨勢(shì)。 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! showImg(ht...
閱讀 1688·2021-09-26 09:55
閱讀 5416·2021-09-22 15:40
閱讀 2044·2019-08-30 15:53
閱讀 1520·2019-08-30 11:15
閱讀 1740·2019-08-29 15:41
閱讀 1895·2019-08-28 18:13
閱讀 3174·2019-08-26 12:00
閱讀 1697·2019-08-26 10:30