皆さんこんにちは。雨宿りとWEBの小噺へようこそ。 パーソナリティーのkeethこと桑原です。
この番組では、目まぐるしく変化するWEB業界の中、 興味深い裏話や小噺など、ほっと一息つけるお話をお届けします。
今回の話題は、State of JavaScript 2024 の結果を眺めよう 第五回、最終回になります。
前回で、メタフレームワークのところまでお話ししたんですけど、 今回で最後、テスティングライブラリと
Other Toolsと、あとはコンクルージョンの話を見て 終わろうかなと思ってます。
他にもたくさん見る項目あるんですけど、 全部見ていくと、もう5、6回ぐらいプラスで喋ることになるので、
一旦ここで区切って、残りは皆さんの方で 見ていただければなと思っております。
では早速いきますが、テスティングツールですね。 今回のテスト、登場人物だけざっといきます。13個あります。
JEST、MOCA、Storybook、Cypress、Apetia、 TestingLibrary、Playlite、WebDriverIO、B-TEST、
Selenium、TestCafe、MockServiceWorker、NodeTestRunnerとなっております。 いつも通りビューのところから見ていきますね。
まずはユースエイジです。 過去に使ったことあるよっていう人の回答ですけども、
回答者の実に72%、1位はJESTですね。 2位が52%でStorybook、3位が45%でCypressですね。
ここから大体30%まで下がりつつ数字が伸びていって、 一番下はTestCafeが今回ワースト1位で3%ですね。
TestCafeはここ3年間ずっとワースト1位です。 回答者の中では使われてないといった結果になりました。
やっぱり1位のJESTがここ7年間ずっと1位を取り続けていて、 2位のStorybookと20%も差をつけていると。
他のライブラリーもそうですけど、 ほぼほぼ皆さんにも横並びでここから大きく変化することは来年もないんじゃないかなと思ったりはしていますが、
その中2つのライブラリーだけかなり右肩が上がっていて、 1つはBテストですね。
去年37%で今年は40%まで伸ばしてきました。 もう一つはPlaywrightですけども、Playwrightは去年28%だったのが今年36%で8ポイント伸ばしています。
PlaywrightもBテストも登場からずっと右肩上がりで前進し続けているので、 この2つが来年JESTに追いつくまでいかないにしても、
結構近いところまで行くんではないかと。 特にBテストに関しては本当50%超えて60%近く行くんじゃないかっていうのは僕の予想ですね。
Playwrightも結構近いとこ行くんじゃないですかね。 50%後半までワンチャン行くかなってところです。
少なくとも40%は絶対超えるだろうなと思いました。 追いつきプレイマーク。
Cypressが僕の中で結構有名だと思っていて、 Cypressはもちろんさっき言った通り3位なんですけど、
ここの画像が崩れて、ついにPlaywrightがドーンと上に来るんだろうなというような予想です。
私の大好きCodeCept.jsは残念ながらこのラインナップにすら名前が載っていないので、まあ仕方ないですね。
Puppeteerと組み合わせて使うとかなり使いやすくて、私はCodeCept.jsを個人だと書いてますし、 やれるんだったら進めたい感はありますけど、
まあでもPlaywrightの方がやれることもいっぱいあるのかもしれないし、 深くまだPlaywrightを触ったことないので、
世界はこれを選んでいるということでした。 続いてAwarenessですね。
聞いたことある、もしくは使ったことある、みたいな感じですね。 これに行くと数字ドーンと伸びてきます。さっきのも加えてってことになりますけど、
1位はやはりJESTで96%です。 2位がCypress、87%。3位がストーリーブック85%ってとこですね。
4位セレニウムですね。 5位Puppeteerといったところで、この辺は結構でも数字ほぼほぼ一緒ですね。
結構団子状態で、77%から87%。結構団子状態になってます。 で、ワースト1位はやはりテストカフェで、聞いたことある含めてもやはり18%なので、
テストカフェはだいぶ落ち目になってしまったなっていう感が否めないですね。 でまた他のライブラリーもそうですけど、大体皆さん横並びになっていて、
右肩あかりでずっと伸び続けているのがPテストとPlayLiteの図でした。 まあね知名度もどんどん取れてきているし、実績、ユーザー数の実績も増えてきたと。
いい話ですね。 続きましてインターレストを見ますと、トップはもうPテストです。
4年間ずっと1位を訓練し続けて、82%。 2位がPlayLiteで77%ですね。
3位が意外なところにノードテストランナー76%でした。 さっきのユーザーアウェアネスだとノードテストランナーはかなり下、
ワースト3位ぐらいにランクしてたんですけど。 まさかここでドーンと3位に来てます。インターレストはどういうものかというと、聞いたことある
という中でポジティブな印象を持っているっていう意見ですね。 他のライブラリーとかもほぼほぼ皆さん右肩下がっている、ノードテストランナーがいきなり
ドーンと初登場でランクしているのは結構すごいなと思いました。 他には唯一右肩上がっているのがテスティングライブラリーです。
こちらがですね去年51位だったんですけど、今回4%伸びて55%まで数字伸ばしています。 なんか良い変化があったとかライブラリーの進化があったのかちょっとわからないですけど、
他のやつは大体右肩下がっているのが伸びているのは意外でした。 続いてリテンションですね。使ったことがある中でポジティブな印象のものです。
こちらもですね1位Bテスト98%。 使ったことある人の中でもほぼほぼ皆さん満足されているという数値結果でした。
2位がプレイライト94%これもさすがですね。 3位がテスティングライブラリーで91%
4位Mock Service Worker88% 5位が先ほど同様ノードテストランナー87%なので、ノードテストランナーはまだ知名度も低いし使っていただいている人が少ない中、
使ってもらった方には満足度もしっかり提供できている。 その人たちがいろんな発信をしていることで、使ったことないけど聞いたことある人で結構良い印象を持っている
っていうようなブランディングもできているというふうに捉えて良い気がしました。 リテンションは結構数字そんなに悪くないかなってところですね。
Mockだけずっと下がり続けてきて、去年からMockだけちょっとだけ上がってますね数字。 9%ぐらい上がって61%といったところですね。
で他20%から30%ぐらいのところにいますけど、テストカフェが伸びていて、こちらもさっきおちべと言ったんですけど、使ってもらっている人の中でなぜか満足度が
ドーンと11%伸びているので、テストカフェが結構頑張っているのか、子さんのユーザー、テストカフェを使っていただいているユーザーへの満足度とか
体験の改良とかがあったのかもしれないですね。 11%も伸びるって結構すごいですよね。
回答者も毎年変化しているはずですので。 はい、ラストポジティビティです。
良い印象とか感情を持っているっていうような数字ですけど、先に言っていくとほぼ全部のライブラリーが右肩下がってますね。
ほぼというか全部です。上がっているライブラリー0ですね。 唯一Bテストだけ1%減でこれだけ一番ちっちゃいのかなってところです。
1位ももちろんBテストで86%。 2位がプレイライトで80%。3位テスティングライブラリーで69%。
結局使ったことある人の中で好印象と言っていますけど、ポジティビティっていうもうちょっと大きい括りになったものでいくと
皆さん右肩下がっているってことは全体としてそもそもテスティングツールに関して良い印象がちょっと薄れてきている。
楽しくなくなったとか書きづらくなったとか重くなったとかいろんなペインが後でグラフ出てくると思うんでそこで見たいですけど
いろんな理由でちょっと印象が良くなくなってきているっていうような傾向にあるというお話だそうですね。
その中ですね軒並み下がっているものが唯一1個だけあってそれがMock Service Worker MSWですけど
こちらがですね実に26%下がっておりまして去年78%で結構高かったんですけど今年52%まで下がってました。
どうしたんですかねMock Service Workerなんかでかいペインを生んでしまっているように見えますね。
もしあれば見てみますけどなければちょっと他のコメントなり何なりと見てみようかなと思いました。
続いていきましてOther Testing Toolsですね。
他のツール見ていきますけどこれもちょっと名前いっぱい出てくるのでざっと10個上から述べてみますと
Jasmine, Karma, BAN, Deno, QUnit, Jappa, Aiva, UVU, Web Test Runner, Chaiとなっております。
あとOther Answersというところですね。
テスティングラベラリーとしてはJasmineとかQUnit、あとAivaも出てきましたね。
Karmaはこいつ自体がテストっていうよりもテストを走らせるランナーですね。
懐かしいですね。
昔僕もKarmaずっと使ってましたし名前自体が好きだったので。
まあもう今は使わないですけどね。
続いてUsed At Workのものを見ますけどこれは他のいくつかのカテゴリーに分かれてるんですけど
All Responseのところここだけ多分十分だと思うので踏みますと
1位はやはりJSTOで62%、2位ストーリーブック40%、3位B-TEST34%、4位PlayWrite32%、3位プレスが5位で31%。
あと順位行くとテスティングラベラリー、Mocker、Puppeteers、Telenium、MSW、ノードテストランナー、Webドライバーテストカフェという続きます。
唯一50%を超えているのがやっぱりJSTOですね。
歴史も長いですし結構ユニットテストツールとしてほぼほぼこの子一興時代っていうのがありました。
めちゃめちゃ使いやすかったと思いますけど。
まあでは来年にはもうビートに食われるんだろうなっていうような印象はあります。
では続きましてテスティングツールズハピネスのグラフを見てみましょうか。
ハピネスなんですけど数字ほとんどここもう7年8年変わってないですね。
一番高かったのは2018年でその時ですら2.8ポイントで今年2024は2.5ポイントです。
ほとんど2.5ポイントのプラマイ1ポイントずつぐらいの変化しかないので
皆さんかもなく不可もなくかも不可も両方っていうところですね。
メリットもあるしデメリットもあるとこれはそうだよねって感じです。
僕みたいにテスト大好きっ子みたいな人間業務の8時間中ずっとテストかけて言われて全然聞き余裕として書く人間ならば話は変わるんですけど
皆さん一般的な開発者はクリエイティブなことをしたいと今そこに時間を使いたいと思いますので
まあそういう意味でテストっていうのはそんなドーンと上に伸べることはないんだろうなっていうような受け取り方をしました。
じゃあテスティングツールラストですけどペインポイント見てみましょう。
全部見ていく場所長いのでトップ3つ見ますね。
第1位はモッキングで16%コメントもちょっと284件あって見たいですけど長くなるので割愛します。
皆さんの方で見ていただければ2つ目がコンフィギュレーションというところで設定なんですね。
まあ設定もまあわかりますね。
テストそのままシンプルに書ければいいんですけど
やっぱりニッチなテストケースとかユーザーの体験からそれをどうやってテスト上で再現をするかみたいなことも考え出すと
いかにうまいことやるかっていうところ苦労するのはたくさんありますのでその辺があるんでしょうねっていうことでした。
こちらも12%の人が回答していてコメントは213件に上る見ていただければと思います。
3位はパフォーマンスです。
これは11%でまあまあこれもよくあるなと思いました。
システムとかアプリケーションがどんどん成長していって大きくなるにつれ実行するテストケースも増える比例して実行時間も長くなるし
単なる実行時間でテストケースが増えたからそれの分の足し算かと思いきや意外と掛け算になる時もあるし
何ですかね指数関数的に伸びる時もある。
まあでもテストケースしっかり見直さなきゃいけなかったりアーキテクチャ見直しをしたりとかもあるかもしれないですけど
パフォーマンスはほんとねテストにパフォーマンスあんま時間取られたくないなっていうのはありますのでこれが第3位で上がっておりました。
一応第4位にジェストって書いてますね。ジェストそのものにペインがあるというふうに言っててこれもなかなか面白いなと思いましたけど
細かいペインポイントはちょっと今回はすいませんが割愛させていただきます。
ではあとAzure ToolsですけどAzure Toolsも見ていくとたくさん出てきててライブラリーとかグラフィックス&アニメーションとかバックエンドフレームワークとかあるんですけど
全部見てたらきりがないのでまずはライブラリーからいきましょう。皆さんどんなの使ってます?ですけどよく使われているものは1位ローダッシュ43%
2位デイトFNS37%3位ZOTO36%第4位Moment 27%で第5位DJSで24%
あとパーセント端折りますけど6位RXJS7位JQuery8位YAP9位CoreJS10位Luxionって感じでした
実に5位までに時間管理ライブラリーが3つ上がっているっていうのでやはり皆さん時間の
マネジメント系は苦労されているし皆さん何かライブラリーに頼っているっていうのはよくわかりますねこれで
Momentで4位っていうのがまあいろいろ物語ってるなって感じはしますね 1位のローダッシュもローダッシュの中のどれを使っているかっていう感じはしました
ローダッシュって全部で一括りにしてしまえばそれはローダッシュになるでしょうって気持ちはわかりますけど
ローダッシュの中の例えばグループ系の関数を使っているっていうのもあるかもしれない 本来でもそういうのはローカルのプロジェクトの中に
ユーティルズだったりとかヘルパー的な関数できて そこでメンテナンスするっていうのも一つ選択肢としてありな気はします
僕も個人的にこれわざわざNPMで持ってくる必要が未だによくわからないなと思いながら そういう開発の皆さんもしてたりチームのメンバーもしてるのでそういうもんだなと思いながらも
個人的に何か違和感というかもやっていうか引っかかりながら使っているって感じですね あと第3位のゾド
バリデーションですよねバリデーションライブラリーもいくつか出てきたんですけど 先はもう猫もシャクシもゾドっていうような印象があります
他にもいくつか新しいの登場したと思いますけどすいません僕がまだキャッチアップ 追いつけていないので今のところゾドでいいんじゃないので気はします
PSでしっかり型もつけつつのバリデーションができるっていうのが大きいんでしょうね はいで飛んでついてバックエンドフレームワークス見ていきますけど
1位はダントツですね エクスプレスですまあこれはもう歴史が物語ってますよね
68%の人がエクスプレスを回答しますで2位がネストですね これもバックエンドとフロントエンドで両方型を一気通貫で使えるところが大きいんでしょう
いうことでこれ29%でした で3位ファスティファイ4位ストラピー第5位に炎
炎がまだ5位なんだっていうのをどう捉えるかですね 個人的にはもうちょっと伸びるかと思ったんですけど今とまだ5位です
まあでもこれは時間の問題で来年には一気に3位まで上昇している気はしてますけどね それぐらいパコ発ライブラリーだけあって
先人たちの良いところとかうまいこと吸収してペインポイントってのうまいこと解消して 重くないライトなライブラリーなんですけど開発する上で欲しいものっていうのは最低限全部
揃っているみたいな感触がありました僕には その意味で本当使いやすいし
エクスプレスなくても炎で良くないかっていう感じがしてます それぐらいもうプロダクションで耐えうる
締められておりました 二人目の方はですね
シャンディパーソンという方です フロントエンドシニアソフトウェアエンジニア
ネットフリックス&コースインストラクターということで Netflixのシニアなエンジニアであり教えてる側の仕事もしてる方ですよと
女性の方ですね 5年弱前私は初めてTypeScriptを使うことの利点を知りました
スケーラブルで保守性の高いフロントエンドシステムの構築を目指すチームにとって TypeScriptとその利点を探求し始めたばかりの多くの
JavaScript開発者の一人でした TypeScriptの人気が急速に高まっているのを見て驚きました
アンケートの回答者の大多数が日常業務でTypeScriptを使用していることに感激しています 現在私の仕事でも個人的なプロジェクトでも
リアクト、TypeScript、ビート、ジェストがスタックとして使われています 大規模で急成長しているチームはこれらのツールにかけており
フロントエンド開発者を採用する際にはこれらの分野の専門知識を求めています だから他の組織でもこれらのツールが広く採用され
保持されているのを見ることは驚くことではありませんというふうにコメントされておりました こっちの方が近しい感覚はありますね
さっきの一人の方も結構共感はありますけど 今だとリアクト、TypeScript、ビート、ジェストみたいなスタック本当によく見ますね
ジェストがビーテストに多分置き換わっていくような感じはしますけど 少なくともTypeScript、リアクトっていうのはもうほぼディファクト感がありますね
ただ他の会話者の人たち皆さんが使っているのは不思議ではないし逆にそうじゃないものの方を聞いたとき興味がありますね
なぜその選択が技術選定に至ったのか 逆に他のものを切る、あえてリアクト、TypeScriptを切った理由は何なのかっていうのも気になりますね
もしあなたが私のようなら新しいフレームワークやライブラリを試し続けるよりもいくつかの必須ツールをマスターすることに集中したいでしょう
また私のように信頼できるフロントエンドツールの最新バージョンが安定リリースに達し 問題が解決されるまで採用を控えるかもしれません
あなたは一人ではないし試行錯誤の道を好む人には大きなメリットもありますというところで
茨の道まだ枯れてないんであれば大変かもしれないですけどそういうのを好む人は全然メリットありますし
枯れてからしっかり安定バージョンになって使いたい人はそういうのを待つのも一つですよといったところですね
以上、世界のエンジニアのいろんな傾向とか回答が見れてとても面白かったなと思います
では長くなりましたのでこれで今回の配信を終わりにしたいと思います
エンディングです
いかがだったでしょうか実に5回にわたってステートオブジャバスクリプト2024を見ていきました
去年も一昨年も僕はずっと見続けていて
予想の範囲を超えなかったものもあれば意外だったなっていうものをいくつかあって
かつ日本で僕はずっと生活をしてエンジニアとして動いている中
世界の方々がどういう選定をされたりいろんなコメントも見てましたけど
どういうような意思決定とか気持ちでこれを選ぶまたは選ばなかったみたいな
またここにはペインがあるみたいなコメントを見てて
そういうのはやっぱり世界と情報を得てそことシンクしたり
違ったりみたいな差別化差分を見るって結構大事なことだなって改めて感じましたね
本当無料でこの情報を見れるしこの運営をしていただいている中の方には本当感謝申し上げたいと思います
また今年もいろんなツールが誕生したり進化し続けていくと思いますので
一技術者として今のお仕事なり開発現場の中でこれが必要だっていうのはしっかり技術者として選定していきたいなというふうに思っていますし
新しいツールが来たらしっかり試してみて良いものはしっかり取り込んでいきたいなというふうに感じました
ではでは終わっていきたいとおもいます
この番組面白かったよという方ぜひチャンネル登録をお願いします
もし聞いていて気になることや話してほしいトピック感想などありましたら
概要欄のフォームやXでハッシュタグウェブ小話でつぶやいてください
ウェブはアルファベット小話は漢字でもひらがなでも大丈夫です
それではまた雨宿りしに来てください
今回もお聞きくださりありがとうございました
雨宿りとウェブの小話お相手はキースでした
さようなら