ウェブ デベロッパーが抱える主な課題の詳細

デベロッパーの主要な課題に関する分析情報のコレクション。複数の 1 対 1 の会話から収集されています。

数か月前、Paul Kinlan2021 年のデベロッパーの主要な課題について投稿しました。そこで、この記事では、過去 2 四半期の最新情報を最初にご紹介します。数値は若干変化しましたが、ランキングは変わりませんでした。

課題 2021 年第 1 四半期 2021 年第 2 四半期 2021 年第 3 四半期 2021 年第 4 四半期
ウェブ プラットフォームやウェブ標準の変更に対応する。 27% 26% 27% 22%
新旧の多数のツールやフレームワークに対応する。 26% 26% 25% 21%
デザインやエクスペリエンスをブラウザ間で同じように機能させる。 26% 28% 24% 21%
ブラウザ間のテスト。 23% 24% 20% 20%
セキュリティ対策の理解と実装。 23% 25% 20% 19%

Paul のブログ投稿で述べたように、これらの問題に対処する必要があります。そのための取り組みの一環として、同僚の Kadir Topal と私は 18 人以上のデベロッパーにインタビューしました。調査結果に基づいて、デベロッパーの主要な課題を解決するための道筋を検討します。

デベロッパー ディスカッション

免責条項: これらの分析情報は、デベロッパーとの少数の会話に基づいています。「すべて」または「一部」を使用する場合は、コミュニティ全体ではなく、インタビューしたデベロッパーを指します。これらの分析情報をより広範に推測するには、さらなる調査が必要です。

これらの会話は、ウェブ デベロッパー コミュニティの素晴らしさと多様性を改めて認識させてくれました。ご協力いただいたすべてのデベロッパーの皆様に感謝いたします。25 年以上の経験を持つデベロッパーもいれば、2020 年に始めたばかりのデベロッパーもいます。コンピュータ サイエンスの正式な学位を取得してキャリアをスタートしたデベロッパーもいれば、独学でキャリアをスタートしたデベロッパーもいます。新しい情報を積極的に探し、ブラウザのリリースノートを読んで最新情報を把握しているデベロッパーもいれば、同僚や友人から新しい情報を得ているデベロッパーもいます。複雑さは仕事の一部であり、挑戦を楽しむ人もいれば、ただ仕事をこなしたいだけの人もいます。こうした課題を解決する際には、この多様性を念頭に置くことが重要です。

すべてのデベロッパーに共通する点の 1 つは、CMS またはフレームワークを使用して作業していることです。WordPress、React、Bootstrap、Angular、Tailwind がすべて言及されましたが、本番環境で Vanilla ウェブ プラットフォームを使用しているデベロッパーはありませんでした。プロジェクトを開始する際にフレームワークを選択するのは難しい作業です。デベロッパーは、技術以外の要件を考慮することがよくあります。たとえば、そのフレームワークを扱うデベロッパーを簡単に雇用できるかどうかなどです。フレームワークと CMS がソリューションに含まれていない場合、デベロッパーの課題を改善することはできません。

ウェブ プラットフォームについて言えば、ほとんどのデベロッパーは、プラットフォームをその上で開発するものと理解しています。これには、ウェブ プラットフォームの従来の定義だけでなく、CMS、フレームワーク、ツール、ポリフィルも含まれます。多くの場合、最新情報を把握することが最大の課題となります。これにより、その質問の解釈が変わり、アンケートを更新して、あいまいさを減らすために質問を分割する必要があることがわかりました。

曖昧な点のもう一つは、ウェブ標準の定義です。標準に準拠するための例について尋ねたところ、多くのデベロッパーは、ベスト プラクティスに準拠することの難しさを指摘しました。これは、アンケートで明確にする必要があります。

デベロッパーは、特定のユースケースやパターンを実装する際にベスト プラクティスを探します。ブログ投稿や StackOverflow はベスト プラクティスの情報源として言及されていますが、デベロッパーは、読んでいる情報が本当にベスト プラクティスであるか、最新の機能や API に対応しているかどうかを疑問に思うことがよくあります。より公式な情報源で確認したいと考えています。

新しいユースケースを可能にする機能や API に追いつくことは、それほど問題ではありません。デベロッパーは、機能、API、プラットフォームの変更に苦労し、ベスト プラクティスが変更される結果となっています。

ほとんどのデベロッパーは、互換性が最大の課題の 1 つであると考えています。Compat 2021Interop 2022 などの取り組みにより状況は改善されていますが、デベロッパーは問題が解決されたとは思っていないようです。

ほとんどのデベロッパーは、何らかの方法でポリフィルを使用しています。ただし、多くの場合、ポリフィルは Babel などのツールやフレームワークによって自動的に追加されるため、デベロッパーは使用を意識する必要はありません。ポリフィルを自分で管理している場合、ポリフィルが「適切」かどうかを判断するのは難しい場合があります。デベロッパーは、NPM でのインストール数とポリフィルの作成者をシグナルとして使用することを挙げています。数人のデベロッパーは、IE 11 のサポート終了により不要になったポリフィルを削除する作業を行っていることを報告しています。

フレームワークを使用すると、分散の問題が発生します。デベロッパーが古いバージョンのフレームワークに「とらわれ」、その結果使用できる機能が制限されているという報告が寄せられています。また、同じフレームワークの新しいバージョンに移行するには費用がかかり、その費用を正当化するのが難しいという報告もあります。

まとめ

最新のウェブ開発には、標準、ブラウザ、ライブラリ、ポリフィル、CMS、フレームワーク、ベスト プラクティス、ツールなど、多くの要素が関係しています。この多様性はウェブの優れた点の一つですが、現時点では、各要素の意味と相互の互換性を理解するのは各デベロッパーに委ねられています。

多様性を損なうことなく、すべてがどのように結びついているのか、すべての要素がどのように連携しているのかをデベロッパーに明確に伝える方法はないでしょうか。これは大規模で複雑な問題であり、一度に解決することは困難です。では、どこから手をつければよいでしょうか。

ご意見やご感想がございましたら、お聞かせください。私もぜひお話しさせていただきたいのですが、直接予約できる方法を設定いたしますが、それまでは Twitter の DM でお問い合わせください。ご都合のよい日時をお知らせください。