關於JavaScript, NPM官方發佈了2018年的回顧以及2019年的預測

原文標題: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 FoundationJS Foundation 進行了合做,對16,000名開發者進行了調查,詢問了他們正在從事哪方面的工做。react

經過上面兩種方式,咱們發現了npm社區的內在組成以及社區的趨勢。這將爲你在2019年進行技術選型提供幫助。git

JavaScript是世界上最流行的程序開發語言

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%。

NPM促進了JavaScript的流行

JavaScript是惟一能夠開發web應用的語言,毫無疑問,JavaScript的流行與這一點是分不開的。不過,根據伯克利大學的這篇文章來看,擁有豐富的開源庫,是開發者在選擇一門開發語言時,最重要的因素。 web

咱們本身的調查也支持了這個結論。開發者選擇JavaScript最多見的緣由是可用庫的數量。
npm擁有超過836,000個可用的開源庫,是目前世界上最大的開源庫集合。不過,JavaScript更多的是小型庫,數量多也是情有可原的。這麼巨大的開源代碼量,也代表了JavaSciprt和npm的流行是相互促進的。

npm被用來構建各類應用

咱們詢問了開發者,他們寫的JavaScript運行在哪裏。93%的人回答他們用來開發web, 70%的人表示他們在服務端使用JavaScript,例如Node.js。固然,還有其餘的領域:物聯網、桌面應用、端應用等等。 npm

這對於在npm官方工做、維護npm命令行工具的咱們,是一個顯著的變化。npm起初是爲了服務端應用而誕生的,而web開發者的需求是不同的。成爲一個主要爲web端服務的平臺,改變了咱們的優先級,因而,咱們開發了例如package-lock.json的新功能。json

npm對web開發來講是必須的

當npm在2014年誕生的時候,使用幾十個JavaScript包是很典型的。現在,通常的web應用都會使用超過1000個模塊,超過2000個模塊的也很多。事實上,現代web應用中,97%的代碼都來自npm。開發者只須要對剩下的3%代碼負責,就能使他們的應用跑起來了。安全

這對代碼複用,npm社區以及開源界來講是巨大的成功。不須要在數千個模塊中建立代碼,爲數百萬開發人員節省了數以億計的編碼時間。

2018年,npm將專一安全

對於大多數開發者來講,npm已經成爲了開發一個網站的方式。這對於咱們來講是責任。在咱們的調查中,77%的開發人員擔憂他們使用的庫的質量與安全性,52%的人認爲他們所使用的庫是不值得信任的。

4月份,咱們發佈了Node Security Platform。現在,Node Security Platform已經集成到了npm中。每一次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框架的流行度,報告在這裏part1part2part3。咱們不會在這裏複述全部的分析結果,但咱們能夠一塊兒來看看從過去的9個月都發生了些什麼。

React的增加放緩了

React繼續統治web榜。在npm的調查中,超過60%的受訪者表示他們正在使用React。這個比例比年初時已經有不小增加。可是,React在2018年的增加速度較2017年已經放緩了。

Angular的下載量保持平穩

兩種最主要的Angular版本結合起來,在時長份額方面基本保持不變。

Ember的流行程度反彈了

一個很是不尋常的現象,Ember的受歡迎程度原本在降低,但卻迎來了強勁的反彈。到9月份,使用Ember的開發者人數已經比年初時的兩倍還多。咱們將繼續關注這個狀況。咱們認爲,Ember的反彈是React增加放緩的緣由之一。

Vue繼續強勁增加

GraphQL持續高速增加

GraphQL,根據其最受歡迎的客戶端庫Apollo來看,正在變得愈來愈受歡迎。咱們認爲它將在2019年成爲新的熱門技術。

編譯依然由Babel領銜,不過有一個驚喜 - TypeScript

全部的React使用者來講,Babel並不陌生,它被用來將React下一代的JavaScript轉換成如今的語法標準。React佔據了60%的市場份額,而65%的npm使用者正在使用Babel(Babel也在React的生態以外被使用).

使人略有意外的是,46%的受訪者表示他們正在使用微軟的帶有類型檢查的JavaScript - TypeScript. TypeScript的大量使用,也許預示着開發者書寫JavaScript的方式將完全改變。咱們將在下一次的調查中,更多關注TypeScirpt的使用狀況。

npm對於2019年的預測

JavaScript擁有一個巨大,多變,快速發展的生態,對其進行預測是困難的。可是咱們的數據可使咱們對2019年進行必定的預測。

  1. 你將會放棄你如今使用的工具。JavaScript的框架和工具更新很快。框架的平均流行週期是3-5年。隨着人們都在維護遺留的應用程序,框架的流行程度漸漸衰退。當人們開始新的工做時,他們將使用新的框架。作好準備學習使用新的框架吧,不要死抓住你如今的工具不放。
  2. 儘管增速放緩,React在2019年仍將是最有統治地位的框架。60%的web框架時長份額是史無前例的,部分緣由是:React並非一個完整的框架,而只是其中的一部分。這使得React能夠在更多場景靈活使用。2019年,更多的人會使用React來開發web應用,這將爲React在教程、建議以及Bug修復上帶來優點。
  3. 你須要學習GraphQL。在生產環境中使用GraphQL或許過早了,特別是在你的Api都已經完成的狀況下。可是2019年,你應該有意識的接觸GraphQL的概念了。當你在2019年底、2020年參與新項目時,這將是你使用GraphQL的好機會。
  4. 大家組的同事將會引入TypeScript。46%的使用率表示TypeScript不只僅是一個發燒友的工具。人們是真正體會到了類型檢查提供的安全性所帶來的好處。特別的,當你身處一個大組時,考慮在2019年使用TypeScript吧。

保持淡定

咱們能夠十分確信的作出預測:社區將會繼續高速發展,JavaScript將會擁有不少的能力。隨着它的增加,咱們將記錄新的趨勢,並與社區分享咱們的看法。你能夠訂閱咱們的週報在twitter上關注咱們,以瞭解最新的行業動態。

相關文章
相關標籤/搜索