一月程前にフロントエンド関連ツールの状況についてインターネットでアンケートが実施されました。このアンケートは去年も行われており、今年は4,715人の回答が得られたようです。
集計結果が公開されたので、ざっくりまとめてみようと思います。というか半分は感想です。
主観が入り恣意的になる部分もあるかと思います、ご注意ください。また原文も大変興味深いと思いますので、ご興味・お時間のある方はぜひ。
Q1. フロントエンド全般について経験年数
- 1-2年が約20%、2-10年の中堅が約60%、10年以上が約20%
CSS
Q2. CSSのレベル
- 中上級者が90%。
- 経験年数とレベルがある程度比例するとして、大体1年以上で(少なくとも自分では)中級と思うということか。
Q3. CSSプロセッサの利用状況
- sassの一強。しかし、2015年との比較では全て若干減少している。
- まだ少数派だがPostCSSが延びてきている模様。
Q4. CSSプロセッサの知識
- sassの一強。(Lessと2倍くらい違う)
- Reworkは2015年と比較して知名度などほとんど変動していないけどどういうこと?(自分も聞いたことがなかった)
Q5. CSSの命名体系(BEMとか)を使っているか
- 約半数が使っている。
- また、残り4割弱も命名体系を聞いたことはある。
Q6. CSS Lint
- 約半数が使っている。
- 「中上級者=Lint」ではないけど、Q2との乖離がある。
Q7. CSSツールの知識
- Autoprefixer, Modernizrの二強。
- Susy,Stylelintは半数の人が知らず、見聞きしたことがある人が2-3割で、使ったことがあるのは1-2割。
Q8. CSS方法論や命名体系など
- BEMが頭一つ抜けている(約3割)
- SMACSS, OOCSS, Atomic Design, CSS Modulesは肉薄(いずれも約1割)
- ITCSS, SUIT CSSは約7割の人が知らず。(私も知らなかった。。。)
Q9. CSSツールの利用状況
- Q7, Q8の結果に関連してBEM, Autoprefixer, Modernizrがよく使われている。
- 何も使っていない人も2割いてちょっと驚いた。
- ちなみに私は昔compassを使っていたのだが、最近はほとんど使われていないのだろうか・・・
JavaScript
Q10. JavaScriptのレベル
CSSのそれと同じように中上級者が8-9割
Q11. タスクランナー
- まだGulpが頭一つ抜けている(約4割)が、前年比では微妙に減少している。NPM
- Scriptsは3割弱だが、前年比では+20%。
- 一時期はgulpがトレンドだったけど、「NPM Scriptsでよくね?」という流れが起き、その結果が現れた形か。
Q12. ライブラリ/フレームワークの知識
- jQueryがまだまだ健在でほとんどの人が知っている。また来年はどうなるんだろう。ちなみに2015年はjQueryを聞いたことがない人は0人だったが、2016年は5人となった。
- ちょっと意外なのはUnderscore, Lodashの知名度が結構あること。
- フレームワークではBackbone, Angular1, Reactが競っている感じ。
- Angular2はまだまだだけど、ReactもBackbone, Angular1と比肩するまでになったんだと驚いた。
- MeteorJSは一時期に比べて大分下火になった印象。
Q13. 現在プロジェクトでよく使われているライブラリ/フレームワーク
- jQueryがまだまだ健在で7割
- BackboneはQ12に反して、6%に留まった。新規プロジェクトでは採用されなくなったということか。
- Reactは4割弱で去年から勢いの衰えを感じない。
- 何も使っていないのは3%。一時期「Vanilla JSでいこうぜ!」というムーブメントみたいなのがあったけど、現実的には難しかったということか。
Q14. 必要不可欠なライブラリ/フレームワーク
- jQueryが3割、Reactが2割弱。他は軒並み1割未満と低い。それだけライブラリ/フレームワークに依存していないということか(少なくとも精神的依存は)
- 必要不可欠なものはないという人も2割いてちょっと驚いた。しかしQ13では数%に留まっているのは他のメンバへの配慮などからか。
Q15. モジュールバンドラ
- Webpackの一強で4割。比較的新しいこともあり前年比で+30%。
- 対照的にモジュールバンドラを使っていない人は3割だけど、前年比で-20%。
Q16. トランスパイラ
- 6割の人がトランスパイラを使っている。また3割の人も聞いたことはある。
- 最近だとcreate-react-app や Next.js, katatema などトランスパイラをあまり意識しなくてもいいツールが出てきたおかげで、自分はトランスパイラを使っていないと思っている人も多少いそうな気がする。
Q17. Lint
- 8割の人がLintしている。中でもESLintが4割で頭一つ抜けている。
Q18. テスト
- 5割の人がテストを書いている。
- ツールはJasmine, Mochaがよく使われている。特にMochaは前年比+7%とまだ成長中?
Q19. その他のツール
- みんなNPMに概ね満足している
- Yarnは最近(特にアンケート実施時点では)出たばかりのツールなのに、聞いたことが無い人が20%なのは驚き。というかそれなりにアンテナを張っている人じゃないとアンケートに回答しないかな・・・(ちなみに自分はたしかEchoJSのポストからだったと思う)