Μια νέα προσέγγιση στην ανάπτυξη μηχανών ιστού
Η κατασκευή μιας μηχανής περιηγητή (browser engine) παραδοσιακά απαιτεί τεράστιους πόρους και εκατοντάδες μηχανικούς, γεγονός που συγκεντρώνει τον έλεγχο του ιστού σε ελάχιστους παίκτες. Το Bez ανατρέπει αυτό το μοντέλο, προτείνοντας μια διαδικασία όπου η μηχανή παράγεται αυτόματα από τις προδιαγραφές (specs) και τα Web Platform Tests (WPT).
Αρχιτεκτονική και ροή παραγωγής
Η διαδικασία βασίζεται σε έναν βρόχο ανατροφοδότησης: ένα μοντέλο παράγει υποψήφιο κώδικα, ο οποίος στη συνέχεια εκτελείται εντός της μηχανής Bez. Τα αποτελέσματα συγκρίνονται με τις τρεις κύριες μηχανές (Chromium, Firefox, WebKit). Αν η συμπεριφορά ταυτίζεται με την πλειοψηφία των υπαρχουσών μηχανών, ο κώδικας δεσμεύεται (commit) ως κανονικός κώδικας Rust. Αυτή η μέθοδος εξασφαλίζει ότι η μηχανή παραμένει συμβατή με το οικοσύστημα του ιστού χωρίς χειροκίνητη συντήρηση κάθε κανόνα.
Βελτιστοποίηση και tree-shaking
Ένα από τα πιο ενδιαφέροντα χαρακτηριστικά του Bez είναι η ικανότητα δημιουργίας «scoped» μηχανών. Αντί για ένα μονολιθικό binary, το Bez μπορεί να αναλύσει μια εφαρμογή και να συμπεριλάβει στη μηχανή μόνο τα χαρακτηριστικά που όντως χρησιμοποιούνται. Αυτό μειώνει δραστικά το memory footprint και το μέγεθος του binary, καθιστώντας το ιδανικό για ενσωματωμένα συστήματα (embedded devices) ή εξειδικευμένες εφαρμογές.
Συμπεράσματα από την έως τώρα πορεία
Τα δεδομένα δείχνουν ότι η πλειοψηφία των browsers συμφωνεί στο 94,8% των περιπτώσεων. Το Bez κατάφερε ήδη να εντοπίσει πραγματικά bugs συμβατότητας, όπως η διαφορά στη στρογγυλοποίηση των pixels στον Firefox, αποδεικνύοντας ότι η αυτοματοποιημένη σύγκριση μπορεί να λειτουργήσει ως εργαλείο διασφάλισης ποιότητας για ολόκληρη την πλατφόρμα.