デベロッパーの主な課題に関する 1 対 1 の会話から収集した分析情報のコレクション。
数か月前、Paul Kinlan が 2021 年のデベロッパーの主な課題について投稿してくださったので、この記事の冒頭で過去 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 人以上のデベロッパーにインタビューを行い、Google の目的は、デベロッパーの主な課題を調査し、解決への道筋をつけることです。
デベロッパー ディスカッション
免責条項: これらの分析情報は、デベロッパーとの少数の会話に基づくものです。「all」を使用する場合「一部」という言葉は、コミュニティ全体ではなく、インタビューを行ったデベロッパーを指します。これらの分析情報をより広範に推定するには、さらなる研究が必要です。
これらの対話は、ウェブ デベロッパー コミュニティがいかに素晴らしく、多様性に富んでいるかを再認識する素晴らしいものでした。私たちに話を伺ったすべてのデベロッパーに感謝したいと思います。25 年以上の経験を持つデベロッパーもいれば、2020 年から始めたデベロッパーもいます。デベロッパーの中には、正式なコンピュータ サイエンスの学位からキャリアをスタートさせる人もいれば、独立してキャリアをスタートする人もいます。新機能を積極的に探し、ブラウザのリリースノートに目を通すデベロッパーもいれば、同僚や友人から新しいことを学ぶ人もいます。複雑さも仕事の一部だと考えている人もいれば、仕事に挑戦するのが楽しい人もいれば、仕事をやり遂げたいだけの人もいます。こうした課題の解決を考える際は、こうした多様性を念頭に置いておくことが重要です。
すべてのデベロッパーに共通するのは、すべてのデベロッパーが CMS やフレームワークを使用して業務を行っているということです。WordPress、React、Bootstrap、Angular、Tailwind のどれもが挙げられ、どの開発者も本番環境でバニラ ウェブ プラットフォームを使用していませんでした。プロジェクトの開始時にフレームワークを選択するのは困難であり、デベロッパーは多くの場合、技術面以外の要件を考慮します。たとえば、そのフレームワークを使用するデベロッパーを簡単に雇用できるか。フレームワークと CMS がソリューションに含まれなければ、開発者が抱える課題を改善することはできません。
ウェブ プラットフォームに関して言えば、ほとんどのデベロッパーは、このプラットフォームを基盤として開発を行っていると理解しています。これには、ウェブ プラットフォームの従来の定義だけでなく、CMS、フレームワーク、ツール、ポリフィルも含まれます。多くの場合、そうした情報を最新の状態に保つことが最大の課題となります。これにより、その質問の解釈が変わりました。そして今度は、アンケートを更新して、曖昧さの低い複数の部分に分割する必要があることを理解しました。
もう 1 つの曖昧さは、ウェブ標準の定義です。多くのデベロッパーが、標準への準拠についての例を尋ねられたときに、ベスト プラクティスに準拠することの難しさを指摘しました。この点についても、アンケートで明確にする必要があります。
デベロッパーは、特定のユースケースやパターンを実装する際、ベスト プラクティスを求めています。ベスト プラクティスのソースとしてブログ投稿や StackOverflow も紹介されていますが、デベロッパーは、自分が読んでいる情報が本当にベスト プラクティスなのか、最新の機能や API によって最新の状態になっているのか、疑問に思うことがよくあります。彼らはそれを読むために、より正式な情報源を求めています。
新しいユースケースを可能にする機能や API を使い続けることは、それほど大きな問題ではありません。デベロッパーは、ベスト プラクティスの変更につながる機能や API、プラットフォームへの変更に苦労しています。
ほとんどのデベロッパーは、互換性が最大の課題の一つであることに同意しています。Compat 2021 や Interop 2022 といった取り組みにより改善が進んでいますが、デベロッパーがまだこれを解決済みの問題とはみなしていないことは明らかです。
ほとんどのデベロッパーは、なんらかの方法でポリフィルを使用します。ただし、多くの場合、Babel やフレームワークなどのツールでポリフィルを自動的に追加できるため、デベロッパーが使用を意識することはありません。ポリフィルを自分で管理している場合は、ポリフィルが「適切」かどうかを調べる問題になることがあります。デベロッパーは、NPM のインストール数とポリフィルの作成者をシグナルとして使用していると述べています。複数のデベロッパーが、IE 11 のサポートを終了したことで不要になったポリフィルを削除する作業を行っていると述べています。
フレームワークが原因で断片化の問題が発生する。開発者が行き詰まっているという報告を聞いています古いバージョンのフレームワークに移行し、それによって使用できる機能も制限されますが、同じフレームワークの新しいバージョンに移行するのはコストがかかり、正当化が難しい可能性があります。
まとめ
最新のウェブ開発には、標準、ブラウザ、ライブラリ、ポリフィル、CMS、フレームワーク、ベスト プラクティス、ツールなど、多くの流動的な要素があります。この多様性はウェブの優れた点の一つですが、現時点では、個々の要素やそれぞれの要素がどのように相互に互換性があるかを理解するのは、個々のデベロッパーに任されています。
多様性を損なうことなく、すべてのものがどのように連携し、すべての要素間の連携を強化しているかについて、デベロッパーにとってより明確に説明する方法はないでしょうか。これは大規模で複雑な問題であり、一度にすべてを完了することは困難です。では、どこから手をつければよいのでしょうか。
ご意見やご感想がございましたらお聞かせください。私もよろしくお願いします。会話を直接予約できる方法を設定いたします。ただいま、DM は Twitter で開いています。お気軽にお問い合わせください。