Eine Sammlung von Erkenntnissen zu den größten Herausforderungen von Entwicklern, die aus einer Reihe von persönlichen Gesprächen gesammelt wurden.
Vor einigen Monaten hat Paul Kinlan einen Beitrag zu den wichtigsten Herausforderungen für Entwickler im Jahr 2021 veröffentlicht. Daher möchten wir diesen Artikel mit einem Update zu den letzten beiden Quartalen 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 |
---|---|---|---|---|
Änderungen an der Webplattform oder den Webstandards im Blick behalten | 27 % | 26 % | 27 % | 22 % |
Mit einer großen Anzahl neuer und bestehender Tools oder Frameworks Schritt zu halten. | 26 % | 26 % | 25 % | 21 % |
Ein Design oder eine User Experience so gestalten, dass es bzw. sie 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 eines größeren Projekts haben mein Kollege Kadir Topal und ich über 18 Entwickler interviewt. Unser Ziel ist es, die größten Herausforderungen von Entwicklern zu untersuchen und zu verstehen, wie sie behoben werden können.
Entwicklerdiskussionen
Haftungsausschluss: Diese Erkenntnisse basieren auf wenigen Gesprächen mit Entwicklern. Wenn „alle“ oder „einige“ verwendet wird, bezieht sich dies auf die befragten Entwickler, nicht auf die gesamte Community. Weitere Studien sind erforderlich, um diese Erkenntnisse allgemeingültig zu machen.
Diese Gespräche haben mir wieder einmal vor Augen geführt, wie großartig und vielfältig die Webentwicklungs-Community ist. Ich möchte mich bei allen Entwicklern bedanken, die mit uns gesprochen haben. Einige Entwickler hatten über 25 Jahre Erfahrung, andere haben erst 2020 angefangen. Einige Entwickler haben ihre Karriere mit einem Informatikstudium begonnen, andere haben sich selbständig gemacht. Einige Entwickler suchen aktiv nach Neuigkeiten und lesen sich die Release-Notes der Browser durch, während andere über Kollegen und Freunde auf dem Laufenden bleiben. Einige sehen Komplexität als Teil des Jobs und genießen es, herausgefordert zu werden, während andere einfach nur ihre Arbeit erledigen möchten. Wenn wir uns überlegen, wie wir diese Probleme lösen können, ist es wichtig, diese Vielfalt im Hinterkopf zu behalten.
Eine Gemeinsamkeit aller Entwickler ist, dass sie alle ein CMS oder ein Framework für ihre Arbeit verwenden. WordPress, React, Bootstrap, Angular und Tailwind wurden alle erwähnt. Keiner der Entwickler nutzte die Standard-Webplattform in der Produktion. Die Auswahl eines Frameworks zu Beginn eines Projekts ist eine Herausforderung. Entwickler berücksichtigen dabei häufig nicht nur technische Anforderungen. Beispielsweise, ob es einfach ist, einen Entwickler zu finden, der mit diesem Framework arbeitet. Wir können die Probleme von Entwicklern nicht beheben, wenn Frameworks und CMS nicht in der Lösung enthalten sind.
Die meisten Entwickler verstehen die Webplattform als die Grundlage, auf der sie entwickeln. Dazu gehören nicht nur die klassische Definition der Webplattform, sondern auch die CMS, Frameworks, Tools und Polyfills. In vielen Fällen liegt die größte Herausforderung darin, auf dem Laufenden zu bleiben. Das hat unsere Interpretation dieser Frage verä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 Bereich mit Unklarheiten ist die Definition von Webstandards. Auf die Frage nach Beispielen für die Einhaltung von Standards wiesen viele Entwickler stattdessen auf Schwierigkeiten hin, Best Practices einzuhalten. Dies ist ein weiterer Bereich, den wir in der Umfrage klären müssen.
Entwickler suchen nach Best Practices, wenn sie bestimmte Anwendungsfälle und Muster implementieren. Blogbeiträge 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 den neuesten Funktionen und APIs basieren. Er möchte sie in einer offiziellen Quelle lesen.
Es ist weniger schwierig, mit Funktionen und APIs Schritt zu halten, die neue Anwendungsfälle ermöglichen. 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. Durch Initiativen wie Compat 2021 und Interop 2022 wird es zwar besser, aber es ist klar, dass Entwickler das Problem noch nicht als gelöst betrachten.
Die meisten Entwickler verwenden polyfills in irgendeiner Form. In vielen Fällen ist die Verwendung für Entwickler jedoch transparent, da die polyfill automatisch von einem Tool wie Babel oder einem Framework hinzugefügt werden kann. Für diejenigen, die ihre Polyfills selbst verwalten, kann es schwierig sein, herauszufinden, ob eine Polyfill „gut“ ist. Entwickler gaben an, die Anzahl der Installationen auf NPM und den Ersteller der polyfill als Signale zu verwenden. Einige Entwickler haben erwähnt, dass sie daran arbeiten, polyfills zu entfernen, die aufgrund der Einstellung der Unterstützung für IE 11 nicht mehr erforderlich sind.
Frameworks führen zu Fragmentierungsproblemen. Wir haben Berichte erhalten, in denen Entwickler berichtet haben, dass sie an einer älteren Version eines Frameworks „festhängen“ und daher nur eingeschränkte Funktionen nutzen können. Die Migration zu einer neueren Version desselben Frameworks kann 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 eine der großen Stärken des Webs. Derzeit liegt es jedoch in der Verantwortung jedes einzelnen Entwicklers, die einzelnen Teile zu verstehen und herauszufinden, wie sie miteinander kompatibel sind.
Ich frage mich, ob es eine Möglichkeit gibt, Entwicklern mehr Klarheit darüber zu verschaffen, wie alles zusammenhängt, und mehr Übereinstimmung zwischen allen Teilen zu schaffen, ohne die Vielfalt zu beeinträchtigen. Es ist ein großes, komplexes Problem und es ist schwierig, alles auf einmal zu tun. Aber wo fangen Sie am besten an?
Wenn du deine Ansichten und Meinungen mit uns teilen möchtest. Ich würde auch gern mit Ihnen sprechen. Ich werde eine Möglichkeit einrichten, um Unterhaltungen direkt zu buchen. In der Zwischenzeit kannst du mir auf Twitter eine Direktnachricht senden. Kontaktieren Sie uns, damit wir uns in Ruhe unterhalten können.