في هذه السلسلة، نبني تطبيق قائمة مهام باستخدام Haskell وGTK 4 ومكتبة Adwaita. توفر Adwaita العديد من الأدوات والأنماط المفيدة. الجمهور المستهدف هو مبرمجو Haskell المتوسطون ذوو الخبرة في التطوير.
يقوم GTK 4 وAdwaita بتشفير قرارات إمكانية الوصول والأنماط لمشروع GNOME (إرشادات واجهة المستخدم البشرية). يمكّن Libadwaita التصميم المتجاوب وإعادة التلوين في وقت التشغيل عند التبديل بين السمات الفاتحة والداكنة. نستخدم مجموعة أدوات haskell-gi، التي تنشئ تلقائيًا روابط Haskell من مكتبات GTK، وترتبط بواجهة C API.
ننشئ تطبيق Adwaita Application الذي يدير إدارة الموارد. تقوم بنية Elm (TEA) بنمذجة البرنامج بثلاثة مفاهيم: Model (الحالة)، View (واجهة المستخدم)، وUpdate (تغييرات الحالة عبر Messages). Effects هي إجراءات جانبية يتم إرجاعها بواسطة Update.
يقوم تطبيق Todo بنمذجة كل شيء كهياكل بيانات. يتضمن Model خريطة للمهام ومعرفًا تاليًا. تمثل Messages تفاعلات المستخدم، وتتضمن Effects حفظ قائمة المهام على القرص. المشروع الكامل موجود على https://github.com/Floreal-Technologies/adwaita-todo.
الكيانات الرئيسية: الشركات: Floréal Technologies, GNOME
المصدر: Hacker News · لخّصه HeadlinesBriefing