Παρουσιάστηκε η μηχανή περιήγησης Kosmonaut, γραμμένη σε Rust

Στα όρια του έργου Κοσμοναύτης Αναπτύσσεται μια μηχανή προγράμματος περιήγησης, γραμμένη εξ ολοκλήρου στη γλώσσα Rust και χρησιμοποιώντας ορισμένες από τις εξελίξεις του έργου Servo. Κώδικας διανέμονται από άδεια σύμφωνα με το MPL 2.0 (Mozilla Public License). Οι δεσμεύσεις OpenGL χρησιμοποιούνται για απόδοση gl-rs στη γλώσσα Rust. Η διαχείριση παραθύρων και η δημιουργία περιβάλλοντος OpenGL υλοποιούνται από τη βιβλιοθήκη Γλουτίνη. Τα στοιχεία χρησιμοποιούνται για την ανάλυση HTML και CSS html5ever и cssparserπου αναπτύχθηκε από το έργο Servo.
Ο κώδικας για τη συνεργασία με το DOM βασίζεται στις εξελίξεις του έργου Κουτσίκι, αναπτύσσοντας μια βιβλιοθήκη για χειρισμό HTML/XML. Μεταξύ των έργων που χρησιμοποιήθηκαν, αναφέρεται επίσης μια πειραματική μηχανή Ιστού Robinson, που βρίσκεται σε ημιεγκαταλελειμμένη κατάσταση εδώ και 5 περίπου χρόνια.

Στο τρέχον στάδιο ανάπτυξης, παρέχεται βασική υποστήριξη HTML και ένα περιορισμένο σύνολο δυνατοτήτων CSS, οι οποίες δεν επαρκούν ακόμη για την προβολή των περισσότερων σύγχρονων σελίδων. παρ 'όλα αυτά απλές σελίδες σε div με CSS σχεδιάζονται σωστά. Το έργο ιδρύθηκε αρχικά πριν από ένα χρόνο για να διδάξει τη διαδικασία ανάπτυξης μηχανών περιήγησης, αλλά τώρα προσπαθεί να βρει νέες θέσεις εφαρμογής.

Τι έχει ήδη υλοποιηθεί:

  • Ανάλυση HTML, υποσύνολο CSS, cascading CSS, DOM.
  • Απόδοση σελίδας, αποκλεισμός διάταξης περιεχομένου.
  • Μερική υποστήριξη για την περίληψη μοντέλα κουτιών και ιδιότητες"κατεύθυνση".
  • Δημιουργία ενδείξεων εντοπισμού σφαλμάτων με ένα δέντρο εμφανιζόμενων στοιχείων.
  • Υποστηρίζει αυθαίρετους παράγοντες κλιμάκωσης για οθόνες υψηλού DPI.
  • Απόδοση κειμένου χρησιμοποιώντας τη βιβλιοθήκη FreeType.
  • Υποστήριξη Διάταξη ροής, ενσωματωμένη μορφοποίηση και απόδοση με ευαισθησία στο περιβάλλον.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο