Veröffentlichung der Browser-Engine Servo 0.1.0, die jetzt in Form eines Crate-Pakets verfügbar ist.

Die Veröffentlichung der Version 0.1.0 des Browser-Engines Servo und des damit entwickelten Demobrowsers ServoShell, die in Rust geschrieben sind, wurde veröffentlicht. Fertige Builds wurden für Linux, Android, macOS und Windows bereitgestellt. Neben den einzelnen Builds wird Servo jetzt auch als crate-Paket geliefert, das es ermöglicht, die Engine in Form einer Bibliothek zu verwenden.

Servo 0.1.0 ist die erste Version, für die ein verlängerter Unterstützungszyklus (LTS) gewährleistet ist. Neue LTS-Zweige werden alle 6 Monate auf der Grundlage des jeweils nächsten Zwischen-Releases veröffentlicht. Die Unterstützung für LTS-Versionen wird für 9 Monate bereitgestellt (3 Monate für den Übergang zu einem neuen LTS-Zweig). Von regulären Releases unterscheidet sich der LTS-Zweig durch die Veröffentlichung von Updates zur Behebung von Sicherheitsanfälligkeiten in der Servo-Bibliothek, dem JavaScript-Engine und Abhängigkeiten. Es wird erwartet, dass der LTS-Zweig für Entwickler nützlich ist, die Servo in ihre Projekte integrieren und nicht jeden Monat auf das nächste Zwischen-Release mit möglichen Änderungen im API wechseln möchten.

Die Veröffentlichung von Servo 0.1.0 LTS basiert auf dem vor einigen Tagen erstellten Zwischenstand 0.0.6, der folgende neue Funktionen implementiert hat:

  • Im HTML-Element „button“ wurden die Attribute „command“ und „commandfor“ implementiert, die anstelle der Attribute „popovertargetaction“ und „popovertarget“ in Schaltflächen verwendet werden können, um die Interaktion mit dem über die Schaltfläche aufgerufenen Menü deklarativ zu konfigurieren.
  • Der CSS-Selektor „:modal“ wurde hinzugefügt, der es ermöglicht festzustellen, dass der über das Element erstellte Dialog modal ist.
  • Die CSS-Regel @property wurde implementiert, die es ermöglicht, eigene CSS-Eigenschaften zu registrieren.
  • Die CSS-Eigenschaften „alignment-baseline“ und „baseline-shift“ wurden hinzugefügt, um den Text vertikal auszurichten.
  • Die Unterstützung des Headers „Content-Security-Policy: base-uri“ wurde hinzugefügt, der die URLs einschränkt, die im HTML-Element verwendet werden können.
  • Teilweise Unterstützung für das lazy-loading von iframe-Elementen wurde hinzugefügt, wobei der Inhalt, der sich außerhalb des sichtbaren Bereichs befindet, nicht geladen wird, bis der Benutzer die Seite an die Stelle scrollt, die dem Element unmittelbar vorausgeht. Das Aktivieren des lazy-loads von Seiten erfolgt über das Attribut „loading=lazy“ im iframe-Tag ().
  • Teilweise Unterstützung für die CSS-Eigenschaft „transform-style: preserve-3d“ wurde hinzugefügt, um die Positionierung von Kindelementen im 3D-Raum zu ermöglichen.
  • Die Ereignisse pointermove, pointerdown, pointerup und pointercancel wurden implementiert.
  • Die Drehung von Bildern basierend auf EXIF-Metadaten wurde sichergestellt.
  • Die Verwendung der Umgebungsvariable LANG zur Auswahl der Standardsprache für den Header „Accept-Language“ und die Eigenschaft navigator.language wurde implementiert.
  • Die APIs für Pointer Events und UserActivation wurden hinzugefügt.
  • Die Methoden import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() und index() wurden implementiert.
  • Im Demo-Browser servoshell wurden Seiten zur Änderung der Einstellungen implementiert: servo:preferences (GUI-Configurator) und servo:config (Änderung einzelner Parameter im Stil von about:config). Unterstützung für das Neuladen der Seite bei Drücken von F5 wurde hinzugefügt.
    Veröffentlichung der Browser-Engine Servo 0.1.0, die jetzt in Form eines Crate-Pakets verfügbar ist.
  • In den Entwicklertools für Webentwickler im Inspektionsmodus wurde die Unterstützung für das Bearbeiten von DOM-Attributen hinzugefügt. In der Webkonsole wurde eine Vorschau von Objekten, die über console.log() übergeben werden, sichergestellt, und im Debugger besteht die Möglichkeit, die Ausführung von Skripten anzuhalten und fortzusetzen.
  • Die API zum Einbetten der Browser-Engine in Anwendungen wurde erweitert.

Die Servo-Engine wurde ursprünglich von Mozilla entwickelt, ging dann aber unter den Schutz der Linux Foundation über. Servo zeichnet sich durch die Unterstützung von Multithreading beim Rendern von Webseiten, der Parallelisierung von DOM-Operationen (Document Object Model) und der Nutzung von sicheren Programmiermechanismen der Programmiersprache Rust aus. Servo wurde von Anfang an mit der Unterstützung für die Aufteilung von DOM-Code und das Rendern in kleinere Unteraufgaben, die parallel ausgeführt werden können, entwickelt, um die Ressourcen von Mehrkern-CPUs effizienter zu nutzen. In Firefox sind bereits einige Teile von Servo integriert, wie zum Beispiel die mehrkernfähige CSS-Engine und das Renderingsystem WebRender.

Quelle: opennet.ru

60GB SSD 8Gb DDR4