HeadlinesBriefing HeadlinesBriefing.com

Bez : Générer un moteur de navigateur depuis specs et tests

Hacker News •
×

Bez génère un moteur de rendu web à partir de spécifications et de tests, plutôt que de le construire à la main. Le projet vise à réduire le coût de création d'un moteur de navigateur, qui nécessite actuellement des centaines d'ingénieurs et des années de travail. En générant du code à partir de spécifications et en utilisant les trois navigateurs en production (Chromium, Firefox, WebKit) ainsi que WPT comme tests, chaque moteur supplémentaire coûte très peu.

Les objectifs incluent une construction complète ou élaguée (tree-shaken), des performances rapides sur n'importe quel appareil, un embarquement facile et des mises à jour les plus rapides lorsque les spécifications changent. La boucle de génération implique d'écrire des candidats à partir du texte de la spécification, de les exécuter dans le moteur et de vérifier l'accord avec les trois navigateurs sur les boîtes et le placement. Ce n'est que lorsque les trois sont d'accord que le code est validé en tant que Rust ordinaire.

L'état actuel montre 0,6% des fonctionnalités générées globalement, avec CSS à 2,5%. Neuf règles de mise en page CSS 2.1 vivent dans le code généré ; huit ont été écrites par des modèles et admises contre le vote des trois navigateurs. 699 des 705 comparaisons de paires de navigateurs ont concordé sur 235 documents, Firefox étant identifié comme la valeur aberrante dans les six désaccords, révélant un vrai bogue de compatibilité web.

Source: Hacker News · Résumé par HeadlinesBriefing