Tom Warrens Artikel „Chrome entwickelt sich zum neuen Internet Explorer 6“ auf The Verge hat einen Titel, der uns Entwicklern von Front-End-Websites suggeriert, dass Chrome zu einem technologisch rückständigen Browser mit vielen kniffligen Fehlern wird. Abgesehen von gelegentlichen, allgemein gehaltenen Kommentaren wie „Chrome wird in letzter Zeit so schlecht“, wissen wir, dass das nicht stimmt. Chrome ist oft führend bei guten Webtechnologien.
Stattdessen geht es um eine andere, ebenso besorgniserregende Gefahr: Entwickler, die Websites speziell für Chrome erstellen. Theoretisch ist das nicht wirklich etwas, denn wenn man eine Website mit Webstandards baut (wofür es keine wirkliche Alternative gibt), funktioniert sie in Chrome wie in jedem anderen modernen Webbrowser. Aber es ist etwas, wenn man die Website so baut, dass sie andere Browser blockiert und nur Chrome zulässt. Warren
Google stand im Zentrum vieler „funktioniert am besten mit Chrome“-Nachrichten, die wir im Web sehen. Google Meet, Allo, YouTube TV, Google Earth und YouTube Studio Beta blockieren alle den Standardbrowser von Windows 10, Microsoft Edge, und leiten die Nutzer stattdessen auf den Download von Chrome um. Google Meet, Google Earth und YouTube TV werden auch auf Firefox nicht unterstützt und zeigen Nachrichten an, die zum Download von Chrome auffordern.
Ich würde es nicht als Epidemie bezeichnen, aber es ist kein guter Trend. Soweit ich das beurteilen kann, ist es serverseitiges UA-Sniffing, das die Seiten komplett blockiert.

Wenn überhaupt, würde ich denken, man lässt die Leute die Seite einfach benutzen und zeigt eine Warnung an, wenn man wirklich befürchtet, dass ein bestimmtes Feature nicht funktioniert. Oder noch besser, man behebt es. Ich habe keine Einblicke hinter die Kulissen, warum sie sich entschieden haben, bestimmte Browser zu blockieren, aber es ist schwer, sich eine technische Einschränkung vorzustellen, die dazu zwingt. Und wenn es doch so ist, würde ich vorschlagen, dies sehr öffentlich bekannt zu machen, um die anderen Browser zu motivieren, das Benötigte zu unterstützen, vorausgesetzt, es handelt sich um einen etablierten Standard.
Noch besorgniserregender als browserabhängige Websites ist, dass Browser nicht standardisierte Funktionen versenden, nur weil sie sie wollen, und das ohne Vendor-Präfix oder Flag. Es gab eine Zeit, in der Webentwickler mit Fackeln und Mistgabeln ausgerückt wären, wenn ein Browser das getan hätte, aber ich spüre eine gewisse Selbstgefälligkeit, die sich einschleicht.
Heutzutage dreht sich die Stimmung mehr darum, sich über die mangelnde Unterstützung anderer Browser für Dinge zu beschweren. Zum Beispiel liefert ein Browser etwas aus, wir sehen einen grünen Punkt in caniuse, und wir schimpfen auf die anderen Browser, sie sollen aufholen. Stattdessen könnten wir uns fragen: War es eine gute Idee, dieses Feature schon auszuliefern?
Kein moderner Browser verwendet mehr Vendor-Präfixe, da wir uns alle letztendlich darauf geeinigt haben, dass das eine schlechte Idee war. Eine Nebenwirkung davon ist, dass das Ausliefern eines neuen Features in CSS oder JavaScript umso riskanter ist. Ich würde denken, dass das Ausliefern eines Features ohne Präfix in einer stabilen Version des Browsers bedeutet, dass das Feature standardisiert ist und sich nicht wesentlich ändern wird. Dennoch ist es passiert.
In CSS hat Chrome motion-* Eigenschaften ausgeliefert, aber das wurde dann zu offset-* geändert, und die alten motion-* Eigenschaften funktionierten einfach nicht mehr. Das ist mehr als nur ärgerlich; diese Art von Dingen hilft Entwicklern zu rechtfertigen, dass sie sagen: „Ich baue diese Website nur für Chrome, wenn du sie nutzen willst, benutze Chrome.“ Gut für eine Demo vielleicht, aber schlecht für die Webindustrie als Ganzes. Auch hier habe ich keine besonderen Einblicke, warum das passiert, ich bin nur ein Entwickler, der von außen zusieht.
Hier ist ein weiteres CSS-Beispiel, das ich kürzlich gesehen habe. Die Leute sind begeistert von text-decoration-skip: ink;, weil es gut aussieht und den Leuten hilft. Sie verwenden es viel. Aber anscheinend ist das nicht der richtige Name dafür? Es wurde zu text-decoration-skip-ink: auto; geändert und so stellt Chrome 64 text-decoration-skip: ink; ein. Diese Dinge sind schwer auf dem Laufenden zu halten, selbst wenn man es aktiv versucht.
Chris Krycho hatte kürzlich auch eine Meinung dazu.
In den letzten Jahren habe ich immer häufiger Artikel mit Schlagzeilen wie „Neues Feature kommt ins Web“ gesehen – gefolgt von Inhalten, die beschrieben, wie Chrome ein experimentelles neues Feature implementiert hat. „Du wirst das bald nutzen können!“ war die Zusage.
Die Realität ist etwas komplizierter. Manchmal finden Ideen, die das Chrome-Team pioneered, ihren Weg zu den anderen Browsern und werden zu Werkzeugen, die wir alle nutzen können. Manchmal… werden sie auf Eis gelegt, weil keiner der anderen Browser sie implementieren will.
Oftmals, wenn letzteres passiert, beschweren sich Entwickler über die anderen Browserhersteller, die „das Web zurückhalten“. Aber es gibt ein grundlegendes Problem bei dieser Betrachtungsweise: Chrome ist nicht der Standard. Die Tatsache, dass Chrome etwas vorschlägt, und selbst die Tatsache, dass viele Entwickler es mögen, macht es noch keinen Standard. Noch zwingt es andere Browser, dem Priorität einzuräumen oder es überhaupt auszuliefern.
Dies soll Chrome nicht schlecht machen. Ich bin ein Chrome-Fan. Ich bin sicher, es gibt Beispiele von allen großen Anbietern in derselben Art. Ich möchte nur meinen Senf dazu geben: Vorsicht jetzt. Das Web ist die beste Plattform zum Erstellen und geht generell in eine Richtung, die das noch wahrer macht. Der einfachste Weg, das zu vermasseln, ist, nicht sorgfältig mit Standards umzugehen.
Ich denke nur laut nach, aber ich frage mich, ob einige der genannten Probleme durch Warnungen vor experimentellen Features in der Browserkonsole gelöst werden könnten.
Auf diese Weise würden wir, wann immer Entwickler eine experimentelle Funktion nutzen, eine Vorabinformation erhalten, vorsichtig zu sein und vielleicht einen Link zu chromestatus/ mdn/ caniuse Dokumentation.
(Dies wäre ziemlich das Gegenteil der Deprecations-Warnungen, die Browser bereits in die Konsole protokollieren)
Das fühlt sich ähnlich an, wie Apple nur Safari für Live-Streams ihrer Events unterstützt. Oder wie das Windows-Betriebssystem Sie jedes Mal, wenn Sie einen Drittanbieter-Browser starten, mit einem Popup anspringt und sagt: „Hey! Haben Sie schon Edge probiert?“ Es ist eine Marke, die versucht, das allgemeine Publikum des Webs aus Unannehmlichkeiten auf ihren spezifischen dedizierten Browser zu drängen. Es scheint rein von Gier motiviert zu sein, mehr als von einer bestimmten technischen Spezifikation der angepriesenen spezifischen Browser.
Apple-Live-Streams funktionieren auch auf Microsoft Edge.
Ich könnte falsch liegen, aber ich denke, sie tun das, um Googles gleiche Politik auf all ihren Websites entgegenzuwirken.
Es ging nie darum, dass Apple andere Browser blockiert. Jeder Browser, der HTTP Live Streaming unterstützt, würde funktionieren. Es ist einfach so, dass Safari jahrelang der einzige Browser war, der HTTP Live Streaming implementiert hat. Andere Browser verließen sich – jahrelang – auf Flash, um Live-gestreamtes Video oder jedes Video, das seine Bitrate automatisch anpasste, abzuspielen.
Ihre Nachricht ist einfach so formuliert, dass der durchschnittliche Zuschauer sie verstehen kann. Wenn die Nachricht gelautet hätte „Ihr Browser unterstützt kein HTTP Live Streaming“, wäre sie für 90 % der Zuschauer nutzlos gewesen. „Schauen Sie stattdessen auf Safari“ ist für sie handlungsorientiert.
Warum riecht das nach dem Beginn der Browserkriege in den späten 90ern. Internet Explorer 4 gegen Netscape 4. Das ist einer der Eckpfeiler, warum ich selbst keine Front-End-Arbeit mag: das gleiche Ding dreimal anders zu schreiben, um sechs verschiedene Leute auf neun verschiedene Arten zu besänftigen.
Gut geschrieben, mit einigen guten Punkten. Ich bin inzwischen ziemlich in Google-Dienste investiert, also ist es Chrome durch und durch, aber ich würde es hassen, wenn es soweit käme, dass ich Firefox nicht mehr vernünftig für die gleichen Dinge nutzen könnte.
Ja, ich denke, das fasst es für mich auch gut zusammen.
Ich würde sagen, dass Safari sich die Schande teilen muss, mehr wie IE6 zu sein als Chrome. Er hinkt bei Webstandards hinterher wie kein anderer Browser und ist so tief direkt in das Betriebssystem (iOS) integriert, dass andere Browser auf diesem Betriebssystem nicht ausgeführt werden dürfen und er nur dann Updates erhält, wenn das gesamte Betriebssystem ein Update erhält.
Das Problem mit Chrome ist nicht Chrome selbst, es sind faule Entwickler, die entweder faul oder vielleicht sogar boshaft gegenüber offenen Standards sind.
+1 von mir.
Etwas anderes, woran man sich erinnern sollte, es sei denn, man hat mich angelogen, ist, dass Chrome beim Besuch von Google-Webseiten das eigene HTTP-Protokoll von Google verwendet. Wer weiß, welche Art von Dingen sie im Hintergrund optimieren könnten. Ich sage nicht, dass es richtig ist, aber es ist definitiv eine Überlegung und Forschung wert :)
Sie haben eine Weile ihr eigenes experimentelles Protokoll namens SPDY verwendet, aber das wurde in den HTTP/2-Standard integriert.
Das Protokoll, das Sie wahrscheinlich meinten, heißt QUIC. Wenn es noch in Gebrauch ist, sollten Sie es in chrome://net-internals finden (soweit ich weiß).
Parettos Gesetz. Wenn die Dinge immer in einem Browser zu funktionieren scheinen und die meisten Leute ihn benutzen, warum sollte man sich um etwas anderes kümmern? Oder es überhaupt diskutieren?
Nun, es ist ja nicht so, dass man erwarten sollte, sich um sehr obskure Browser wie Brave oder so kümmern zu müssen. Aber die Diskussion über die Unterstützung von modernem IE, Chrome, Firefox und wahrscheinlich auch Opera sollte immer auf der Tagesordnung stehen. Warum sie nicht unterstützen? Wenn es eine Funktion gibt, die nicht unterstützt wird, gibt es wahrscheinlich eine Umgehungsmöglichkeit, damit Sie browserübergreifend arbeiten und Ihr Publikum vergrößern können.
Ich bin ein bisschen schuldig, solche Nachrichten zu verbreiten. Es war hauptsächlich für input type date und andere Dinge wie diese, für die ich mich nicht um Browser kümmern wollte, wie Firefox, die es nicht unterstützten (Firefox hat 5 Jahre später endlich aufgeholt).
Anstatt also meine Zeit mit diesen abnehmenden Browsern zu verschwenden, entschied ich mich, sie zu blockieren, wenn sie einen bestimmten Satz von Funktionen nicht unterstützten.
Das Problem ist, dass FF-Fans denken, FF gehöre zu den führenden Browsern, was weit von der Realität entfernt ist, da sie hinter Edge liegen!
Wie kommst du darauf, dass Fx hinter Edge liegt? Fx war im Allgemeinen allen anderen Browsern (außer Opera) in Bezug auf die Standardunterstützung voraus. Und selbst jetzt ist Fx mit Dingen wie Web Assembly weit voraus.
Ich erinnere mich an das Chaos, als ich versuchte, für mehrere Browser zu entwickeln. Wenn jemand kein Problem damit sieht, dann liegt es daran, dass er ein neuer Entwickler ist und nicht dabei war. Viel Spaß beim Umschreiben Ihres CSS in Zukunft.
Ich entwickle seit Jahren und sehe kein Problem damit. Aber ich sehe ein Problem damit, sich nicht die Mühe zu machen, Dinge browserübergreifend kompatibel zu machen. Das zeigt, dass es Ihnen entweder egal ist, Sie faul sind oder es nicht wissen. Nur die letzte dieser drei ist entschuldbar.
Sobald die anderen Browser auf dem gleichen Stand wie die Chrome-Unterstützung für die neuesten EcmaScript-Funktionen sind, werde ich vielleicht in Erwägung ziehen, die Browserunterstützung nicht einzuschränken. Andernfalls, tut mir leid. IE ist kein Browser. Beheben Sie das.
Ich habe es vielleicht in den Artikeln von Chris und Tom verpasst, aber warum hat Google das Gefühl, dass einige ihrer Produkte auf anderen Browsern nicht richtig funktionieren? Liegt es daran, dass sie Webstandards ignoriert haben, oder liegt es daran, dass sie sie bis ins letzte Detail befolgt und die Grenzen verschoben haben, wo andere Browser es nicht getan haben? (Das ist eine echte Frage, keine voreilige Schlussfolgerung)
Ich bin der Meinung, man sollte Websites so bauen, dass sie für alle funktionieren, aber wenn man die technischen Grenzen verschiebt und die neuesten Spitzenfunktionen ausliefert, dann kann man doch nur erwarten, dass man Webstandards befolgt. Wenn Ihre Konkurrenten das nicht tun, sollte das ein Grund für ihre Kunden sein, sich von ihnen abzuwenden?
Macht schafft Macht. Google ist so groß, dass sie sich über die HTML-Standards-Weltanschauung hinwegsetzen und versuchen, Elemente einzuführen, die nicht ohne vollständige Compliance-Erwägungen hinzugefügt werden sollten; nur weil sie es können. Glauben Sie, dass Walmart oder Amazon die Welt des Einkaufens überfallen würden, indem sie Komponenten herstellen, die nur in bestimmten Browsern funktionieren? Die Entwickler, die „Tools“ nur für Chrome verwenden, nutzen diese Ressourcen, weil sie glauben, dass sie gute Ethik fördern, indem sie Googles Ideen (meiner Meinung nach) unterstützen.
Genau wie Walmart ist Google sehr ungestüm, indem es Elemente in seiner „Gesellschaft“ (Unternehmensentscheidungen… was kommt als nächstes, keine Versicherung für G-Mitarbeiter?) anbietet, die nicht vollständig innerhalb der Branchenstandards geprüft wurden.
Klar, experimentieren Sie ruhig; aber veröffentlichen Sie keinen Teil des Kuchens, der ein DOM zusammenhält, ohne vollständige browserübergreifende Unterstützung. Wenn Sie einen „Spezialbrowser“ wie One-off wollen, dann soll es so sein. Aber Chrome ist nicht speziell. Würden Sie die Raumstation mit Schrauben bauen, die nicht getestet wurden? Persönlich – meiner Meinung nach – hat mich Quantum gerade auf den Firefox-Zug gebracht, und ich benutze Chrome nur, wenn ich dazu gezwungen werde.
Das Problem ist also, dass sich Chrome weiterentwickelt und neue Dinge implementiert, während andere das nicht tun, sodass Sie immer auf Drittanbieter zurückgreifen müssen, was Ihre App schwerfälliger macht.
Chrome ist nicht das Problem, die anderen Browser sind das Problem, und wenn wir diese neuen Features nicht nutzen, werden sie sie nie implementieren..
Gott sei Dank hat Google die langsamen und alten Webstandards, die sich einfach nicht genug weiterentwickelt haben, nicht befolgt.
Als Entwickler sollte man für Benutzer coden, nicht für Browser :-)
Sie sagen also, Apple sollte all seine geschlossenen Apps für Android, Windows und andere öffnen, nur weil nicht alle Benutzer ihre Produkte verwenden?
Sollen wir also neue Technologien wegen der Benutzer nicht nutzen? Schöne Degradation gibt es aus diesem Grund, die Entwicklung einer App, die unter IE9 funktioniert, macht die App für den Kunden mindestens 30% teurer, hier in Brasilien haben wir einfach nicht genug Zeit, um über alte Browser nachzudenken, der Kunde möchte manchmal, dass die Anwendung in 2 Wochen live geht, von Grund auf, und ja, Chrome ist das beste Werkzeug dafür.
Als Entwickler sollte man liefern, was der Kunde will, mit den Technologien, die man bis zur Frist hat, auch wenn es anfangs nicht in allen Browsern funktioniert. Machen Sie dem Kunden einfach klar, dass es in zwei Wochen nicht in allen Browsern funktioniert.
Die meisten versuchen, sich an das zu halten, was auf den meisten Browsern funktioniert. Jetzt und dann vergesse ich, etwas zu überprüfen, das mir wirklich gefällt, wie es sich herausgestellt hat… und verbringe Stunden damit, es zum Laufen zu bringen, normalerweise nie so schön!
Obwohl es von Google nicht nett ist, dass es ihre Apps nicht auf Nicht-Chrome-Browsern laufen lässt, bezweifle ich auch, dass es versucht, die Leistung von Firefox unter Windows zu beeinträchtigen. Wenn Chrome geöffnet ist und man Firefox öffnet, dauert es eine Weile, aber wenn man zuerst Firefox öffnet, öffnet es sich ziemlich schnell. Vielleicht kann jemand mit mehr Erfahrung das besser überprüfen.
Der einzige Weg, um Standards zu haben, ist, wenn sie weltweit gesetzlich geregelt sind, dass nur ein Browser existieren darf. Ansonsten wird es Wettbewerb geben, wie es sein sollte. Innovation wird immer einen größeren Nettonutzen bringen.
Browser sind der Distributionsmechanismus für Software, und wenn Sie mehr als einem Unternehmen erlauben, Software zu veröffentlichen, müssen Sie akzeptieren, dass jedes Unternehmen zumindest einige Freiheiten haben möchte, seine Distributionspipeline anzupassen, um die Wirkung der durch diese Pipeline gedrückten Produkte zu maximieren. Genauso wie es albern wäre, vorzuschlagen, dass alle Software über Steam vertrieben werden muss. Wäre gut gemeint, aber naiv.
Das Problem ist, wenn Google Sie bittet, seinen eigenen Code zu verwenden, um Suchsichtbarkeit und Geschwindigkeit zu erzielen. AMP ist ein Paradebeispiel dafür.
Ich vermisse den AOL Browser.
Beim Lesen dieses Artikels (bevor ich die Kommentare las) dachte ich immer: „Ja, aber die zitierten Websites sind alles Google-Websites. Das ist kein Problem. Nicht-Google-Websites tun das nicht.“
Ich war wirklich überrascht, nachdem ich die Kommentare gelesen hatte, zu erkennen, dass es anscheinend auch anderswo passiert.
Was die Google-Websites betrifft, die das tun… diese Websites sind kostenlos zugänglich. Wenn die einzige Zahlung, die erforderlich ist, die Verwendung ihres Browsers ist, fühlt sich das für mich nicht falsch an. Zählt es als Monopol, wenn man nie Geld für etwas verlangt?
Die beste Lösung ist, gar keine nicht standardisierten Funktionen zu verwenden. Die meisten Chrome-spezifischen (oder von anderen Browsern spezifizierten) Probleme sind das Ergebnis mangelnder Standards. Aber jetzt, wo TC39 und W3C gut nachgefragte und großartige neue Features aktualisieren, liegt es meist an den Browserherstellern, die Dinge aktuell zu halten.
Aber mit dem Babel-Hype scheint es, als ob sich niemand wirklich um Standards kümmert und alles verwendet, was bequem aussieht (Der Legacy Decorator Draft).
Zusammenfassend glaube ich, dass Browser ihre APIs aktualisieren können, solange sie sich strikt an die Standards halten. Und Entwickler sollten nicht einfach aus Bequemlichkeit nicht-standardisierte Funktionen verwenden. Die Überprüfung auf Websites wie caniuse.com ist eine notwendige moderne Gewohnheit.