Rust ile yazılan Kosmonaut tarayıcı motoru tanıtıldı

Proje çerçevesinde Kosmonot Tamamen Rust dilinde yazılmış ve Servo projesinin bazı gelişmelerini kullanan bir tarayıcı motoru geliştiriliyor. Kod tarafından dağıtıldı MPL 2.0 (Mozilla Kamu Lisansı) kapsamında lisanslanmıştır. Oluşturma için OpenGL bağlamaları kullanılır gl-rs Rust dilinde. Pencere yönetimi ve OpenGL bağlamı oluşturma kütüphane tarafından uygulanır oburluk. Bileşenler HTML ve CSS'yi ayrıştırmak için kullanılır HTML5ever и cssparserproje tarafından geliştirilen Servo.
DOM ile çalışmanın kodu projedeki gelişmelere dayanmaktadır KuçikiHTML/XML'i işlemek için bir kitaplık geliştiren. Kullanılan projeler arasında deneysel bir web motorundan da bahsediliyor RobinsonYaklaşık 5 yıldır yarı terk edilmiş bir durumda olan.

Şu anki geliştirme aşamasında, modern sayfaların çoğunu görüntülemek için henüz yeterli olmayan temel HTML desteği ve sınırlı sayıda CSS yetenekleri sağlanmaktadır. Yine de basit sayfalar CSS'li div'lerde doğru şekilde çizilir. Proje ilk olarak bir yıl önce tarayıcı motorları geliştirme sürecini öğretmek için kuruldu, ancak şimdi yeni uygulama alanları bulmaya çalışıyor.

Halihazırda uygulananlar:

  • HTML ayrıştırma, CSS alt kümesi, basamaklı CSS, DOM.
  • Sayfa oluşturma, içerik düzenini engelleme.
  • Özet için kısmi destek kutusu modelleri ve özellikleri"yön".
  • Görüntülenen öğelerden oluşan bir ağaçla hata ayıklama dökümleri oluşturuluyor.
  • Yüksek DPI ekranlar için isteğe bağlı ölçeklendirme faktörlerini destekler.
  • FreeType kitaplığını kullanarak metin oluşturma.
  • Destek Akış düzeni, bağlama duyarlı satır içi biçimlendirme ve oluşturma.

Kaynak: opennet.ru

Yorum ekle