تم تقديم Blueprint، وهي لغة واجهة مستخدم جديدة لـ GTK

قدم جيمس ويستمان، مطور تطبيق خرائط جنوم، لغة ترميزية جديدة، Blueprint، لبناء واجهات باستخدام مكتبة GTK. تتم كتابة رمز المترجم لتحويل علامة Blueprint إلى ملفات GTK ui بلغة Python ويتم توزيعه بموجب ترخيص LGPLv3.

سبب إنشاء المشروع هو ربط ملفات واجهة المستخدم لوصف الواجهة المستخدمة في GTK بتنسيق XML، وهو مثقل وغير مناسب لكتابة العلامات أو تحريرها يدويًا. يتميز تنسيق Blueprint بالعرض المرئي للمعلومات، وبفضل تركيبه القابل للقراءة، فإنه يجعل من الممكن الاستغناء عن استخدام محرري الواجهة المرئية المتخصصة عند إنشاء التغييرات في عناصر الواجهة وتحريرها وتقييمها.

في الوقت نفسه، لا يتطلب Blueprint أي تغييرات على GTK، فهو يكرر تمامًا نموذج عنصر واجهة المستخدم GTK ويتم وضعه كوظيفة إضافية تجمع العلامات في تنسيق XML القياسي لـ GtkBuilder. وظيفة Blueprint هي نفسها تمامًا مثل GtkBuilder، فقط طريقة تقديم المعلومات مختلفة. لترجمة مشروع إلى Blueprint، ما عليك سوى إضافة استدعاء blueprint-compiler إلى البرنامج النصي للإنشاء دون تغيير الكود. باستخدام جتك 4.0؛ القالب MyAppWindow: Gtk.ApplicationWindow { title: _("عنوان تطبيقي"); [شريط العنوان] HeaderBar header_bar {} Label { Styles ["heading"] label: _("Hello, World!"); } }

تم تقديم Blueprint، وهي لغة واجهة مستخدم جديدة لـ GTK

بالإضافة إلى المترجم إلى تنسيق GTK XML القياسي، هناك أيضًا مكون إضافي يدعم Blueprint لبيئة التطوير المتكاملة GNOME Builder قيد التطوير أيضًا. يتم تطوير خادم LSP (بروتوكول خادم اللغة) منفصل لـ Blueprint، والذي يمكن استخدامه للتمييز وتحليل الأخطاء والتلميحات وإكمال التعليمات البرمجية في برامج تحرير التعليمات البرمجية التي تدعم LSP، بما في ذلك Visual Studio Code.

تتضمن خطط تطوير Blueprint إضافة عناصر برمجة تفاعلية إلى العلامات، ويتم تنفيذها باستخدام فئة Gtk.Expression المتوفرة في GTK4. الطريقة المقترحة مألوفة أكثر لمطوري واجهة الويب JavaScript وتسمح لك بتحقيق المزامنة التلقائية لعرض الواجهة مع نموذج البيانات المرتبط، دون الحاجة إلى فرض تحديث واجهة المستخدم بعد كل تغيير في البيانات.

المصدر: opennet.ru

إضافة تعليق