Functies die in Chrome worden afgeschaft of verwijderd

Leer hoe Chrome functies verwijdert die niet goed werken, met minimale overlast voor eindgebruikers en ontwikkelaars.

Chrome voegt continu nieuwe functies en mogelijkheden toe, maar soms moeten er ook functies worden verwijderd.

Het verwijderen van functionaliteiten kan de complexiteit van de browsercode verminderen en browsers veiliger maken door potentiële aanvalsvectoren te beperken. Een zorgvuldig gecoördineerde aanpak binnen het webplatform zorgt ervoor dat browserleveranciers platformfuncties die niet goed werken kunnen verwijderen, met minimale verstoring voor eindgebruikers en ontwikkelaars.

Verwijdering van browserfuncties

Als browsers zonder waarschuwing functies zouden verwijderen, zouden websites niet meer werken en zou het voor ontwikkelaars moeilijk worden om over te stappen op alternatieve technologieën. Daarom hanteren browserfabrikanten een systematische aanpak door ruim van tevoren waarschuwingen, ondersteunende informatie en gedetailleerde tijdlijnen te publiceren voordat functies worden verwijderd.

Afschaffing en verwijdering

Het verwijderen van een functie uit Chrome bestaat uit twee hoofdfasen:

  • Afschaffing: Waarschuw ontwikkelaars dat een functie binnenkort wordt verwijderd en bied hulpmiddelen aan om websites te helpen over te stappen op alternatieven. Waarschuwingen worden weergegeven in het paneel 'Problemen' van Chrome DevTools wanneer verouderde functies worden gebruikt, en informatie over de planning en ondersteuning voor afschaffing wordt gepubliceerd op Chrome Platform Status en in artikelen en blogberichten van Chrome voor ontwikkelaars .
  • Verwijdering : Schakel de functie in eerste instantie standaard uit, maar sta ontwikkelaars toe de functie tijdelijk te blijven gebruiken door een Chrome-vlag in te stellen of door deel te nemen aan een proefproject voor het uitfaseren van de functie. Zodra websites niet langer afhankelijk zijn van de uitgeschakelde functie, verwijdert u de code.

Op Chromium gebaseerde webbrowsers zoals Chrome gebruiken de Blink-renderingengine om code en resources om te zetten in webpagina's die je kunt bekijken en waarmee je kunt interageren. Wanneer ontwikkelaars een wijziging in Blink willen aanbrengen, plaatsen ze een bericht op de blink-dev-mailinglijst om goedkeuring te krijgen. Deze berichten op de mailinglijst worden Blink Intents genoemd.

Wanneer engineers een functie uit Blink willen verwijderen en vervolgens afschaffen, plaatsen ze een 'Intent to Deprecate' op de blink-dev mailinglijst , gevolgd door een 'Intent to Remove'. De twee 'Intents' worden vaak gecombineerd tot een 'Intent to Deprecate and Remove' .

Voornemen tot afschaffing

Een 'Intent to Deprecate' wordt door Blink-engineers gepubliceerd wanneer ze ontwikkelaars willen waarschuwen dat een browserfunctie binnenkort zal worden verwijderd. De functie blijft in dat geval nog beschikbaar, maar ontwikkelaars krijgen ondersteuning en informatie via Chrome DevTools, blogposts , chromestatus.com en functiedocumentatie op MDN en andere platforms.

Voorbeeld: Voornemen tot afschaffing: Mutatiegebeurtenissen

Voornemen tot verwijdering

Een 'Intent to Remove' wordt geplaatst wanneer Blink-engineers van plan zijn een functie uit te schakelen en de bijbehorende code te verwijderen. Een 'Intent to Remove' wordt vaak gecombineerd met een 'Intent to Deprecate', oftewel een 'Intent to Deprecate and Remove'.

Voorbeeld: Voornemen om Web SQL af te schaffen en te verwijderen

Minimaliseer de overlast voor gebruikers en ontwikkelaars.

Chrome probeert functies zoveel mogelijk te vermijden.

Chrome-ontwikkelaars beoordelen altijd de gebruikscijfers van functies en andere gegevens voordat ze overgaan tot het uitfaseren ervan. Een functie wordt alleen verwijderd als deze bijvoorbeeld slechts door een zeer klein percentage gebruikers wordt gebruikt en er betere alternatieven beschikbaar zijn, of als veranderingen in het ecosysteem betekenen dat de functie nu ernstige beveiligingsrisico's kan opleveren. Een functie wordt doorgaans niet uit Chrome verwijderd als andere browsers van plan zijn deze te blijven ondersteunen: het verwijderen van functies moet worden gecoördineerd tussen de verschillende browserengines .

Naast Intent-berichten op de blink-dev mailinglijst worden afschaffingen ook aangekondigd op de Chrome-ontwikkelaarsblog . Waarschuwingen en ondersteuningsinformatie zijn ook te vinden in Chrome DevTools en in de functiedocumentatie. Tijdlijnen worden tevens gepubliceerd in het chromestatus.com- artikel over een afgeschafte functie.

Een verouderde functie tijdelijk opnieuw inschakelen

Afschaffingsproeven zijn een type oorspronkelijke proef waarmee een functie die is gewijzigd of standaard uitgeschakeld vóór verwijdering, tijdelijk opnieuw kan worden ingeschakeld. Zo werden bijvoorbeeld mutatiegebeurtenissen verwijderd vanaf Chrome 127. Websites die extra tijd nodig hadden voordat ze deze gebeurtenissen definitief verwijderden, konden zich aanmelden voor de afschaffingsproef om de gebeurtenissen tijdelijk opnieuw in te schakelen op specifieke websites. Dit gaf hen meer tijd om over te stappen op alternatieve functionaliteit.

Voor sommige verouderde functies is een Chrome-vlag beschikbaar gesteld waarmee een individuele gebruiker, bijvoorbeeld ontwikkelaars die werken aan de migratie naar alternatieven, tijdelijk toegang tot de functie kan krijgen.

Kom in actie.

Als ontwikkelaar moet je voorbereid zijn op veranderingen in webplatformen.

Je kunt de release-opmerkingen van elke nieuwe versie van elke browser bekijken, maar je moet ook pre-stabiele browserkanalen gebruiken om je sites te testen en aan te passen, zodat ze klaar zijn voor aankomende wijzigingen, inclusief verwijderingen. Zorg er in ieder geval voor dat je ontwikkelteam zowel het Chrome Dev-kanaal als Chrome Stable gebruikt om toegang te krijgen tot de sites waaraan je werkt. Als ontwikkelaar kun je meerdere kanalen tegelijk gebruiken. Zo kun je testen met toekomstige versies van Chrome en je site ervaren in Chrome Stable, wat waarschijnlijk het kanaal is dat door de overgrote meerderheid van je gebruikers wordt gebruikt.

Controleer regelmatig de Chrome DevTools-console op waarschuwingen over verouderde functies. DevTools biedt informatie en links naar bronnen die u helpen bij de overstap van verouderde functies. Gebruik bovendien meerdere Chrome-kanalen voor geautomatiseerd en handmatig testen.

Meer informatie