原文標題:This year in JavaScript: 2018 in review and npm’s predictions for 2019javascript
本文翻譯自NPM官方發佈的一份報告。原文連接點擊這裏java
這份報告是根據Laurie Voss (NPM的聯合創始人、COO)在npm and the Future of JavaScript上的演講整理的。沒有任何數據數據是完美的。若是你有任何的疑問,你能夠閱讀這篇文章,看下咱們是怎麼聚合這些數據的。node
NPM擁有超過1000萬用戶,每月下載超過300億個包。每週二是NPM訪問量最大的一天。用戶平均在這一天下載超過13億JavaScript開源代碼包。經過分析這些下載數據,咱們能夠看到JavaScript開發人員們都在從事哪方面的工做。除此以外,咱們還和Nodejs Foundation 、JS Foundation 進行了合做,對16,000名開發者進行了調查,詢問了他們正在從事哪方面的工做。react
經過上面兩種方式,咱們發現了npm社區的內在組成以及社區的趨勢。這將爲你在2019年進行技術選型提供幫助。git
JavaScript如此流行對任何人來講都不是一個新聞了。Stack Overflow 2018年的開發者調查顯示,JavaScript是最流行的開發語言,其次是HTML和CSS。GitHub最近的Octoverse報告給出了全部開發語言pull requests數量的排名,JavaScript也是位列第一。 github
JavaScript開發者的總數量是很難計算的。 Slashdata’s 2018 survey 報告指出,2017年底,JavaScript開發者數量爲970萬,而且在高速增加。這意味着當前至少已經有1000萬開發者了。npm已經有超過1000萬用戶了,一樣在高速增加。不過一部分開發者仍然還沒使用過npm,不過這部分開發者的佔比很小,估計小於10%。JavaScript是惟一能夠開發web應用的語言,毫無疑問,JavaScript的流行與這一點是分不開的。不過,根據伯克利大學的這篇文章來看,擁有豐富的開源庫,是開發者在選擇一門開發語言時,最重要的因素。 web
咱們本身的調查也支持了這個結論。開發者選擇JavaScript最多見的緣由是可用庫的數量。 npm擁有超過836,000個可用的開源庫,是目前世界上最大的開源庫集合。不過,JavaScript更多的是小型庫,數量多也是情有可原的。這麼巨大的開源代碼量,也代表了JavaSciprt和npm的流行是相互促進的。咱們詢問了開發者,他們寫的JavaScript運行在哪裏。93%的人回答他們用來開發web, 70%的人表示他們在服務端使用JavaScript,例如Node.js。固然,還有其餘的領域:物聯網、桌面應用、端應用等等。 npm
這對於在npm官方工做、維護npm命令行工具的咱們,是一個顯著的變化。npm起初是爲了服務端應用而誕生的,而web開發者的需求是不同的。成爲一個主要爲web端服務的平臺,改變了咱們的優先級,因而,咱們開發了例如package-lock.json的新功能。json
當npm在2014年誕生的時候,使用幾十個JavaScript包是很典型的。現在,通常的web應用都會使用超過1000個模塊,超過2000個模塊的也很多。事實上,現代web應用中,97%的代碼都來自npm。開發者只須要對剩下的3%代碼負責,就能使他們的應用跑起來了。安全
這對代碼複用,npm社區以及開源界來講是巨大的成功。不須要在數千個模塊中建立代碼,爲數百萬開發人員節省了數以億計的編碼時間。
對於大多數開發者來講,npm已經成爲了開發一個網站的方式。這對於咱們來講是責任。在咱們的調查中,77%的開發人員擔憂他們使用的庫的質量與安全性,52%的人認爲他們所使用的庫是不值得信任的。
4月份,咱們發佈了Node Security Platform。現在,Node Security Platform已經集成到了npm中。每一次npm的安裝都會有安全審覈,告訴開發者他們是否正在安裝一個不安全的模塊。咱們還提供了經過自動安裝模塊的安全版原本輕鬆糾正這些漏洞的工具。總之,咱們坐了不少事,來保障安全 。
咱們調查對象的基本特徵在以前發佈的報告中涵蓋了。但有一些事實須要注意。
1.不少新人。25%的開發人員使用JavaScript不到兩年,51%的人使用npm不到兩年。這是社區不斷壯大的反作用。
2.大部分是自學的。69%的npm用戶是自學的JavaScript,22%的人是在工做中學習的。
3. 不只僅使用JavaScirpt。npm的使用者並不都是嚴格的JavaScript開發者 —— 30%的人還使用Java,30%還使用PHP,30%使用Python,還有其餘的一些語言。4.並不在科技公司工做。55%的npm使用者表示他們並不在一個能夠被稱爲【科技】公司的地方工做。
同時,在某些方面,npm用戶與軟件開發人員並無什麼不一樣,這自己是頗有意思的事情。好比,npm使用者在各類規模的公司工做,與這些公司的分佈比例大體相同。JavaScript並非一個'"大公司技術"或"小公司技術"。npm用戶分佈在各個行業,也有着不用的年齡段以及受教育程度。
2018年的JavaScript,在某種程度上是使人詬病的。由於你須要引入不少的工具才能讓代碼跑起來。這和2014年的狀況是相反的。2014年的時候,Node.js被認爲是一個 "包含全部" 的框架。今天,絕大多數的開發者根本不會把Node.js當作一個框架。誠然,咱們全部的被調查者都但願使用更少的工具,更少的配置就能開始開發,也但願看到更完善的文檔。那麼,他們喜歡的是什麼樣的工具呢?
今年初,咱們深刻調查了各類JavaScript框架的流行度,報告在這裏part1、part2、part3。咱們不會在這裏複述全部的分析結果,但咱們能夠一塊兒來看看從過去的9個月都發生了些什麼。
使人略有意外的是,46%的受訪者表示他們正在使用微軟的帶有類型檢查的JavaScript - TypeScript. TypeScript的大量使用,也許預示着開發者書寫JavaScript的方式將完全改變。咱們將在下一次的調查中,更多關注TypeScirpt的使用狀況。
JavaScript擁有一個巨大,多變,快速發展的生態,對其進行預測是困難的。可是咱們的數據可使咱們對2019年進行必定的預測。
咱們能夠十分確信的作出預測:社區將會繼續高速發展,JavaScript將會擁有不少的能力。隨着它的增加,咱們將記錄新的趨勢,並與社區分享咱們的看法。你能夠訂閱咱們的週報,在twitter上關注咱們,以瞭解最新的行業動態。