Predstavljen je motor pretraživača Kosmonaut, napisan na Rustu

U granicama projekta kosmonaut Razvija se motor pretraživača, napisan u potpunosti na Rust jeziku i koristeći neke od razvoja Servo projekta. Kod distribuira licencirano pod MPL 2.0 (Mozilla Public License). OpenGL veze se koriste za renderiranje gl-rs na Rust jeziku. Biblioteka implementira upravljanje prozorima i kreiranje OpenGL konteksta Glutin. Komponente se koriste za raščlanjivanje HTML-a i CSS-a html5ever и cssparserrazvijen od strane projekta Servo.
Kod za rad sa DOM-om je baziran na razvoju projekta Kuchiki, koji razvija biblioteku za manipulaciju HTML/XML-om. Među korištenim projektima spominje se i eksperimentalni web engine Robinson, koji je u polunapuštenom stanju oko 5 godina.

U trenutnoj fazi razvoja obezbeđena je osnovna HTML podrška i ograničen skup CSS mogućnosti, koje još uvek nisu dovoljne za pregled većine modernih stranica. Ipak jednostavne stranice na div-ovima sa CSS-om su ispravno nacrtani. Projekat je prvobitno osnovan prije godinu dana kako bi podučavao proces razvoja pretraživača, ali sada pokušava pronaći nove niše primjene.

Šta je već implementirano:

  • HTML raščlanjivanje, CSS podskup, kaskadni CSS, DOM.
  • Rendering stranice, blok raspored sadržaja.
  • Djelimična podrška sažetku box modeli i imovine"pravac".
  • Generiranje debug dumpova sa stablom prikazanih elemenata.
  • Podržava proizvoljne faktore skaliranja za High-DPI ekrane.
  • Renderiranje teksta korištenjem FreeType biblioteke.
  • podrška Flow Layout, kontekstualno osjetljivo inline formatiranje i renderiranje.

izvor: opennet.ru

Dodajte komentar