Vor ein paar Tagen schrieb Chris seine Gedanken dazu, wie alert(), confirm() und prompt() von Chrome als veraltet markiert werden und sammelte eine Menge Gedanken von Entwicklern. Wenn bestimmte Funktionen von einem großen Browser im Wesentlichen ausgeschaltet werden können, machten sich viele Leute Sorgen um die Vorhersagbarkeit des Webs.
In diesem Sinne hat mir diese Notiz von Richard Harris sehr gut gefallen
Wir können nicht die Haltung normalisieren, dass Kollateralschäden der Preis des Fortschritts sind, selbst wenn wir die Prämisse akzeptieren – was ich nicht tue –, dass das Entfernen von APIs wie alert Fortschritt darstellt. Trotz all seiner Fehler gilt das Web allgemein als stabile Plattform, auf der heute getätigte Investitionen die Zeit überdauern werden. Eine Welt, in der Websites als inhärent vergängliche Objekte behandelt werden, in der APIs, auf die wir uns heute üblicherweise verlassen, von den Spezifikations- Wranglern von morgen als unerwünschter Ballast beiseitegelegt werden könnten, ist eine Welt, in der das Web bereits verloren hat.
Dieses spezielle Drama interessiert mich, das muss ich zugeben, nicht sonderlich. Aber! Ich denke, es wirft eine super wichtige Unterscheidung zwischen Software und dem Web auf. Hier ist eine Geschichte.
Neulich habe ich mit Astro herumgespielt (was ich sehr mag). Ich habe meine persönliche Website damit neu aufgebaut und mich – in einem Anflug von Punkrock-Geist – entschieden, auf die neueste Version zu aktualisieren. Ich dachte, vielleicht würde das meinen Build-Prozess etwas beschleunigen und mir die Möglichkeit geben, neue Funktionen zu erkunden. Aber ach – alles ging kaputt. APIs wurden als veraltet markiert! Mein Build-Prozess brach zusammen! Alles brach um mich herum zusammen.
Das soll keine Kritik an Astro sein. Ich liebe es immer noch. Aber es ist wichtig, sich daran zu erinnern, dass Astro nicht das Web ist. Genauso wenig wie React oder jedes andere Framework. Diese Teams können gerne Dinge als veraltet markieren, Dinge so verbessern, wie sie wollen. Sie können alles niederbrennen und neu beginnen. Aber Dinge wie alert(), alte CSS-Funktionen und HTML-Elemente gehören nicht in dieselbe Kategorie. Sie können nicht auf dieselbe Weise als veraltet markiert werden, denn, wie Jeremy sagte, muss das Web vorhersehbar sein. Und wir können das Web nicht wie normale Software behandeln, weil kein einzelnes Team oder Individuum diese Funktionen besitzt.
Hier ist der Kern meiner Tirade: alert() und confirm() sind keine Funktionen von Chrome, sondern des Webs. Aber ich befürchte, dass viele Leute sie so betrachten könnten.
Deshalb sind Standards auch so wichtig! Wenn wir über neue Funktionen öffentlich sprechen, können wir alle Fehler beheben und alle Fragen beantworten, bevor eine neue Funktion auf dieser Plattform veröffentlicht wird, von der man sie nicht einfach löschen kann, wenn man merkt, dass man Mist gebaut hat. Ich kritisiere hier auch nicht wirklich Chrome, aber diese Unterscheidung zwischen *Software* und *dem offenen Web* ist wichtig. Oder?
Wow, du hast gerade erst entdeckt, dass das Monopol eines Browsers schlecht ist? Jahrzehnte der IE-Hegemonie haben dich nichts gelehrt?
Deshalb bleibe ich bei Firefox. Zumindest haben wir noch einen großartigen Browser, der NICHT Chrome ist!… vorerst zumindest.
Das einzige Mal, dass ich Chrome benutze, ist, wenn ich Cross-Browser-Tests mache, nur um sicherzustellen, dass es nichts Verrücktes mit meinem perfekt geformten UI gemacht hat! ;)
Also entwickelst du für 10% der Benutzer, während 80% zweitrangig sind. Gute Arbeit, Mann.
@Pajfo u venu
Da Chrome breitere CSS- und JS-Funktionen unterstützt, gilt es seit langem als gute Praxis, unter Firefox zu entwickeln, da die Wahrscheinlichkeit geringer ist, dass etwas bricht, wenn man es umgekehrt macht.
Früher war ich genau dasselbe – ein konsequenter Firefox-Nutzer, der Chrome nur für Cross-Browser-Tests verwendete… bis jetzt.
Firefox wird mit jedem Update immer fehlerhafter, langsamer und sturzanfälliger. Er ist nicht mehr der leichte, zuverlässige Browser, der er einmal war.
Selbst Chrome fühlt sich reaktionsfreudiger an als Firefox und ist bei mir noch nie abgestürzt.
Ich habe Firefox in den letzten Monaten nur noch benutzt, weil es so ziemlich der einzige Nicht-Webkit/Chromium FOSS-Browser ist, der da draußen existiert, aber jetzt wechsle ich wahrscheinlich zu Chrome oder Brave.
Hoffentlich wird es den Weg von Chromes schwachem Versuch, Cookies zu ersetzen, gehen.
Ich verstehe die teilweise Angst vor einem solchen Schritt, denn für uns Entwickler, die diese Funktionen auf nicht-intrusive Weise in unserem Code verwenden, könnte dies viele Refactorings bedeuten, besonders in Legacy-Code. Aber ich verstehe, warum Chrome alert entfernen möchte, wegen der Art und Weise, wie einige Websites deinen Browser einfach im Tab blockieren, besonders auf Mobilgeräten, und diese Funktionen sehr missbräuchlich nutzen. Hier gibt es eine große Diskussion zu führen. Aber ehrlich gesagt denke ich, dass diese missbräuchlichen Verhaltensweisen auf Websites gemeldet werden sollten und man sie einfach nicht mehr in den Ergebnissen, Anzeigen oder irgendetwas anderem anzeigen sollte.