عن المشروع

Floem هي مكتبة واجهة مستخدم أصلية بلغة Rust تركز على التفاعل الدقيق والكود الإعلاني المريح. يصفها ملف README بأنها مكتبة واجهة مستخدم إعلانية عالية الأداء مستوحاة من Xilem و Leptos و rui. يتم بناء شجرة العرض مرة واحدة، مما يقول المشروع إنه يتجنب إنشاء عائق غير مقصود في وظائف توليد العرض. كما يوفر أدوات مثل القائمة الافتراضية لكتابة كود واجهة مستخدم فعال. المكتبة متعددة المنصات لنظامي Windows و macOS و Linux. يمكن أن يستخدم العرض wgpu عبر vger أو vello، أو محرك Skia المدعوم بـ GPU من AnyRender. إذا لم يكن GPU متاحًا، يتم استخدام محرك عرض قائم على CPU يستند إلى tiny-skia. يستخدم التخطيط Taffy ويدعم كلًا من Flexbox و Grid على أي عقدة عرض. يتضمن Floem primitiveات تفاعلية تُدعى signals، مستوحاة من leptos_reactive، للحفاظ على تحديثات حالة الواجهة مستخدم قليلة وفعالة. يمكن تخصيص الويدجتس من حيث المظهر والسلوك عبر واجهة تنسيق تدعم الفئات والسمات. يمكن تثبيت سمات طرف ثالث. يدعم الانتقالات والرسوم المتحركة بإطارات رئيسية، مع تخفيف باستخدام وظائف الزنبرك. تشمل الميزات الأخرى المذكورة في README مفتش العنصر لتصحيح التخطيط، والسمة الفاتحة والداكنة العالمية، ونظام تصميم مدمج لإعلان السمات المخصصة، والتوطين عبر crate Fluent مع احتياطيات، وتبديل اللغة في وقت التشغيل، وتجاوزات لغة لكل جزء. يُظهر مثال بدء سريع عدادًا باستخدام RwSignal و Button و Label. يتم ربط الوثائق وأمثلة الكود، بما في ذلك معرض الويدجتس. يلاحظ المشروع أنه لا يزال ينضج وقد يجري تغييرات كاسرة عرضية قبل الإصدار v1. يُرحب بالمساهمات، ويتم توفير بيئة تطوير سحابية جاهزة للاستخدام من Lapdev.