GTK için yeni bir kullanıcı arayüzü dili olan Blueprint'i tanıttı

GNOME Haritalar uygulamasının geliştiricisi James Westman, GTK kütüphanesini kullanarak arayüzler oluşturmak için tasarlanmış yeni bir işaretleme dili olan Blueprint'i tanıttı. Blueprint işaretlemesini GTK UI dosyalarına dönüştürmek için kullanılan derleyici kodu Python'da yazılmıştır ve LGPLv3 lisansı altında dağıtılmaktadır.

Projenin oluşturulmasının nedeni, GTK'da kullanılan UI arayüzü açıklama dosyalarının XML formatına bağlanmasıdır; bu, aşırı yüklenmiştir ve işaretlemenin manuel olarak yazılması veya düzenlenmesi için uygun değildir. Blueprint formatı, bilgilerin net sunumuyla öne çıkıyor ve okunabilir sözdizimi sayesinde, arayüz öğelerindeki değişiklikleri oluştururken, düzenlerken ve değerlendirirken özel görsel arayüz editörleri kullanmadan bunu yapmayı mümkün kılıyor.

Aynı zamanda Blueprint, GTK'da değişiklik yapılmasını gerektirmez, GTK widget modelini tamamen kopyalar ve işaretlemeyi GtkBuilder için standart XML formatında derleyen bir eklenti olarak konumlandırılır. Blueprint'in işlevselliği GtkBuilder ile tamamen tutarlıdır, yalnızca bilgi sunma yöntemi farklıdır. Bir projeyi Blueprint'e geçirmek için kodu değiştirmeden derleme betiğine bir blueprint-compiler çağrısı eklemeniz yeterlidir. Gtk 4.0 kullanarak; şablon MyAppWindow : Gtk.ApplicationWindow { title: _("Uygulama Başlığım"); [başlık çubuğu] Başlık Çubuğu başlık_çubuğu {} Etiket { stiller ["başlık"] label: _("Merhaba, dünya!"); } }

Blueprint tanıtıldı - GTK için kullanıcı arayüzleri oluşturmaya yönelik yeni bir dil

Standart GTK XML formatındaki derleyiciye ek olarak, GNOME Builder entegre geliştirme ortamı için Blueprint desteğine sahip bir eklenti de geliştirme aşamasındadır. Blueprint için, Visual Studio Code da dahil olmak üzere LSP'yi destekleyen kod düzenleyicilerde vurgulama, hata analizi, ipuçlarının görüntülenmesi ve kod tamamlama için kullanılabilecek ayrı bir LSP sunucusu (Dil Sunucusu Protokolü) geliştirilmektedir.

Plan geliştirme planları, GTK4'te sağlanan Gtk.Expression sınıfı kullanılarak uygulanan işaretlemeye reaktif programlama öğelerinin eklenmesini içerir. Önerilen yöntem, JavaScript web arayüzleri geliştiricilerine daha aşinadır ve her veri değişikliğinden sonra kullanıcı arayüzünü zorla güncellemeye gerek kalmadan arayüz sunumunun ilgili veri modeliyle otomatik senkronizasyonuna olanak tanır.

Kaynak: opennet.ru

Yorum ekle