عن المشروع

Iced هي مكتبة واجهات رسومية عبر المنصات للغة Rust تركز على البساطة وسلامة الأنواع، مستوحاة من Elm وبنية Elm. توفر واجهة برمجة تطبيقات شاملة لبناء تطبيقات سطح المكتب والويب الأصلية. تشمل الميزات الرئيسية واجهة برمجة تطبيقات بسيطة وسهلة الاستخدام؛ نموذج برمجة تفاعلي آمن من حيث الأنواع؛ دعمًا عبر المنصات لنظامي Windows وmacOS وLinux والويب؛ تخطيطًا متجاوبًا؛ أدوات مدمجة مثل حقول إدخال النص والعناصر القابلة للتمرير؛ دعمًا للأدوات المخصصة؛ أدوات تصحيح أخطاء مع مقاييس أداء وتنقل عبر الزمن؛ ودعمًا من الدرجة الأولى للإجراءات غير المتزامنة باستخدام futures. النظام البيئي معياري، مقسم إلى أجزاء قابلة لإعادة الاستخدام: وقت تشغيل أصلي مستقل عن العارض يتيح التكامل مع الأنظمة الحالية؛ عارضان مدمجان يستندان إلى wgpu (يدعم Vulkan وMetal وDX12) وtiny-skia (حل برمجي احتياطي)؛ وواجهة نافذة. باتباع بنية Elm، تُنظم التطبيقات حول أربعة مفاهيم: الحالة (State)، والرسائل (Messages) وهي تفاعلات المستخدم أو الأحداث، ومنطق العرض (View logic) الذي يعرض الحالة كأدوات تولد رسائل، ومنطق التحديث (Update logic) الذي يتفاعل مع الرسائل ويحدّث الحالة. يتضمن ملف README مثالًا كاملًا للعداد يوضح هذا النمط. أُنشئت Iced في الأصل كمحاولة لجلب بساطة Elm إلى مكتبة ألعاب ثنائية الأبعاد، مع تنفيذ النواة في مايو 2019. ومنذ ذلك الحين تطورت إلى مكتبة واجهات رسومية موجهة للمستخدم النهائي مع الحفاظ على معيارية النظام البيئي. المشروع حاليًا برمجيات تجريبية، مع خارطة طريق ومتعقب مشكلات متاحين. التطوير مدعوم من فريق Cryptowatch في Kraken.com.