Mesin browser Kosmonaut, ditulis ing Rust, dikenalaké

Ing wates proyek kosmonot Mesin browser lagi dikembangake, ditulis kabeh nganggo basa Rust lan nggunakake sawetara pangembangan proyek Servo. Kode disebarake dening dilisensi ing MPL 2.0 (Lisensi Umum Mozilla). Bindings OpenGL digunakake kanggo rendering gl-rs ing basa Rust. Manajemen jendhela lan nggawe konteks OpenGL dileksanakake dening perpustakaan Glutin. Komponen digunakake kanggo ngurai HTML lan CSS html5 tau и cssparserdikembangake dening proyek kasebut servo.
Kode kanggo nggarap DOM adhedhasar pangembangan proyek kasebut Kuchiki, ngembangake perpustakaan kanggo manipulasi HTML/XML. Antarane proyek sing digunakake, mesin web eksperimen uga kasebut Robinson, sing wis ana ing negara semi-ditinggalake watara 5 taun.

Ing tahap pangembangan saiki, dhukungan HTML dhasar lan kapabilitas CSS sing winates diwenehake, sing durung cukup kanggo ndeleng kaca paling modern. Nanging kaca prasaja ing divs nganggo CSS digambar kanthi bener. Proyek kasebut wiwitane didegake setahun kepungkur kanggo mulang proses ngembangake mesin browser, nanging saiki nyoba golek niche aplikasi anyar.

Apa sing wis ditindakake:

  • Parsing HTML, subset CSS, CSS cascading, DOM.
  • Rendering kaca, mblokir tata letak konten.
  • Dhukungan sebagean kanggo abstrak model kothak lan sifat"arah".
  • Ngasilake dumps debug kanthi wit unsur sing ditampilake.
  • Ndhukung faktor skala sewenang-wenang kanggo layar DPI Dhuwur.
  • Rendering teks nggunakake perpustakaan FreeType.
  • support Tata Alur, format lan rendering inline sing sensitif konteks.

Source: opennet.ru

Add a comment