Eine Sammlung von Erkenntnissen zu den größten Problemen von Entwicklern, die in einer Reihe von Einzelgesprächen gewonnen wurden.
Vor einigen Monaten hat Paul Kinlan einen Beitrag über die größten Probleme von Entwicklern im Jahr 2021 veröffentlicht. Daher ist es sinnvoll, diesen Artikel mit einem Update zu den letzten beiden Quartalen zu beginnen. Die Zahlen haben sich etwas verschoben, aber das Ranking hat sich nicht geändert.
| Herausforderung | 1. Quartal 2021 | 2. Quartal 2021 | 3. Quartal 2021 | 4. Quartal 2021 |
|---|---|---|---|---|
| Mit Änderungen an der Webplattform oder den Webstandards Schritt halten. | 27 % | 26 % | 27 % | 22 % |
| Mit einer großen Anzahl neuer und vorhandener Tools oder Frameworks Schritt halten. | 26 % | 26 % | 25 % | 21 % |
| Sorgt dafür, dass ein Design oder eine Oberfläche in allen Browsern gleich funktioniert. | 26 % | 28 % | 24 % | 21 % |
| Browserübergreifende Tests | 23 % | 24 % | 20 % | 20 % |
| Sicherheitsmaßnahmen verstehen und implementieren. | 23 % | 25 % | 20 % | 19 % |
Wie in Pauls Blogpost erwähnt, müssen wir diese Probleme angehen. Im Rahmen einer größeren Initiative haben mein Kollege Kadir Topal und ich mehr als 18 Entwickler interviewt. Unser Ziel ist es, die wichtigsten Pain Points von Entwicklern zu untersuchen und zu beheben.
Entwicklerdiskussionen
Haftungsausschluss: Diese Informationen basieren auf einer kleinen Anzahl von Gesprächen mit Entwicklern. Wenn „alle“ oder „einige“ verwendet wird, bezieht sich das auf die befragten Entwickler, nicht auf die gesamte Community. Es sind weitere Untersuchungen erforderlich, um diese Erkenntnisse allgemeingültig zu machen.
Diese Gespräche haben uns wieder einmal gezeigt, wie großartig und vielfältig die Webentwickler-Community ist. Wir möchten uns bei allen Entwicklern bedanken, die sich mit uns ausgetauscht haben. Einige Entwickler hatten über 25 Jahre Erfahrung, andere haben erst 2020 angefangen. Einige Entwickler haben ihre Karriere mit einem formellen Informatikstudium begonnen, andere haben sich das Wissen selbst angeeignet. Einige Entwickler suchen aktiv nach Neuigkeiten und halten sich durch das Lesen von Browser-Versionshinweisen auf dem Laufenden, während andere über Kollegen und Freunde von neuen Dingen erfahren. Einige sind der Meinung, dass Komplexität zum Job gehört, und mögen Herausforderungen, während andere einfach nur ihre Arbeit erledigen wollen. Wenn wir über die Lösung dieser Probleme nachdenken, ist es wichtig, diese Vielfalt im Hinterkopf zu behalten.
Alle Entwickler verwenden ein CMS oder ein Framework für ihre Arbeit. Wordpress, React, Bootstrap, Angular und Tailwind wurden alle erwähnt, aber keiner der Entwickler verwendete die Vanilla-Webplattform in der Produktion. Die Auswahl eines Frameworks zu Beginn eines Projekts ist eine Herausforderung und Entwickler berücksichtigen häufig nicht technische Anforderungen. Zum Beispiel, ob es einfach ist, einen Entwickler zu finden, der mit diesem Framework arbeiten kann. Wir können die Pain Points von Entwicklern nicht beheben, wenn Frameworks und CMS nicht in die Lösung einbezogen werden.
Apropos Webplattform: Die meisten Entwickler verstehen die Plattform als das, worauf sie entwickeln. Dazu gehören nicht nur die klassische Definition der Webplattform, sondern auch CMS, Frameworks, Tools und Polyfills. In vielen Fällen ist es am schwierigsten, auf dem neuesten Stand zu bleiben. Das hat unsere Interpretation dieser Frage geändert und wir wissen jetzt, dass wir unsere Umfrage aktualisieren müssen, um sie in verschiedene Teile zu unterteilen, die weniger mehrdeutig sind.
Ein weiterer unklarer Bereich ist die Definition von Webstandards. Als wir nach Beispielen für die Einhaltung von Standards fragten, wiesen viele Entwickler stattdessen auf Schwierigkeiten bei der Einhaltung von Best Practices hin. Das ist ein weiterer Bereich, den wir in der Umfrage klären müssen.
Entwickler suchen nach Best Practices für die Implementierung bestimmter Anwendungsfälle und Muster. Blogposts und StackOverflow werden als Quellen für Best Practices genannt, aber Entwickler fragen sich oft, ob die Informationen, die sie lesen, tatsächlich Best Practices sind und ob sie auf dem neuesten Stand der Funktionen und APIs sind. Sie möchten eine offiziellere Quelle, um diese zu lesen.
Mit Funktionen und APIs Schritt zu halten, die neue Anwendungsfälle ermöglichen, ist ein kleineres Problem. Entwickler haben mehr Probleme mit Funktionen, APIs und Änderungen an der Plattform, die zu einer Änderung der Best Practices führen.
Die meisten Entwickler sind sich einig, dass die Kompatibilität eine der größten Herausforderungen ist. Dank Initiativen wie Compat 2021 und Interop 2022 verbessert sich die Situation, aber Entwickler sehen das Problem noch nicht als gelöst an.
Die meisten Entwickler verwenden Polyfills auf die eine oder andere Weise. In vielen Fällen ist die Verwendung für Entwickler jedoch transparent, da das Polyfill automatisch von einem Tool wie Babel oder einem Framework hinzugefügt werden kann. Wenn Sie Ihre Polyfills selbst verwalten, kann es schwierig sein, herauszufinden, ob ein Polyfill „gut“ ist. Entwickler gaben an, die Anzahl der Installationen auf NPM und den Ersteller des Polyfills als Signale zu verwenden. Einige Entwickler erwähnten, dass sie Polyfills entfernt haben, die durch die Einstellung der Unterstützung für IE 11 überflüssig geworden waren.
Frameworks führen zu Fragmentierungsproblemen. Wir haben Berichte erhalten, dass Entwickler bei einer älteren Version eines Frameworks „feststeckten“ und dadurch in den Funktionen, die sie verwenden konnten, eingeschränkt waren. Die Migration zu einer neueren Version desselben Frameworks konnte jedoch kostspielig und schwer zu rechtfertigen sein.
Fazit
Die moderne Webentwicklung umfasst viele bewegliche Teile, darunter Standards, Browser, Bibliotheken, Polyfills, CMS, Frameworks, Best Practices und Tools. Diese Vielfalt ist einer der großen Vorteile des Webs, aber derzeit ist es jedem Entwickler selbst überlassen, die einzelnen Teile zu verstehen und herauszufinden, wie sie miteinander kompatibel sind.
Ich frage mich, ob es eine Möglichkeit gibt, Entwicklern besser zu vermitteln, wie alles zusammenhängt, und die verschiedenen Teile besser aufeinander abzustimmen, ohne die Vielfalt zu beeinträchtigen. Es ist ein großes, komplexes Problem, das sich nur schwer auf einmal lösen lässt. Aber wo fängt man am besten an?
Wenn Sie Ansichten und Meinungen haben, die Sie teilen möchten. Ich würde mich auch gerne mit dir unterhalten. Ich werde eine Möglichkeit einrichten, um direkt Gespräche zu buchen. In der Zwischenzeit können Sie mir auf Twitter eine Direktnachricht senden. Melden Sie sich einfach bei uns, damit wir einen Termin für ein Gespräch vereinbaren können.