2022年3月15日
Web開発者の悩みの種ランキング(2021年版)
(2021-11-15)by Paul Kinlan
本記事は、原著者の許諾のもとに翻訳・掲載しております。
私は先日、開発者が何を最も大きな課題に挙げているかを知ることで、開発者コミュニティのニーズを理解できるという記事を書きました。
元々の投稿はMDN Developer Needs Assessment(2019年)の結果を要約したものでしたが、不運なことに、この調査は2020年に中止されました。この調査情報は、Webプラットフォーム全体の方向性を定めるのに役立つ点で、私たちのチームにとって重要だったため、調査の中止は残念なことです。
調査を実施していたMozillaの代わりとして、私はチームのために、開発者の大まかなニーズを把握する調査を企画しました。
3カ月ごとに、米国、英国、インドのWeb開発者やWeb開発における意思決定者約700人をランダムにサンプリングして実施し、過去に実施したすべての調査とデータを比較して、トレンドに変化があるかを見ていきます。
注意すべきなのは、MDN Surveyと私たちの調査は違うということです。両者調査の回答者は異なっており、質問内容も(可能な限り似せようとしましたが)微妙に違います。回答者の人数も違うため、Max-Diff法を使用せずに、問題だと思っていること上位3つを選択する形式です。そのため、回答の優先順位をどのように付けるべきかという疑問が生じますが、結果を詳しく見てみると、結論に大差はありません。
2020年の調査では、開発者がフラストレーションを感じる主な点として、以下が挙げられました。
ブラウザの互換性 – Webは「でこぼこ」している、もっと滑らかであるべきだ。Chromeは幅広いWebプラットフォームとの互換性を確保し続けるべき。Chromeはすべてのブラウザベンダーと協力して互換性を支援すべき。ChromeはWebブラウザがChromeのみにならないように手助けすべき。
テスト – すべてのブラウザでサイトのエンドツーエンドテストを簡単に実施できるようにすべきだ。現在はテストを実施するのが難しすぎる。
ドキュメント – 最適かつ最新の参照資料や、筆者の意見が記された検証済みのベストプラクティスガイダンスを、開発者が簡単に見つけられるようにすべきだ。
デバッグ – 開発者はデバッグを失敗と捉えている。直面している問題について、開発者が理解し、可能な限り速やかに解決できるように、あらゆるツールを利用できるようにすべきだ。
フレームワーク - 非常に多くの開発者がフレームワークを利用している事実から逃れることはできない。ブラウザベンダーとフレームワーク作者との強固な関係を確実に維持するには、また、開発者がこうしたツールの効果的な利用ノウハウを維持していくには、どうすればよいか?
プライバシーとセキュリティ – 有効競争によって生じるエコシステムの変化のみならず、非常に多くの法令が開発スピードを遅らせる要因となっている。こうした変化は開発者を悩ませ、私たちは人々の助けとなるガイダンスとツールを必要としている。
それでは、2021年はどうでしょうか?
(ドラムロール)
結果はほとんど変わりませんでした。測定方法が変わったため、一定の変化はありましたが、全体的な方向性は同じです。
トップ5は以下の通りです(パーセンテージは、その問題を上位3つに入れた開発者の割合を表します)。
課題 | 第1四半期 | 第2四半期 | 第3四半期 |
---|---|---|---|
WebプラットフォームやWeb標準の変化についていく | 27% | 26% | 27% |
大量の新しい(および既存の)ツールやフレームワークについていく | 26% | 26% | 25% |
異なるブラウザでもデザインやユーザー体験が同一になるようにする | 26% | 28% | 24% |
複数のブラウザでテストを行う | 23% | 24% | 20% |
セキュリティ対策を理解し、実装する | 23% | 25% | 20% |
各四半期の結果はほとんど同じです。
私にとって、このデータは、具体的に何を修正すべきかを教えてはくれませんが、どの分野の調査を深めればよいか分かる点で価値があります。
例えば、私は昨年、このデータの解釈として、「開発者にとって、プラットフォームレベルでも、ツールのエコシステムという点でも、変化やツールの数が多すぎる(両者は常に問題の上位に入っている)。この問題に対処する必要がある」と考えました。
上記のデータからは、開発者が利用するツールが、複数のブラウザにおけるテストや、ブラウザをまたぐ均一なユーザー体験を実現するには不十分であることも分かります。Compat 2021は、こうしたデータに基づいて私たちが構築したプログラムの1つであり、開発者はその成果に気づき始めていると言えるでしょう。しかし、このようなブラウザ間の互換性向上に関する取り組みが、開発者にとって有意義な変化をもたらしたかどうかを判断するには、まだ時期尚早であると考えられます。
追記
「Webサイトやアプリを開発するときに直面する最も大きな課題は何ですか?(3つ選択してください)」という質問に対する回答の結果全体。
課題 | 第1四半期 n=698 | 第2四半期 n=760 | 第3四半期 n=738 |
---|---|---|---|
WebプラットフォームやWeb標準の変化についていく | 27% | 26% | 27% |
大量の新しい(および既存の)ツールやフレームワークについていく | 26% | 26% | 25% |
異なるブラウザでもデザインやユーザー体験が同一になるようにする | 26% | 28% | 24% |
複数のブラウザでテストを行う | 23% | 24% | 20% |
セキュリティ対策を理解し、実装する | 23% | 25% | 20% |
よく実施する小さなタスクが自動化されていない | 15% | 17% | 18% |
能力が不足しているため、望ましいユーザー体験を生み出すことができない | 15% | 13% | 18% |
最新のWebテクノロジーを活用するための知識が不足している | 16% | 16% | 17% |
既存のツールやフレームワークの使用法を理解する | 16% | 14% | 17% |
望ましいパフォーマンスを達成するのが困難/不可能 | 11% | 12% | 17% |
組織内においてWebへの取り組みを優先させる | 15% | 16% | 16% |
古いブラウザをサポートする | 21% | 23% | 16% |
参照資料やドキュメントが不足している | 14% | 13% | 15% |
開発者向けのツールが不足している/乏しい | 11% | 14% | 15% |
望ましいUIを実現するのが困難/不可能 | 14% | 13% | 15% |
上記のいずれでもない上記のいずれでもない | 3% | 1% | 1% |
- 「古いブラウザをサポートする」が大幅に低下しているのは興味深い点です。
筆者について:Paul Kinlan
GoogleのChrome Developer Relationsチームでリーダーを務めています。 私たちは、ユーザーがネイティブアプリをインストールしたり、クローズドプラットフォームの中でコンテンツを制作したりしなくても、Web上で可能な限り最高の体験を享受できるようにしたいと考えています。
私たちのチームが目指すのは、開発者がWeb上での開発を進めやすくすることです。そのために、すべてのChromeのリリースをサポートし、web.dev上で開発者を支援するための優れたコンテンツを生み出し、MDNに貢献しているほか、ブラウザの互換性や、特に優れた開発者向けツール(ほんの数例を挙げるとLighthouse、Workbox、Squooshなど)の改善を支援しています。
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 グループマネジャー 株式会社ニジボックス デベロップメント室 室長 Node.js 日本ユーザーグループ代表
- Twitter: @yosuke_furukawa
- Github: yosuke-furukawa