
L'équipe Servo a annoncé la sortie de Servo 0.0.1, un moteur de rendu Web destiné aux développeurs à la recherche d'une alternative efficace pour intégrer des technologies Web à leurs applications. Cette version marque une étape importante pour ce projet open source, désormais géré par la Linux Foundation Europe, et dont les prochaines versions seront publiées mensuellement sur GitHub.
Servo est un moteur de rendu expérimental pour navigateur web conçu pour tirer parti des propriétés de sécurité mémoire et des fonctionnalités de concurrence du langage de programmation Rust. Il vise à créer un environnement hautement parallèle, dans lequel le rendu, la mise en page, l'analyse HTML, le décodage d'images et d'autres composants du moteur sont gérés par des tâches isolées et finement granulaires. Il utilise également l'accélération GPU pour afficher les pages web rapidement et en toute fluidité.
Servo a toujours été un projet de recherche. Il a vu le jour chez Mozilla Corporation en 2012, et ses employés ont effectué la majeure partie du travail jusqu'en 2020. Cela comprenait le projet Quantum, lorsque certaines parties de Servo ont été intégrées au moteur Gecko de Firefox.
Après que Mozilla ait licencié tous les développeurs Servo en 2020, la gouvernance du projet a été transférée à la Linux Foundation Europe. Le travail de développement se poursuit officiellement dans le même dépôt GitHub, le projet lui-même étant entièrement mené par des bénévoles.
Points forts
La grande nouveauté de Servo est le rendu des éléments SVG en ligne qui améliore l'apparence de nombreux sites web populaires.
Saviez-vous que le logo Google est un élément SVG ?
L'équipe de Servo a implémenté des lignes et des zones de grille nommées, toujours protégées par la préférence layout_grid_enabled.
Les grilles CSS sont partout autour de nous
Servo prend désormais en charge les paramètres CSS « font-variation-settings » sur toutes les principales plateformes de bureau. Cette fonctionnalité est actuellement accessible via la préférence layout_variable_fonts_enabled. Servo respecte également les variations de format (*-variations) dans les règles @font-face. De plus, il lit désormais les données des fichiers de polices système OpenType Collection (.ttc) sur macOS (@nicoburns, #38753) et utilise Helvetica pour la police « system-ui ».
Cette police peut être personnalisée !
Les outils de développement continuent également de progresser. Servo dispose désormais d'un panneau de surveillance réseau fonctionnel, et le débogueur JS peut afficher les points d'arrêt potentiels. De plus, l'inspecteur de mise en page atténue désormais les nœuds qui ne sont pas affichés.
L'équipe de Servo a corrigé une source importante de plantages dans le moteur : le test de collision utilisant des listes d'affichage obsolètes. Le test de collision dans un moteur de rendu web est le processus qui détermine sur quel(s) élément(s) la souris de l'utilisateur est en train de passer.
Selon l'équipe, ce processus s'exécutait auparavant dans WebRender, qui reçevait une liste d'affichage représentant ce qui doit être rendu pour une page particulière. WebRender s'exécute sur un thread ou un processus distinct du contenu réel de la page, de sorte que les listes d'affichage sont mises à jour de manière asynchrone. Au moment où l'équipe de Servo effectue un test de collision, les éléments signalés peuvent ne plus exister, ce qui peut potentiellement provoquer des plantages (par exemple) lors du déplacement rapide de la souris sur des parties de la page qui changent rapidement.
Le problème a été résolu en rendant l'opération de test de collision synchrone et en la déplaçant dans le même thread que le contenu réel testé, éliminant ainsi la possibilité d'obtenir des résultats obsolètes.
Cela représente beaucoup de requêtes réseau
L'annonce de Servo 0.0.1 est présentée ci-dessous :
« Aujourd'hui, l'équipe Servo a publié de nouvelles versions des binaires servoshell pour toutes nos plateformes prises en charge, référencées sous le nom v0.0.1. Ces binaires sont essentiellement les mêmes nightly builds qui étaient déjà disponibles sur la page de téléchargement, avec des tests manuels supplémentaires, et sont désormais explicitement référencés comme versions pour référence future.
Nous prévoyons de publier une version taguée chaque mois. Pour l'instant, nous adoptons un processus de publication simple dans lequel nous utilisons une version nightly récente et effectuons des tests manuels supplémentaires afin d'identifier les problèmes et les régressions avant de taguer et de publier les binaires.
Il n'est actuellement pas prévu de publier ces versions sur crates.io ou sur des boutiques d'applications spécifiques à une plateforme. L'objectif est simplement de publier des versions taguées sur GitHub. »
Télécharger Servo 0.0.1
Source : Servo
Et vous ?



Voir aussi :


Vous avez lu gratuitement 16 135 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.