教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

2015前端工具使用調(diào)查

更新時(shí)間:2015年12月29日15時(shí)05分 來源:傳智播客前端與移動(dòng)開發(fā)學(xué)科 瀏覽次數(shù):


原文鏈接 http://blog.gaoqixhb.com/p/55f5889d167799ee3eb7ec8d
結(jié)果是來自一份調(diào)查的數(shù)據(jù),主要調(diào)查了這么幾個(gè)問題:
問題一:預(yù)處理器
我問的第一個(gè)問題是“你用什么預(yù)處理器?”。
常用的預(yù)處理器基本上都在答案中有了,不得不指出的是我之所以沒有把 PostCSS 放在列表中是因?yàn)?nbsp;PostCSS 作為后處理器很多使用的人往往也會(huì)配合使用其它的預(yù)處理器在他們的工作中,這樣會(huì)引起選擇強(qiáng)迫癥的困擾。我在問卷中指出,如果你真的是只使用 PostCSS 的話,那你就選擇“其它”吧。
預(yù)處理器 得票數(shù) 百分比
Sass 689 66.00%
Less 140 13.41%
Stylus 44 4.21%
不使用預(yù)處理 141 13.51%
其它 30 2.87%
問題二 :PostCSS 和 Rework
下一個(gè)問題,我想要看看到底有多少工程師聽過“后處理器”工具,例如 PostCSS 或者 Rework。所以這道題我的問題是:“你是否曾聽說過下面列出的 CSS 處理工具?”。
這是這道題的結(jié)果
聽/看過 偶爾用 常用 從沒聽過
PostCSS 53.64% (560) 10.34% (108) 8.91% (93) 27.11% (283)
Rework 21.84% (228) 2.30% (24) 0.86% (9) 75.00% (783)
從原始數(shù)據(jù)中我們可以知道,有 72.89% 的人是知道或者用過 PostCSS 的,對(duì)比之下 Rework 只有 25% 的人。兩個(gè)工具都只有極少的一部分人會(huì)經(jīng)常使用他們。
分析這個(gè)數(shù)據(jù)我們可以知道,有 269 票(超過 25%)的人既沒有聽過 PostCSS 也沒有聽過 Rework。相比較之下,有 95 票(9.1%)表示他們經(jīng)常使用這兩款工具中的至少一種。
我認(rèn)為這個(gè)結(jié)果反映出了后處理器領(lǐng)域在前端界還是個(gè)比較新的領(lǐng)域,我希望在將來能看到這個(gè)數(shù)字會(huì)飛鼠增長(zhǎng)。
問題三:自動(dòng)化工具
下一個(gè)問題是我最感興趣的——“你更喜歡在你的工作中使用哪款自動(dòng)化工具?”。
我們先看一下 npm 的下載數(shù)量,Grunt 的下載量是 145 萬/月,Gulp 則是 134 萬/月。從下載使用量上來看,這兩者似乎是差不多的,不過從問卷的數(shù)據(jù)來看,用 Gulp 代替 Grunt 似乎成了一種趨勢(shì)。
讓我們來看看問卷結(jié)果吧:
自動(dòng)化工具 得票數(shù) 百分比
Gulp 488 46.74%
Grunt 274 26.25%
NPM 40 3.83%
Broccoli 13 1.25%
Other 50 4.79%
不使用任何工具 179 17.15%
令人驚訝的事,Gulp 獲得了 46.7% 的投票而 Grunt 只有 26.3%,這說明大家越來越喜歡使用 Gulp 了。另外只有 17.2% 的人說他們不適用任何自動(dòng)化工具,說明大部分前端開發(fā)人員已經(jīng)意識(shí)到了自動(dòng)化構(gòu)建工具的好處并將其運(yùn)用在項(xiàng)目和團(tuán)隊(duì)中。
問題四:JS 庫和框架
另外一個(gè)我比較感興趣的問題是現(xiàn)在最流行的 JS 庫和框架是什么,下面是結(jié)果:
聽/看過 偶爾用 常用 從沒聽過
jQuery 1.7% (18) 6.8% (71) 91.5% (955) 0% (0)
Underscore 33.4% (349) 19.2% (200) 38.6% (403) 8.8% (92)
Backbone 58.1% (606) 21.6% (226) 18.6% (194) 1.7% (18)
AngularJS 36.4% (380) 34.9% (364) 28.5% (298) 0.2% (2)
Ember 76.8% (802) 15.6% (163) 4.6% (48) 3% (31)
React 59.6% (622) 21.8% (228) 15.7% (164) 2.9% (30)
Polymer 70.5% (736) 12.2% (127) 3.3% (35) 14% (146)
Knockout 67.9% (709) 10.4% (109) 5.5% (57) 16.2% (169)
沒有懸念 jQuery 得到了 91.5% 的最高票數(shù),并且這只是常用它的人。不得不說它是所有庫里面影響最深遠(yuǎn)的一個(gè)了。數(shù)據(jù)還顯示,有 28.5% 的開發(fā)者經(jīng)常使用 AngularJS,18.6% 的人常用 Backbone,15.7% 的人常用 React。
讓我們撇開 jQuery 和 Underscore 兩個(gè)庫看看這些 MV* 框架的數(shù)據(jù),有超過 50%(531票)的人至少使用其中一款框架。
題外話,之后我重開這個(gè)調(diào)查問卷的時(shí)候我會(huì)再問一個(gè)“有多少開發(fā)者開始使用 ES6(ES2015) 了?”我相信這個(gè)會(huì)有很大的增長(zhǎng)空間,并且我很好奇這個(gè)問題的具體現(xiàn)狀。
問題五:你在你的主要項(xiàng)目中使用哪款 JS 庫/框架
這題我問的是:“你在你的主要項(xiàng)目中會(huì)使用哪款 JS 庫/框架?”。這題因?yàn)槭呛竺婕由先サ?,所以只?nbsp;467 個(gè)投票,這個(gè)或多或少會(huì)影響最后的統(tǒng)計(jì)。下面是統(tǒng)計(jì)結(jié)果:
得票數(shù) 百分比
只用原生不用庫 52 11.13%
jQuery 264 56.53%
AngularJS 72 15.42%
React 38 8.14%
Ember 15 3.21%
Backbone 11 2.36%
Underscore 7 1.50%
Polymer 2 0.43%
Knockout 6 1.28%
其它(請(qǐng)指出) 0 0.00%
即使在投票總數(shù)少了一半的情況下,jQuery 也憑著 56.53%(264票)的高票拿到了最常使用庫的寶座,緊隨其后的是 AngularJS,有 15.42%(72票)。
因?yàn)檫@到底的總票實(shí)太少了,我也不想對(duì)這道題的數(shù)據(jù)進(jìn)行太多的預(yù)測(cè)分析。但是 jQuery 的高票仍讓我比較感興趣,我相信隨著 ES2015 的普及 jQuery 的份額會(huì)慢慢降低,大家都會(huì)轉(zhuǎn)而使用原生或者一些小而美的庫。
問題六:JS 模塊加載器
模塊加載器我自己也使用過一段時(shí)間,不過我比較想知道是否所有的前端工程師們也都會(huì)使用它,如果是的話他們會(huì)選擇使用哪款工具?所以這道題的問題是:“你是否在你的工作中使用過一款 JS 模塊加載器?”
下面是這道題的統(tǒng)計(jì)結(jié)果:
模塊加載器 得票數(shù) 百分比
不使用加載器 538 51.53%
Browserify 185 17.72%
RequireJS 142 13.60%
webpack 120 11.49%
JSPM 30 2.87%
其它 29 2.78%
數(shù)據(jù)可以看出,48.47% 的開發(fā)者已經(jīng)開始使用模塊加載器管理他們的依賴了。其中 17.7% 的人使用的是 Browserify,13.6% 的人使用 RequireJS,11.5% 的人使用 webpack。webpack 最近得到了高度的關(guān)注而且我們可以看到數(shù)據(jù)上其實(shí) webpack 并沒有差前兩名多少。當(dāng)然在 ES2015 普及之后數(shù)據(jù)將如何變化我也是非常關(guān)心的。
不管怎么說看到大家都在使用模塊加載器我還是很高興的,當(dāng)然我也喜歡在未來那些不適用加載器的人會(huì)越來越少。
問題七:JS 單元測(cè)試
我一直很好奇是不是所有的人都會(huì)對(duì)他們的 JS 代碼或者項(xiàng)目進(jìn)行單元測(cè)試?所以這道題我的問題是:“在你的項(xiàng)目中你使用什么單元測(cè)試工具進(jìn)行測(cè)試?”。
下面是統(tǒng)計(jì)結(jié)果:
工具 得票數(shù) 百分比
不使用測(cè)試工具 615 58.91%
Mocha 161 15.42%
Jasmine 159 15.23%
QUnit 35 3.35%
Tape 20 1.92%
Jest 11 1.05%
Karma 6 0.57%
Intern 10 0.96%
其它 27 2.59%
數(shù)據(jù)可以看出占大頭的是不使用任何測(cè)試工具,占了 58.91%,數(shù)據(jù)說明有恨大一部分人在項(xiàng)目中忽視了單元測(cè)試這一環(huán)節(jié),雖然它真的很重要。在其它一些使用單元測(cè)試工具的投票中,大部分人選擇了 Mocha(15.42%) 或 Jasmine(15.23%) 這兩款工具??偟恼f來就是前端工程師在 JS 單元測(cè)試這塊有一定的差距。
問題八:其它工具
最后一個(gè)問題列舉了一些包管理和項(xiàng)目管理里常用的工具,然后我問的是:“這里哪些工具你曾用過?”。
下面是統(tǒng)計(jì)結(jié)果:
聽/看過 偶爾用 常用 從沒聽過
Bower 23.75% (248) 26.44% (276) 47.89% (500) 1.92% (20)
Yeoman 37.45% (391) 30.56% (319) 22.13% (231) 9.86% (103)
Ender 30.36% (317) 1.92% (20) 0.86% (9) 66.86% (698)
NPM 6.80% (71) 17.91% (187) 71.07% (742) 4.22% (44)
大家的主要使用工具基本上是 Bower 和 NPM,甚至有很大一部分人沒有聽說過 Ender。而我認(rèn)為我用過的最棒的一個(gè)工具 Yeoman 的普及度也比較低,只有 22.13% 的人經(jīng)常用,將近 10% 的人沒有聽說過它。在我的經(jīng)驗(yàn)里,它能讓項(xiàng)目變的更加簡(jiǎn)單,項(xiàng)目中使用它是非常有價(jià)值的。
總結(jié)
總的說來,還是有很大一部分人在工作中使用前端工具的。當(dāng)然如果你熟練使用 JS, CSS 的那些腳手架工具,你一定是他們當(dāng)中的佼佼者。另一方面來看,JS 測(cè)試工具的普及程度還比較低,唯一的解決辦法就是向大家普及如何在項(xiàng)目中使用和遷移這些工具,當(dāng)然最重要的是如何編寫可測(cè)試的 JS 代碼
 
0 分享到:
和我們?cè)诰€交談!