Présentation détaillée des principales difficultés rencontrées par les développeurs Web

Ensemble d'informations sur les principales difficultés rencontrées par les développeurs, recueillies à partir de différentes conversations.

Il y a quelques mois, Paul Kinlan a publié un article sur les principales difficultés rencontrées par les développeurs en 2021. Il est donc judicieux de commencer cet article par une mise à jour sur les deux derniers trimestres. Les chiffres ont changé, mais le classement n'a pas changé.

Challenge 1er trimestre 2021 2e trimestre 2021 3e trimestre 2021 4e trimestre 2021
Se tenir informé des changements apportés à la plate-forme ou aux normes Web. -27 % 26 % -27 % 22 %
Se tenir au courant d'un grand nombre d'outils ou de frameworks nouveaux et existants. 26 % 26 % 25 % 21 %
Rendre une conception ou une expérience identique dans tous les navigateurs. 26 % 28 % +24 % 21 %
Tests dans plusieurs navigateurs. 23 % +24 % 20 % 20 %
Comprendre et mettre en œuvre les mesures de sécurité. 23 % 25 % 20 % 19 %

Comme indiqué dans l'article de blog de Paul Smith, nous devons traiter ces difficultés. Dans cette optique, mon collègue Kadir Topal et moi-même avons interrogé plus de 18 développeurs. Notre objectif est d'étudier le problème et de commencer à comprendre la marche à suivre pour résoudre les principales difficultés rencontrées par les développeurs.

Discussions avec les développeurs

Clause de non-responsabilité:Ces insights sont basés sur un petit nombre de conversations avec des développeurs. Lorsque vous utilisez "tous" ou "certains", il s'agit des développeurs interrogés, et non de l'ensemble de la communauté. Davantage de recherches sont nécessaires pour extrapoler ces insights à plus grande échelle.

Ces conversations nous ont rappelé à quel point la communauté des développeurs Web est incroyable et diversifiée, et je tiens à remercier tous les développeurs qui nous ont contactés. Certains développeurs avaient plus de 25 ans d'expérience, tandis que d'autres ont débuté en 2020. Certains développeurs ont commencé leur carrière par un diplôme formel en informatique, tandis que d'autres ont commencé leur carrière indépendamment. Certains développeurs recherchent activement les nouveautés et se tiennent informés des nouveautés en lisant les notes de version des navigateurs, tandis que d'autres se renseignent par le biais de collègues et d'amis. Certains pensent que la complexité fait partie du travail et aiment être mis au défi, tandis que d'autres veulent juste faire leur travail. Lorsque vous réfléchissez à la résolution de ces difficultés, il est important de garder cette diversité dans nos esprits !

Tous les développeurs utilisent un CMS ou un framework pour travailler. WordPress, React, Bootstrap, Angular et Tailwind ont tous été mentionnés. Toutefois, aucun de ces développeurs n'utilisait la plate-forme Web vanilla en production. Choisir un cadre au démarrage d'un projet est un défi, et les développeurs tiennent souvent compte d'exigences non techniques. Par exemple, s'il est facile de recruter un développeur pour travailler avec ce cadre. Nous ne pouvons pas résoudre les problèmes des développeurs si les frameworks et CMS ne sont pas inclus dans la solution.

Concernant la plate-forme Web, la plupart des développeurs comprennent la plate-forme comme le sur quoi ils développent. Cela inclut non seulement la définition classique de la plate-forme Web, mais aussi les CMS, le framework, les outils et les polyfills. Dans de nombreux cas, les principales difficultés sont de rester à jour. Cela a changé notre interprétation de cette question, et nous savons maintenant que nous devons mettre à jour notre enquête afin de la décomposer en différentes parties, moins ambiguës.

Autre doute : la définition des normes Web. Lorsqu'on leur demande des exemples de mise en conformité, de nombreux développeurs ont souligné leurs difficultés à appliquer les bonnes pratiques. C'est un autre point que nous devons clarifier dans l'enquête.

Les développeurs s'intéressent aux bonnes pratiques lorsqu'ils implémentent des cas d'utilisation et des modèles spécifiques. Les articles de blog et StackOverflow sont mentionnés comme sources de bonnes pratiques, mais les développeurs se demandent souvent si les informations qu'ils lisent sont effectivement les bonnes pratiques et si elles sont à jour avec les dernières fonctionnalités et API. Il aimerait qu'une source plus officielle les lise.

Suivre les fonctionnalités et API permettant de nouveaux cas d'utilisation est un problème mineur. Les développeurs éprouvent davantage de difficultés avec les fonctionnalités, les API et les modifications apportées à la plate-forme, entraînant un changement des bonnes pratiques.

La plupart des développeurs s'accordent à dire que la compatibilité est l'un des plus grands défis. La situation s'améliore grâce à des efforts comme Compat 2021 et Interop 2022, mais il est clair que les développeurs ne considèrent pas encore qu'il s'agisse d'un problème résolu.

La plupart des développeurs utilisent les polyfills d'une manière ou d'une autre. Toutefois, dans de nombreux cas, l'utilisation est transparente pour les développeurs, car le polyfill peut être ajouté automatiquement par un outil comme Babel ou un framework. Les personnes qui gèrent elles-mêmes leurs polyfills peuvent avoir du mal à déterminer si un polyfill est "bon". Les développeurs ont mentionné l'utilisation du nombre d'installations sur GPR et du créateur du polyfill comme signaux. Quelques développeurs ont mentionné la suppression des polyfills devenus inutiles en raison de l'abandon de la prise en charge d'IE 11.

Les frameworks engendrent des problèmes de fragmentation. Il nous a été signalé que les développeurs étaient "bloqués" dans une ancienne version d'un framework et limités dans les fonctionnalités qu'ils pouvaient utiliser pour cette raison, mais que la migration vers une version plus récente du même framework pouvait s'avérer coûteuse et difficile à justifier.

Conclusion

Le développement Web moderne comporte de nombreux éléments mobiles, tels que des normes, des navigateurs, des bibliothèques, des polyfills, des CMS, des frameworks, des bonnes pratiques et des outils. Cette diversité est l'un des grands avantages du Web, mais à l'heure actuelle, il appartient à chaque développeur individuellement d'interpréter chaque élément et de comprendre comment ils sont compatibles les uns avec les autres.

Je me demande s'il est possible d'apporter aux développeurs plus de clarté sur les liens entre les éléments et un meilleur alignement entre tous les éléments, sans pour autant faire de compromis sur la diversité. C'est un problème vaste et complexe, difficile à faire en une seule fois. Mais par où commencer ?

Si vous avez des points de vue et des opinions que vous souhaitez partager. Moi aussi, j’aimerais beaucoup discuter avec vous. Je vais mettre en place un moyen de réserver directement des conversations. En attendant, je peux vous envoyer des MP sur Twitter. N'hésitez pas à nous contacter pour que nous puissions discuter.