JavaScriptの利用動向に関する年次調査(2019年版)が発表された。開発者2万1717人の回答を集計、分析したものだ。勢いのあるフレームワークやツール、JavaScriptのスーパーセット言語が分かる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
JavaScriptの利用動向に関する年次調査「State of JavaScript Survey」(2019年版)が発表された。JavaScriptを開発に利用する2万1717人の回答を集計、分析したものだ。全世界の100以上の国から回答を得た。回答が多かった上位5カ国は米国(23.7%)、英国(6.4%)、フランス(5.5%)、ドイツ(5.1%)、カナダ(4.0%)。日本からも118人が回答した。
開発者の属性は4種類に分かれている。フルスタック(48.3%)、フロントエンド(36.6%)、Web(11.7%)、バックエンド(3.4%)だ。
調査結果のハイライトは次の通り。レポートでは、2019年のJavaScriptエコシステムの全体像をさまざまな角度から示している。
図中の個々の線は、JavaScriptのフレームワークやツール、拡張について、利用者の傾向が2016〜2019年の期間中、どのように推移したのかを示している(色の濃い側が2019年)。
縦軸は上に行くほど、利用者が多いことを示し、横軸は右に行くほど、学習希望者(再度利用しようとする開発者を含む)が多いことを表す。
ReactやExpress、Jest、TypeScriptなどは、現在の利用者が多く、今後使おうと考えている利用も少なくない。GraphQLやVue.jsも成長が著しい。逆にAngularの利用者は増え続けているものの、勢いを失いつつあることが分かる。
フレームワークやツール、拡張などを、JavaScriptのスーパーセット言語(青紫色)、フロントエンド(シアン)、データレイヤー(朱色)、バックエンド(赤紫色)、テスト(オレンジ)、モバイルとデスクトップ技術(緑色)の5つに分けてみると、それぞれの傾向がよりはっきりする。
JavaScriptのスーパーセット言語ではTypeScriptが一人勝ち状態だった。
フロントエンドではReact、次いでVue.jsだった。データレイヤーではReduxが落ち込み傾向にあり、GraphQLが追いかけている形だ。テストではJest、次いでMochaとなった。モバイル/デスクトップでは利用者がいずれも少ないものの、ElectronとReact Nativeの将来が有望だと分かった。
次の図は、各技術について2019年時点の満足度と利用者数を示している。縦軸は満足度(0〜100%)、横軸は利用者数(0〜1万8000人)を示す。
図では各技術を4つの象限で分類した。第1象限(右上)のADOPT(採用)は、利用者数が多く、満足度も高い安心して採用できる技術だ。ExpressやReact、Jest、TypeScript、Mocha、Reduxの6つの技術を含む。
第2象限(左上)のASSESS(評価)は、利用者数は少ないが満足度が高く、目を配っていく価値のある26の技術を含む。
第3象限(左下)のAVOID(回避)は、利用者数が少なく、満足度も低い。つまり、今のところは避けることが無難だと考えられる技術だ。6つの技術が含まれている。
第4象限(右下)のANALYZE(分析)は、利用者数が多いものの、満足度が低い。現在使っている場合は、再評価すべき技術だ。Angularのみがここに含まれる。
言語として見たJavaScriptの最もエキサイティングな点の一つは、停滞がないことだ。アロー関数式から分割代入まで、多くの重要な機能がここ数年、加わっており、今ではJavaScriptコードに不可欠な要素となっている。
そこでState of JavaScript Surveyでは今回、どのツールを使っているかだけでなく、JavaScriptコードをどのように記述しているかも明らかにするため、開発者が使っている、または知っているパターンや構造、機能についても調査を始めた。
次の図は、JavaScript関連の機能を5つのカテゴリー別に分類し、それぞれの普及率を示している。
外側の円は、その機能グループについて知っている総利用者数を示す。内側の二重の円は、特定の機能について知っている利用者数(外側)と実際に使っている利用者数(内側)を示す。
例えばDestructuring(分割代入)については1万9627人が知っており、1万7864人に利用経験がある(使用率91%)。
5つの機能グループではWebブラウザAPIに関する機能が最も多かった。だが、個別の機能を見ていくと、Web Speech APIやWebRTC、WebGLなど、利用率が2割を下回る技術も多い。
逆にシンタックスに分類された機能は3つしかなかったが、ここに含まれる機能の利用率はどれも9割を超えていた。
コンパイルするとJavaScriptコードを出力するスーパーセット言語が、広く利用されている。生のJavaScriptと比較して、コーディングしやすかったり、バグを作り込みにくかったりするためだ。
Copyright © ITmedia, Inc. All Rights Reserved.