U prezantua motori i shfletuesit Kosmonaut, i shkruar në Rust

Në kufijtë e projektit kozmonaut Një motor shfletuesi po zhvillohet, i shkruar tërësisht në gjuhën Rust dhe duke përdorur disa nga zhvillimet e projektit Servo. Kodi shperndare nga licencuar sipas MPL 2.0 (Licencë Publike Mozilla). Lidhjet OpenGL përdoren për renderim gl-rs në gjuhën Rust. Menaxhimi i dritareve dhe krijimi i kontekstit OpenGL zbatohen nga biblioteka Glutinën. Komponentët përdoren për të analizuar HTML dhe CSS html5 ndonjëherë и cssparserzhvilluar nga projekti Ndihmës.
Kodi për të punuar me DOM-in bazohet në zhvillimet e projektit Kuchiki, e cila zhvillon një bibliotekë për manipulimin e HTML/XML. Ndër projektet e përdorura përmendet edhe një motor eksperimental në internet Robinson, e cila prej rreth 5 vitesh ndodhet në gjendje gjysmë të braktisur.

Në fazën aktuale të zhvillimit, ofrohet mbështetje bazë HTML dhe një grup i kufizuar i aftësive CSS, të cilat ende nuk janë të mjaftueshme për të parë shumicën e faqeve moderne. Megjithatë faqe të thjeshta në divs me CSS janë tërhequr saktë. Projekti u themelua fillimisht një vit më parë për të mësuar procesin e zhvillimit të motorëve të shfletuesit, por tani po përpiqet të gjejë pika të reja aplikimi.

Ajo që tashmë është zbatuar:

  • Analizimi i HTML, nëngrupi CSS, CSS në kaskadë, DOM.
  • Paraqitja e faqes, bllokimi i paraqitjes së përmbajtjes.
  • Mbështetje e pjesshme për abstraktin modelet e kutive dhe pronat "drejtim".
  • Gjenerimi i depozitave të korrigjimit me një pemë elementësh të shfaqur.
  • Mbështet faktorë shkallëzues arbitrar për ekranet me DPI të lartë.
  • Përkthimi i tekstit duke përdorur bibliotekën FreeType.
  • Mbështetje Paraqitja e rrjedhës, formatim inline dhe interpretim i ndjeshëm ndaj kontekstit.

Burimi: opennet.ru

Shto një koment