Now Reading
Schriftarten schnell laden

Schriftarten schnell laden

Schriftarten schnell laden

[ad_1]

Im Zusammenhang Buffer experimentieren wir ständig mit Möglichkeiten, unsrige Produkte zu verbessern und neue Ideen auszuprobieren. Wir nach sich ziehen vor kurzem Start Page eingeführt, eine schöne, flexible und mobilfreundliche Landingpage, die Sie in wenigen Minuten erstellen und in Sekunden auf den neuesten Stand bringen können. Wie Software Engineer im Team von Buffer habe ich eine heftige Menstruationsblutung verkettete Liste von lustigen Projekten in Übergriff genommen, einschließlich welcher Startseite. Eine Sache, die ich an diesem Projekt liebe, ist, dass wir, während wir uns immer tiefer mit benutzergenerierten Inhalten und Anpassungen befassen, neue technische Herausforderungen erspähen, die wir in unseren Frontends noch nie hatten. In diesem Sachverhalt wollten wir 13 neue Schriftartoptionen (zum Besten von insgesamt 16 Schriftarten) importieren und sicherstellen, dass sie schön und schnell geladen werden. Während ich daran arbeitete, habe ich so viel gelernt, dass ich nicht oben Schriftarten Mitteilung wusste. Von dort möchte ich in diesem Gebühr mehr darüber erzählen, wie wir vorgegangen sind, zum Besten von aufgebraucht, die mit ähnlichen Herausforderungen konfrontiert sind.

Ein Screenshot welcher Startseiten-App, welcher die neue Funktionsvielfalt welcher Schriftartenauswahl demonstriert

Schriftarten blockieren dies Rendern

Beginnen wir mit dem „Warum“. Schriftarten sind im Allgemeinen ziemlich leichte Ressourcen, die normalerweise im Browser zwischengespeichert werden. Warum ist es damit wichtig, eine schnelle Ladestrategie sicherzustellen? Da Schriftarten eine hohe Priorität nach sich ziehen, synchrone Anforderungen, welches bedeutet, dass sie dies Rendern blockieren. Wenn wir Schriftarten schnell und/oder asynchron laden können, können wir die Seitengeschwindigkeit verbessern.

FOUT und FOIT

Okay, Sie möchten Ihr Rendering nicht blockieren. Im Allgemeinen stillstehen zwei Strategien zur Güteklasse, um mit geladenem Text umzugehen, vorher er eine benutzerdefinierte Schriftart hat:

FOUT – Flash von unstylediertem Text
Rendert den Text, jedoch mit einer Fallback-Schriftart. Google Fonts kann jetzt mit display=swap zurückkehren, welches den Browser anweist, die Fallback-Schriftart zu verwenden, um den Text anzuzeigen, solange bis die benutzerdefinierte Schriftart vollwertig heruntergeladen wurde. Wenn Sie peinlich genau sein möchten, können Sie mit dieser App eine bessere Fallback-Schriftart finden: Schriftart Style Matcher

FOIT – Blitz des unsichtbaren Textes
Hier wird welcher Text mit einer unsichtbaren Schriftart gerendert, solange bis die benutzerdefinierte Schriftart vollwertig heruntergeladen wurde. Dies ist sinnvoller zum Besten von so irgendetwas wie ein Logo, zusammen mit dem die Marke betroffen wäre, wenn es mit einer Fallback-Skript gerendert würde (obwohl ich zum Besten von ein Logo ein SVG verwenden würde, Gewiss Beispiele!)

DER Trick zum Besten von schnelle Schriftarten

Jener allgemeine Ratschlag ist heutzutage, sich vorab mit dem Schriftart-Server zu verbinden:

<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
<link rel="preconnect" href="https://fonts.googleapis.com" />

Laden Sie dann die Schriftarten vor:

  <link
      rel="preload"
      as="style"
      href="https://fonts.googleapis.com/css2?family={your font families here}&display=swap"
    />

Fordern Sie schließlich denn Fallback die Schriftarten asynchron an, während Sie Medien zum Besten von Browser, die dies nicht unterstützen, gen „Drucken“ setzen rel="preload" (ca. 12% welcher Browser in diesem Jahr 2021)

<link
      rel="stylesheet"
      href="https://fonts.googleapis.com/css2?family={your font families here}&display=swap"
      media="print"
      onload="this.media="all""
    />

Dies funktioniert, weil ein normales Stylesheet dies Rendern krampfhaft, einem Komprimierung-Stylesheet jedoch Leerlaufpriorität zugewiesen wird. Nachdem dem Laden werden die Medien des Sinister gen aufgebraucht angewendet.

Dies Hosten Ihrer eigenen Schriftarten ist am schnellsten, Gewiss Google Fonts tut viel zum Besten von Sie:

  • Gibt mehrere Alphabete zurück
  • Gibt eine CSS-File zurück, die an den Benutzeragenten zugeschnitten ist, welcher sie angefordert hat
  • Wenn Sie mehrere Schriftarten nach sich ziehen, stellen Sie der bevorzugte Lösungsweg eine Bewerbung, damit es schneller geht
  • Sie können Ihre Anfragen an bestimmte Schriftstärken und -formate (schwer, kursiv, mickrig) zuschneiden.

API zum Laden von Schriftarten

Es gibt eine neue CSS Schriftart Loading API, die Schriftarten zusammen mit Drang ordern kann, Gewiss ich fand, dass dies mit Google Fonts nicht gut funktioniert, da Sie die Ursprung-URL zum Besten von die Schriftarten benötigen und die Google Fonts-URL, die Sie erhalten, nicht die Quelle ist , es ist die Bewerbung. Google hat zusammen mit Typekit eine Bibliothek namens Web Schriftart Loader, die wie die Schriftart Loading API funktioniert, Gewiss besser mit Google Fonts funktioniert.

Welches nach sich ziehen wir damit gen welcher Startseite gemacht?

Wir nach sich ziehen die beliebte Strategie zum Besten von den Builder (die App selbst) implementiert und obwohl wir beim ersten Laden irgendetwas FOUT nach sich ziehen (denken Sie daran, Browser-Puffern!), ist es, wenn schier, sehr minimal. Z. Hd. generierte Seiten erhalten wir die im Gestaltung verwendeten Schriftarten, vorher wir den Hypertext Markup Language-Identifikator generieren, sodass wir nur die Schriftarten einfügen können, die wir benötigen. Damit werden unsrige generierten Seiten viel schneller und leichter. Wir sind gespannt, wie sich dieses Test prosperieren wird und ob die Personen daran wissensdurstig sind, mehr Schriftartenoptionen zu erhalten. Wenn dies welcher Sachverhalt ist, könnten wir sehr gut eine dynamischere Strategie in Betracht ziehen (z. B. beim Laden nur die nun verwendeten Schriftarten laden und dann eine weitere Bewerbung senden, wenn ein Benutzer gen Phänotyp klickt, um seine Schriftarten zu ändern). Eine andere Vorkaufsrecht, die wir prüfen könnten, ist die Implementierung einer Möglichkeit zum Ordern mehrerer Schriftarten, wenn wir sie selbst gehostet nach sich ziehen.

Dies war es fürs Erste! Vielen Dankfest, dass Sie es solange bis hierher geschafft nach sich ziehen, ich hoffe, dies war interessant zum Besten von Sie! Kontakt haben Sie irgendetwas Nettes oben Schriftarten, dies ich hier nicht erwähnt habe? Teile es mit uns gen Twitter.

Ressourcen:
Die schnellsten Google Fonts
Google Fonts und aufgebraucht anderen Webfonts so schnell wie möglich Herkunft 2021 laden
FOIT vs FOUT: ein Vergleich zum Laden von Webfonts
CSS-Tricks – Skript-Bildschirm



[ad_2]

View Comments (0)

Leave a Reply

Your email address will not be published.

Scroll To Top