Mesin browser Kosmonaut, yang ditulis dalam Rust, diperkenalkan

Dalam batas-batas proyek kosmonot Mesin browser sedang dikembangkan, seluruhnya ditulis dalam bahasa Rust dan menggunakan beberapa pengembangan proyek Servo. Kode didistribusikan oleh berlisensi di bawah MPL 2.0 (Mozilla Public License). Binding OpenGL digunakan untuk rendering gl-rs dalam bahasa Rust. Manajemen jendela dan pembuatan konteks OpenGL diimplementasikan oleh perpustakaan Glutin. Komponen digunakan untuk mengurai HTML dan CSS html5ever ΠΈ cssparserdikembangkan oleh proyek tersebut Servo.
Kode untuk bekerja dengan DOM didasarkan pada perkembangan proyek Kuchiki, yang mengembangkan perpustakaan untuk memanipulasi HTML/XML. Di antara proyek yang digunakan, mesin web eksperimental juga disebutkan Robinson, yang telah berada dalam keadaan semi-terbengkalai selama kurang lebih 5 tahun.

Pada tahap pengembangan saat ini, dukungan HTML dasar dan serangkaian kemampuan CSS terbatas disediakan, yang belum cukup untuk melihat sebagian besar halaman modern. Namun demikian halaman sederhana pada div dengan CSS digambar dengan benar. Proyek ini awalnya didirikan setahun yang lalu untuk mengajarkan proses pengembangan mesin browser, namun kini mencoba menemukan ceruk aplikasi baru.

Apa yang sudah diterapkan:

  • Penguraian HTML, subset CSS, CSS berjenjang, DOM.
  • Render halaman, blok tata letak konten.
  • Dukungan parsial untuk abstrak model kotak dan properti "arah".
  • Menghasilkan dump debug dengan pohon elemen yang ditampilkan.
  • Mendukung faktor penskalaan sewenang-wenang untuk layar DPI Tinggi.
  • Merender teks menggunakan perpustakaan FreeType.
  • Dukungan Tata Letak Aliran, pemformatan dan rendering sebaris yang peka konteks.

Sumber: opennet.ru

Tambah komentar