Dieser Artikel „Shadow DOM“ von Steven Wittens handelt nur vage vom Shadow DOM. Es geht hauptsächlich darum, wie furchtbar alles ist. HTML ist scheiße, CSS ist scheiße, das DOM ist scheiße, SVG ist scheiße, MathML ist scheiße… Ich will Steven nicht angreifen. Er ist zweifellos viele (viele) Male intelligenter als ich und hat gut formulierte Punkte. Schauen wir uns das breiter an.
Ich sehe das regelmäßig bei Leuten, die schon lange dabei sind und *sehr* klug sind. Sie entwickeln eine Abneigung gegen die Systeme, mit denen wir arbeiten müssen. Sie sehen all die Schönheitsfehler, Fehler und insbesondere das, was sie als tiefe systemische Mängel oder falsche historische Wendungen betrachten. Das alles wird noch schlimmer, während wir uns vorwärts bewegen und auf diesen wahrgenommenen Rissen im Fundament aufbauen.
Sie haben immer sehr gute Punkte. Es ist schwer, nicht zuzustimmen, denn sie haben Recht, das Web macht einige verrückte Dinge und hat uns in vielerlei Hinsicht versagt. Wäre es nicht wunderbar, wenn wir alles wegwerfen und mit einem neuen, perfekt gestalteten System arbeiten könnten, das allen modernen Bedürfnissen gerecht wird. Sicher, natürlich wäre es das. Willst du in deiner Stadt oder in einem utopischen Dorf leben? Ich nehme Utopia.
Obligatorischer Nachsatz: aber Utopia existiert nicht!
Es gibt keine alternative Layout-Sprache für das Web. Es gibt keine alternative Möglichkeit, zugängliche Inhalte bereitzustellen. Es gibt keine besseren Ersatzprodukte, die um die Führung konkurrieren. Das liegt daran, dass das eine monumentale Aufgabe ist. Jeder Anwärter müsste
- Ein neues System für alles entwickeln, das empirisch besser ist.
- Eine Welt von Entwicklern dazu bringen, zuzustimmen, dass dieses neue System besser ist, und es zu fordern.
- Standards-Organisationen (oder etwas Ähnliches) dazu bringen, es zu unterstützen, damit es Aufsicht und eine unabhängige Quelle für Implementierungsinformationen gibt.
- Alle Browser dazu bringen, sich einig zu sein und es perfekt zu implementieren.
lol, klar.
All diese Dinge sind so unüberwindbar schwierig, dass es nicht verwundert, dass sie selten überhaupt versucht werden. Ich würde argumentieren, dass Nr. 1 am schwierigsten ist. Es gibt viele Mängel in unserem aktuellen System, aber stellen Sie sich vor, Sie beginnen von Grund auf mit etwas so Komplexem.
Ich habe das Gefühl, dass die Probleme, mit denen wir uns heute im Web-Tech-Bereich beschäftigen, in kleinerem Maßstab gelöst werden.
Es ist wirklich schade, dass HTML unser Inhalt ist, aber auch für Semantik zuständig, oder? Es wäre schön, alles tun zu können, was wir wollen, und uns keine Sorgen machen zu müssen, ob wir die Semantik beeinträchtigen. Hoffentlich kann Shadow DOM dabei helfen. Vielleicht kann es auch dabei helfen, dass CSS nicht zu übermächtig ist, wenn man es nicht möchte.
Vielleicht können Flexbox, Grid-Layout und Regions das wirklich leistungsstarke und intuitive Layout-System sein, das wir uns schon immer gewünscht haben, ohne die Zugänglichkeits planilha, die Tabellen inhärent sind.
SVG ist nicht perfekt, aber vielleicht ist es immer noch besser als die Verwendung eines Rasterbildformats für ein Vektorgrafik? Vielleicht hat SVG das Potenzial, bei Icons-Systemen auf Websites besser zu helfen? Vielleicht können wir anfangen, ein neues Bildformat zu verwenden, das zunehmend mit modernen Browsern funktioniert.
Können Präprozessoren eine Lösung sein, um die Erstellung dieser komplexen Sprachen zu erleichtern und die Komplexität zu reduzieren?
Vielleicht können wir das Web erweitern, so wie wir es uns vielleicht wünschen, indem wir die vorhandene Technologie nutzen.
Diese Dinge beweisen, dass wir das Web verbessern können. Wir können es langsam tun. Wir können es mit Hilfe von Standards-Organisationen tun. Wir können Entwickler schulen und ihre Denkweise im Laufe der Zeit ändern. Wir können die bereits vorhandenen Browser nutzen, damit wir das Verhalten der Öffentlichkeit nicht bekämpfen müssen.
Ich denke, das klingt gut. Und ich glaube nicht, dass wir viel Wahl haben.
Wenn jemand denkt, er kann es besser, dann hat er keine Ahnung, wie man in der realen Welt arbeitet... Es ist, als ob die Leute jQuery oder ein anderes Framework nicht mögen... ehrlich, wenn du etwas genau für deine eigenen Bedürfnisse willst, dann mach es von Grund auf neu, aber du wirst im selben Mist landen wie andere, weil die gleichen Gründe und die gleiche Logik... Logik ist Logik. Die Welt ist so gut, wie sie sein kann, wenn man die Anzahl der Idioten berücksichtigt, die es gibt. Wir müssen dem Internet danken, dass es existiert.
Ich würde sagen, nur „dumme Arschlöcher“ glauben, dass am Ende alles JS zu jQuery wird. Es würde einen enorm „dummen Arschloch“ erfordern, zu sagen, Wittens habe „keine Ahnung, wie man in der realen Welt arbeitet“, oder dass der Fortschritt in unserer Branche nicht möglich sei, weil *du* glaubst, niemand könne es besser als du.
Nun, wenn es nicht die Mängel der aktuellen Webtechnologien gäbe, wären wir jetzt arbeitslos.
Ich wünschte, ich könnte jeden Tag mit meinem Sofa zur Arbeit fahren und wenn ich von meinem Sofa absteige und in eine Pfütze trete, wäre es Schokoladenmilch. Ich würde zur Arbeit gehen und einen Knopf drücken, mich dann umdrehen und zurück in meine Villa fahren und ein Bad in meinem Pool nehmen, der mit Guinness Draught gefüllt ist. Ja, das Leben ist weit davon entfernt, perfekt zu sein….
Gut gesagt ;)
Ich bin schon lange dabei (ich bin mir beim Teil *sehr klug* nicht sicher).
Für mich wirkte das Web und die Art, wie es implementiert wurde, schon immer sehr kompliziert. Nicht gut, wenn man perfektionistisch ist. Ich muss jedoch zugeben, dass ich mit zunehmendem Alter dazu neige, die Haltung einzunehmen: „Wenn es den Job erledigt und gut aussieht, dann reicht es.“ Das hätte ich vor 12 Jahren nicht getan.
Aber wie Ivan de la Jara oben sagte, man kann das Rad neu erfinden und am Ende immer noch denselben alten Mist bekommen. Manchmal beneide ich meine Kollegen, die in der Programmierung (echte Programmierung, nicht PHP) und im Grafikdesign (Printmedium) arbeiten und eine technisch perfekte Arbeit leisten können, ohne durch tausend und eine Hürde springen und tausend und einen Kompromiss eingehen zu müssen, weil wir Browser X unterstützen müssen oder es keine bessere Alternative zu Framework Y gibt.
Das fasst meine Meinung gut zusammen. Sicher, es ist lohnend, wenn eine Website fertiggestellt ist und man sich gut dabei fühlt, einige Hindernisse überwunden zu haben, obwohl es ein langer Prozess ist und es für andere schwierig ist, die Arbeit zu bemerken, die in die Gestaltung fließt.
Auch ich denke oft darüber nach: „und Grafikdesign (Printmedium), die eine technisch perfekte Arbeit leisten können, ohne durch tausend und eine Hürde springen und tausend und einen Kompromiss eingehen zu müssen“. Es muss schön sein, an einen Punkt zu gelangen, an dem man das Gefühl hat, seine Fähigkeit, in einem bestimmten Handwerk hervorragende Leistungen zu erbringen, perfektioniert zu haben. Ich sage nicht, dass es keine Experten im Bereich Webdesign/Entwicklung gibt, aber das Web umfasst so viele verschiedene Fähigkeiten, dass es selten ist, das Gefühl zu haben, ein Meister in all diesen Bereichen zu sein.
Ich denke, das Ziel oder der Standard, den die meisten Leute anstreben, ist, wie du sagtest: „Wenn es den Job erledigt und gut aussieht, dann reicht es.“ Es ist jedoch schön, sich ein Szenario vorzustellen, in dem unsere Bemühungen darauf konzentriert werden könnten, ansprechend aussehende Websites zu erstellen, und nicht auf den Kampf, Dinge für alle Browser, Geräte, Betriebssysteme und Bildschirmgrößen kompatibel zu machen.
Die Tatsache, dass diese klugen Leute (immer noch) nicht gehört werden (vom W3C, WhatWG usw.), beweist, dass die neuen Standards-Organisationen, die Sie als Hilfe erwähnen (in Ihrer Schlussfolgerung), nicht den Unterschied machen werden, den Sie/die Klugen/wir uns wünschen.
Ich beklage mich fast jeden Arbeitstag über etwas oder das andere bei jeder Technologie, die ich benutze. Manchmal wünsche ich mir sogar meine alte Arbeit als Programmierer (kompilierte Sprachen) zurück. Aber dann mache ich schnell weiter, weil ich es genieße und liebe.
Wir werden immer (interne) Bibliotheken und (interne) Frameworks benötigen, um technische Probleme zu vermeiden und Design und Entwicklung zu beschleunigen.
Mein größter Kritikpunkt ist immer die laaaaaaange Implementierung von Standards durch Browserhersteller. Und letztendlich haben sie ihre eigene Inkarnation eines Standards. (Ihre Nr. 4.)
Selbst wenn wir ein anderes System, neue Standards und neue Standards-Organisationen hätten, müssten wir möglicherweise Jahre auf ihre Realisierung warten (in verschiedenen Inkarnationen; es ist wie Urinmarkierung. Niemand wird die Natur des Biestes ändern.)
Hallo Chris, (bearbeitet für Markup)
Es ist enttäuschend zu sehen, dass diese erlernte Hilflosigkeit anhält. Sie sagen mir, wo wir vor 10 Jahren waren, wo wir jetzt sind und wo wir in weiteren 10 Jahren sein werden.
Browserhersteller verbringen übermäßig viel Zeit damit, nichts zu erledigen, weil die Arbeit keinen Sinn ergibt. Sie implementieren ein Modell, das niemand will, spezifiziert von Leuten, die nicht verstehen, wie es verwendet werden soll. Wenn man zwischen den Zeilen der CSS-Spezifikation liest – die niemand liest – oder sich die Browser-Interna ansieht, dann ist das, wie die Dinge bereits funktionieren. Layout-Modelle, die als Beschränkungen aufgelöst werden und sich zwischen den Stilen verstecken. Ein solches System kann nicht vereinfacht werden, es kann nur noch verwickelter werden. Stattdessen können wir es eingrenzen und etwas Neues darum aufbauen.
Du bist ein kluger Bursche. Schau dir meinen Artikel noch einmal an. Achte darauf, wie er aufgebaut ist: Text und Kästen. Achte auf das äußerst konsistente Grundlinienraster, das sich durch alle Absätze zieht. Schau dir dann den Quellcode an, und was siehst du?
Du siehst 100 % semantischen Inhalt, der in Blöcke unterteilt und in ein völlig unsemantisches Layout-System verpackt ist, das sich als CSS-Klassen ausgibt. Ich schreibe meinen HTML/CSS bereits so. Ich schreibe bereits LaTeX in meinem Quellcode und verwende MathJax, um es in Spans umzuwandeln. Ich binde bereits iframes mit einem völlig benutzerdefinierten SVG-Modell ein. Weder meine Leser noch Google stört es. Ich bin nicht derjenige, der träumt, ich bin derjenige, der versucht, dich aufzuwecken.
Ein Iframe ist bereits genau das, was ich in meinem Artikel beschrieben habe: eine eingebettete Ansicht mit eigenem Controller und isoliertem Baummodell. Der Fehler war nicht, iframes zu erstellen, sondern sie zu zwingen, nur HTML zu enthalten.
Der Shadow DOM kommt nicht nach innen, er kommt nach außen, um das
<body>, das wir verloren haben. Und die Browser implementieren ihn bereits, man muss ihn nur von dem trennen, was Typografen uns über „Design“ erzählt haben.„Das ist der Grund, warum absolute Positionierung ein Performance-Gewinn für mobile Geräte ist: Sie vermeidet die Erstellung unsichtbarer dynamischer Beschränkungen zwischen Dingen, die sich selten ändern.“
Er hat offensichtlich noch nie eine responsive Website erstellt.
Ich stimme Stephen Wittens vollkommen zu. Vielleicht ist es möglich, wenn genug angesehene kluge Leute Kritiken wie die von Stephen schreiben. Ich weiß, die Leute werden stöhnen, wenn ich Microsofts XAML-Stack als eine recht gut gestaltete deklarative Markup-Sprache für Benutzeroberflächen erwähne. Aber sie ist erweiterbar, wird von einem Objektmodell unterstützt und hat Dinge, die dem Shadow DOM ähneln, eingebaut. Visueller Baum vs. Rendering-Baum, Datenbindungs-Vorlagen usw. all diese Elemente bilden ein kohärentes Objektmodell. Woher, denken Sie, kommt CSS Grid? Wenn Sie die Augen schließen, ist es fast identisch mit der neuen CSS-Spezifikation. Das Schöne daran ist, dass es plattformübergreifend konsistent gerendert werden kann. Obwohl es, wie Rob Eisenberg anmerkte, nicht ohne Mängel ist. Es scheint, wir kommen mit dem Web-Stack näher, wobei CSS die größte Plage ist.
Steven sprach über das Facebook React, das ich noch nie benutzt habe, aber von dem, was ich auf ihrer Seite sehe, vielleicht weil es zu spät in der Nacht ist und ich so schläfrig bin, kann ich mir nicht vorstellen, einfache Markup- und CSS-Elemente dafür aufzugeben (weil es kompliziert erscheint). Diese neuen Webtechnologien sind gut, aber sie müssen die bestehenden nicht überschreiben, da sie unser Leben immer noch viel einfacher machen.
Hasser von Hassern sind auch sehr nervig.
Ich denke, Präprozessoren sind hier eine großartige Schnittstelle. Könnte ein Browser entwickelt werden, um Haml oder Sass direkt zu lesen? Dann könnten wir über die Jahre HTML und CSS ausphasen.
Leider bin ich nicht technisch genug, um zu verstehen, ob das eine gute Idee ist oder nicht.
Ich bin sicher, ich werde Wege finden, diese neuen Technologien so zu nutzen, dass sie sich zu eingeschränkt anfühlen.
Nun, die Welt ist kein perfekter Ort. Wo waren wir jetzt?
Meistens haben sogenannte „kluge“ Leute unrealistische Erwartungen und sind nicht glücklich mit dem mittelmäßigen Zustand der Dinge. Ich spreche aus Erfahrung, da ich einen IQ von 145 habe und es nie als großen Vorteil gesehen habe, weil ich die Dinge auch zu sehr verkomplizierte. Lohnt sich nicht.
Und wie die Leute oben erwähnten: Aus der realen Produktion habe ich über die Jahre gelernt, dass man, wenn man etwas benutzt, das den Job erledigt = gut aussieht, okay funktioniert = nicht kaputt geht. Fertig. Weiter. Der nächste Job wartet.
Steven hat einen guten Punkt, ist aber, nun ja, naiv.
Das Web und die Technologie werden nie perfekt sein, und das ist, wie ich es mag. Es ist der Mangel an Unterstützung für die Dinge, die wir zu tun versuchen, oder der UI-Designer, der etwas tut, das außerhalb des Rahmens der Standards liegt, das Kreativität und Innovation antreibt, die Werkzeuge, die wir haben, zu nutzen, um etwas zu schaffen, das die Welt in Erstaunen versetzen wird, und die anderen Entwickler fragen lässt, wie sie das gemacht haben. Wenn die Entwicklungswelt perfekt wäre, wäre das auch wunderbar, aber ich könnte sehen, wie die Dinge stagnieren, langweilig und repetitiv werden.
Toller Artikel, Chris. Diese Art des Denkens scheint unter vielen „klugen Typen“ in der Web-/Softwareentwicklung verbreitet zu sein. Oft läuft es darauf hinaus: „Es ist nicht perfekt, lass es uns zerstören und neu anfangen.“ Meistens ist das nicht der beste Ansatz.
Es geht nicht um „kluge“ Leute und Dinge, die „okay aussehen“. Es geht um einen Programmierer, der sich tief in das DOM vertieft und von einem besseren Ort träumt. Es geht darum, dass Leute den Punkt nicht verstehen und darüber reden, wie sie ihre Arbeit heute machen (wie Stephen). Es geht darum, Leute zu respektieren, die träumen, weil sie das Web voranbringen. Der Rest von uns erledigt einfach nur seine Arbeit.
Ich denke, das ist eine gute Sichtweise auf den Artikel. Ich glaube nicht, dass Stephens Botschaft, die nach einem besseren/semantischeren Weg zur Entwicklung von Websites sucht, das Ergebnis von jemandem ist, der „übermäßig optimistisch“ oder „naiv“ ist. Er zerlegt den aktuellen Zustand des Webs und weist auf Verbesserungsmöglichkeiten hin, während er versucht, die Schwächen in der Art und Weise aufzuzeigen, wie wir heute Design/Entwicklung angehen.
Das Problem ist, dass Leute dies als Schwäche sehen: „Schau dir diesen unzufriedenen Menschen an, der das Web satt hat, reiß dich zusammen und mach weiter, es gibt Lösungen für die genannten Probleme und das Web wächst/verbessert sich. Außerdem wird es nie perfekt sein, also hör auf zu jammern.“
Ich denke, Stephen macht viele gute Punkte (wie andere anerkannt haben) und es ist wichtig, auf die Geschichte von HTML/CSS zurückzublicken und zu erkennen, was der beabsichtigte Zweck dieser Sprachen in Bezug auf ihren heutigen Stand war. Das gilt insbesondere, da sich das Web weiterentwickelt und wir weiterhin neue Entwicklungsmethoden einführen (die Verwendung von Präprozessoren usw.).
Ich stimme Chris' Ansicht hierzu auch zu und respektiere sie. Chris konzentriert sich nicht auf die Mängel des Webs und sucht nach Lösungen, anstatt sich mit dem zu beschäftigen, was sein könnte. Das ist meiner Meinung nach Chris' Spezialgebiet, er passt sich an das Web an und geht weiter und ist dadurch stärker. Das ist eine großartige Einstellung, aber sie macht Stephens Aussagen nicht ungültig, wenn er darauf hinweist, wie bestimmte Sprachen uns „im Stich gelassen“ haben und im Laufe der Zeit konvoluter und komplexer geworden sind, oft unnötigerweise.
Das andere Problem ist, dass Leute Stephens Artikel lesen und sagen: „Okay, was ist dann deine Lösung für diese Probleme?“ Nun, der Artikel weist auf aktuelle Mängel im Web hin, wie er sie sieht, und erwähnt sogar Ansätze, die er bereits verfolgt hat, um einige dieser Hindernisse zu überwinden (z.B. die Verwendung von Angular). Unabhängig davon beschreibt sein Artikel gut den Zustand des Webs heute, und für mich zumindest reicht das aus, um den Wert dessen, was er geschrieben hat, zu erkennen und die von ihm dargelegten Erkenntnisse zu schätzen.
Das Gewicht sollte nicht auf ihm lasten, die Probleme des Webs zu lösen, noch sollte er schuld sein, das Web zu kritisieren, ohne eine sofortige Lösung zu haben. Er eröffnet einen Dialog und hat einige berechtigte Punkte, wir sollten es dabei belassen und nicht unser eigenes Urteil über seine Motivationen für das Schreiben darüber fällen.
Lesen, denken, wiederholen. Tu dein Bestes, um zu ändern, was du könntest. Es geht nicht darum, ob Web-Technologie schlecht/gut ist, sondern darum, was du persönlich dagegen tun könntest. Respekt und Cheers an beide Autoren.
Ich bin ein Designer, kein Programmierer im Entferntesten, aber ich stimme Steven Wittens zu. Es geht nicht einmal darum, klug zu sein, es geht um die Mentalität und darum, eine Vision, Vorstellungskraft zu haben... Nicht zufrieden zu sein... Sonst, wie hätte Einstein die Relativitätstheorie entwickelt? Oder erinnert man sich an Steve Jobs' Reality Distortion Field... Wenn wir mit der gleichen Logik des „Arbeitens in der realen Welt“ vorgehen, hätte Henry Ford ein schnelleres Pferd erfunden!
„Fantasie ist wichtiger als Wissen.“
—Albert Einstein
Steven. Erlernte Hilflosigkeit? Was sagst du also, Chris akzeptiert einfach nur, dass wir nichts gegen die Nachteile der „Werkzeuge“ tun können, die uns zur Verfügung stehen? Dass zu viele von uns einfach den Mist akzeptieren und weitermachen? Nein, da stimme ich überhaupt nicht zu. Ich denke, die meisten Entwickler, insbesondere Chris und die, die Chris und seiner Seite folgen, glauben fest an Kaizen – kontinuierliche Verbesserung. Das ist der einzige Weg, wie wir uns sowohl persönlich als auch beruflich weiterentwickeln können.
Wer das für falsch hält, warum liest er diesen Artikel? Warum ist er auf CSS-tricks.com? Um sich zu verbessern, zu lernen und, wie ich hoffe, sich weiterzuentwickeln. Wenn erlernte Hilflosigkeit wirklich so weit verbreitet wäre, würde niemand Chris' Seite lesen oder Stevens (auch wenn ich das größere Konzept, über das du sprichst, vereinfache).
Wir alle bemühen uns, die beste Website, App oder das beste Produkt zu erstellen, das wir können, und wenn wir einen besseren Weg finden, sei es die Software, die Sprache, was auch immer das Werkzeug ist, wir werden es nutzen und tun.
Aber nicht alle von uns sind fähig, das gesamte System/die Werkzeuge/die Sprache, in der wir arbeiten, neu zu schreiben. Und vielleicht will es auch nicht jeder. Aber das bedeutet nicht, dass sie sich dagegen stellen oder es nicht begrüßen würden.
Für mich geht es darum, zu verstehen und wertzuschätzen, was man hat, was es einem erlaubt zu tun und wie man es am besten nutzt, trotz der Nachteile. Das ist keine erlernte Hilflosigkeit, auch keine glückselige Ignoranz oder jedes andere negative, herablassende Etikett, das du ihm geben möchtest. Ich meine, können wir nicht immer noch unglaubliche Websites bauen, mit dem, was ich als „Polyfills“ und Anpassungen alter Technologie bezeichnen würde? Hast du schon einmal die Dinge gesehen, die Leute auf Codepen machen?
Ich meine, es ist ein riesiges, monumentales Unterfangen, worüber wir sprechen. Und wahrscheinlich würden die meisten Entwickler der Welt zustimmen und sich über einen besseren Weg freuen, Dinge zu tun.
Aber Steven, zu sagen, du versuchst, Chris aufzuwecken, wirkt einfach lächerlich. Ich meine, wovon versuchst du ihn aufzuwecken? Eine falsche Realität, in der HTML Gott ist und das DOM regiert? Mit Chris als Hohepriester? Ich glaube nicht.
Ich meine, in deinem Artikel sprichst du von „das Rad neu erfinden“, mangels einer besseren Beschreibung. Aber es könnte auch so zusammengefasst werden: „Warum das Rad scheiße ist und warum ich es hasse“. Und du machst dich über jemanden lustig, der sagt: „Weißt du was, das Rad funktioniert gerade. Ich bin sicher, es wird sich mit der Zeit verbessern und irgendwann wird es ersetzt werden, aber ich werde mich jetzt nicht darüber beschweren oder so tun, als hätte ich die endgültige Antwort für den Ersatz.“
Du bringst einige sehr berechtigte Punkte über die Mängel und Probleme von HTML, CSS, dem DOM und so weiter. Es wirkt einfach übermäßig negativ und pessimistisch. Und dein Kommentar als Antwort auf Chris' Beitrag wirkt einfach kleinlich.
Am Ende des Tages sind das nur Meinungen. Keine Fakten. Und Chris hat seine gepostet. Es ist anders als deine. Deal damit.
Ich denke, Greg hat in seiner Antwort auch einige gute Punkte gemacht. Aber mir gefällt die Art und Weise, wie Chris diplomatisch eine andere Perspektive aufgezeigt hat.
„Die Art, wie wir das Problem sehen, ist das Problem.“
Ich stimme dir zu, Chris. Ich hätte lieber ein unvollkommenes, aber universell zugängliches System wie das Web als eine perfekte, aber proprietäre Alternative.
Und du hast Recht: Veränderung muss Stück für Stück, Teil für Teil erfolgen, auf dem aufbauen, was davor kam: Evolution, keine Revolution (wie eines der HTML5-Designprinzipien besagt).
Es gibt einen historischen Präzedenzfall für den Versuch, die Tafel rein zu wischen und von vorne anzufangen. Das war XHTML2. Wir wissen alle, wie das ausging.
Das meiste von dem, was ich über den Albtraum der Abwärtskompatibilität zu sagen habe, wurde hier bereits in verschiedenen Formen gesagt, und ich werde es nicht wiederholen. Zwei zusätzliche Gedanken zu neueren Möglichkeiten für echten Fortschritt
1) Ich finde es schmerzlich ironisch, dass Yoav Weiss eine IndieGogo-Spendenaktion durchführen muss, um
<picture>in Blink zu bekommen. Viel Liebe, aber soll das wirklich von meinem Gehalt kommen? Google, ein Unternehmen mit einer Marktkapitalisierung von 400 Milliarden Dollar, kann es sich irgendwie nicht leisten, die Engineering-Kapitalien für die Implementierung einer Funktion bereitzustellen, die das offene Web (seine Finanzierungsquelle über Werbung) voranbringt? Nach zwei Jahren intensiver Diskussion und endlosen Metriken, die die Leistungsprobleme (und die daraus resultierende Nichtnutzung) großer Bilder auf kleinen Geräten zeigen, sollte der Brain Trust, der am meisten davon profitiert, diesen Schritt selbst tun können. Ich kann nur spekulieren, dass etwas irgendwo im Googleplex-Mittleren Management verloren geht, denn die Strategen an der Spitze und die Peon-Entwickler am unteren Ende verstehen beide die Dringlichkeit.2) Bahnbrechende Layout-Systeme wie GSS erzeugen oft nicht viel sofortiges Interesse, weil sie a) nicht sofort nutzbar sind und b) anfänglich schwerer zu verstehen sind. Die Ideen und Algorithmen von GSS sind jetzt 15 Jahre alt. Der prollyfill läuft. Was wird das W3C davon überzeugen, CSS über die Grenzen der idiotisch begrenzten Eltern-Kind-Beziehung hinauszubringen? Brauchen wir einen weiteren IndieGogo-Superhelden, um GSS in Blink implementieren zu lassen?
Im Allgemeinen bin ich der Hype um ES7-Features, die ich vielleicht nie nutzen werde, ziemlich leid. Ich muss kein Quake im Browser spielen. Ich möchte, dass mehr Aufmerksamkeit auf die wirklich rückständigen, schwerer zu behebenden Aspekte von CSS und DOM gelegt wird. Die beiden oben genannten Funktionen wären ein guter Anfang.
Entferne einfach IE oder boykottiere es zur Unterwerfung… diese eine Lösung würde die Dinge voranbringen, da IE auf Microsoft basiert und alles von Microsoft einfach scheiße ist.
Eigentlich hat Microsoft einen weiten Weg zurückgelegt. Vor ein paar Jahren hätte ich nach den Veröffentlichungen von IE9, IE10 und IE11 sowie der großartigen Benutzeroberfläche in Visual Studio 2013 voll und ganz zugestimmt, ich denke, Microsoft steigert sein Spiel wirklich. Ich benutze Apple Mavericks und Windows 7. Beide haben ihre Eigenheiten.
Ich wäre lieber praktisch als so schlau, dass ich nur Fehler in Dingen wie HTML, CSS und DOM sehe. Diese Dinge sind nicht einfach zu ändern. Akzeptiere sie. Und wenn dir etwas wie das DOM nicht gefällt, sei wie John Resig.
Okay, vergessen wir für einen Moment den Artikel. Habt ihr euch mit Steve Wittens Website beschäftigt? Insbesondere mit diesem verrückten Header. Man muss ihn ein bisschen wischen und ziehen. Schaut zu, wie sich die Vorder- und Hintergrundelemente mit rasender Geschwindigkeit umeinander drehen. Drückt auf Play und startet die musikalische Achterbahnfahrt.
Öffnet dann eure Entwicklertools und beobachtet den Code, während ihr durch den Hauptbereich scrollt. So cool.
Seine gesamte Website ist voller toller Design-Details. Selbst die Parallax-Hintergrundelemente, wenn man den Hauptartikel scrollt, sind erstaunlich. Und das Layout und die Kunstrichtung des Artikels dienten dem Inhalt so gut.
In der Zwischenzeit habe ich einen halben Tag damit verbracht, SVG-Sprites für einen weiteren Satz Social-Media-Icons zu schnitzen, die ich wahrscheinlich nicht wiederverwenden kann. Zumindest muss ich keine benutzerdefinierte Webfont mehr verwenden.
Ernsthaft, ich mache das seit 14 Jahren und es erstaunt mich, wie viel Zeit und Mühe es kostet, nur ein paar verdammte Social-Media-Icons zum Laufen zu bringen.
„Ernsthaft, ich mache das seit 14 Jahren und es erstaunt mich, wie viel Zeit und Mühe es kostet, nur ein paar verdammte Social-Media-Icons zum Laufen zu bringen.“
Das ist im Grunde das, was ich oben gesagt habe. Während ich sicher bin, dass Leute, die in der traditionellen Programmierung oder im Design für Printmedien arbeiten, viele Stunden spät in der Nacht damit verbracht haben, Probleme zu lösen, wette ich, dass diese nicht mit trivialen Dingen wie dem vertikalen Ausrichten zweier nebeneinander liegender Kästen oder dem Verbessern der Unterstreichung von Text zu tun haben. Während diese Dinge Spaß machen, sind sie aus kommerzieller Sicht ein Albtraum.
Es ist aber überflüssig. Während ich zustimme, dass Webstandards in Spezifikation und Implementierung schlecht sind (der Kern von Wittens Rant), bricht er mit dieser Meinung nicht gerade neues Terrain.
Es ist einschüchternd, wenn „kluge Leute“ Physiker auf ihrer Vanity-Website zitieren, aber schau dir seinen Twitter-Account an – du willst Leute wie ihn *nicht* an der Spitze der Webstandards haben :-)
Die Menge an Negativität, die Steven in diesem Kommentar-Thread entgegengebracht wird, beschämt mich. Ich schäme mich, Teil dieser „Community“ zu sein.
Welche Negativität?
Die Hälfte der Beiträge scheint ihm zuzustimmen, die andere Hälfte (wie ich) weist darauf hin, dass er nichts Neues sagt und sein eigener Rant nicht unbedingt einen klaren Weg nach vorne bietet. Seine eigene Vanity-Website und sein Beitrag sind Beweis für andere Probleme im Produkt-/Webdesign (Überkonstruktion, Architektur-Astronautik usw.).
Er hat angefangen! Sei kein so zartes Blümchen :-)
Jezen Thomas
Stevens eigener Artikel basiert auf Negativität gegenüber dem Zustand der aktuellen Webtechnologie. Dagegen ist nichts einzuwenden. Er hat in vielen Dingen recht.
Wie ich bereits früher kommentierte, beklage ich mich fast jeden Arbeitstag über irgendeine Webtechnologie, die ich benutzen muss. (Wenn es sich um ein neues, ungelöstes Problem handelt.)
Aber ich bin auch realistisch und erkenne, dass ich überhaupt keinen Einfluss darauf habe, etwas zu ändern.
Und ich werde Ihnen ein öffentliches Geheimnis verraten. Das hat Steven Wittens auch nicht.
Steven nennt es "erlernte Hilflosigkeit", siehe seinen Kommentar oben.
Ich nenne es, mich mit dem zu arrangieren, was mir gegeben wurde, und das Beste daraus zu machen, bevor die vereinbarte Projektfrist abläuft.
Ich und besonders meine Kunden kümmern sich nicht darum, wie ich dorthin gelangt bin.
Außerdem, wenn Sie ein Problem mit einem Workaround gelöst haben, werden Sie dasselbe Problem im nächsten Projekt sicher nicht von Grund auf neu lösen. ;)
Sie werden den Workaround vielleicht sogar aus Framework X ausreißen und volle Anerkennung zollen, weil er Ihnen von ein paar Stunden bis zu ein paar Tagen Arbeit spart.
Das Problem ist also negiert/entkräftet/besiegt/erledigt. Es ist zu einem Nicht-Thema geworden. Warum also weiter darüber reden?
Zufriedene Kunden sorgen dafür, dass ich meine Unternehmens- und persönlichen Rechnungen mit viel Geld übrig bezahlen kann. Das ist mir wichtiger.
Die Zeit vergeht, und ich werde nicht immer da sein.
standard-div
In den 60ern/70ern bedeuteten viele zarte Blumen Flower Power. :)
Robert, Sie nennen es "realistisch", ich nenne es "naiv".
Jezen, realistisch zu sein und keine Illusionen über strukturelle Änderungen zu haben, wäre eine bessere Beschreibung.
Naiv würde ich es nennen, diese Illusionen zu haben, strukturelle Änderungen an problematischer Webtechnologie über das W3C, WhatWG oder Browserhersteller einzeln vorzunehmen.
Steven erwähnte den Vergleich des Zustands der Webtechnologie vor 10 Jahren mit dem aktuellen Zustand. Tatsächlich nichts Erschütterndes. Aber wie viele Steven Wittens gab es in diesen 10 Jahren? Ich weiß es nicht, aber es müssen viele sein. (Und es werden immer noch mehr kommen.)
Was haben sie erreicht? Nichts.
Haben Sie wirklich Illusionen, dass Sie oder irgendjemand strukturelle Änderungen an dieser Situation vornehmen werden?
Es gibt natürlich immer eine winzige Chance, dass die Welt von Ihnen, Steve und/oder anderen Klugscheißern erfährt, die diese strukturellen Änderungen vorgenommen haben.
Aber während Sie dabei sind, ist es immer noch eine Illusion. Eine himmlische Verschwendung von Bandbreite.
Und erwarten Sie nicht viel Kooperation von Unternehmen/Einzelpersonen, nachdem Sie ihnen öffentlich schreibend gesagt haben, was sie falsch machen.
Es ist, als würde man einen offenen Brief schreiben und ihn veröffentlichen lassen. Manche werden zustimmen. Manche werden widersprechen. Manche werden unparteiisch sein. Aber **alle** werden schnell vergessen.
Vielleicht, weil immer neue Projekte am Horizont sind.
Ich denke, dass **dies** der Weg ist, wie wir uns selbst (und das Web) voranbringen. Probleme diskutieren und analysieren und nach neuen Lösungen suchen.
Wir haben Mängel zu bewältigen, aber ich bin erstaunt, wenn ich sehe, was Menschen bauen können.
Einschränkungen sind oft eine Quelle der Inspiration, aber das bedeutet nicht, dass wir alles so hinnehmen können, wie es ist!
Ich verstehe wirklich nicht, wie man eine bestimmte Sprache "hassen" oder "stark ablehnen" kann. HTML, CSS und Browser werden meiner Meinung nach nur besser. Ich liebe es zu erschaffen, und HTML, CSS, JavaScript usw. ermöglichen mir das. Sicher, jede Sprache hat ihre Einschränkungen und Eigenheiten, aber das sind nicht unbedingt Grenzen. Ein guter Maler wird nicht verärgert oder beschwert sich, wenn er nur eine 8x10-Leinwand und einen Pinsel mit fehlenden Borsten hat; er nimmt die Werkzeuge, die er hat, und macht etwas Schönes daraus.