أكتب كثيرًا عن أفالونيا وأحب هذا الإطار غالبًا ، لكن مثل أي تقنية ، لها مزاياها وعيوبها ، وأود التحدث عنها.
أفالونيا
ما هذا؟ بادئ ذي بدء ، إنه
إطار عمل واجهة المستخدم الرسومية xaml عبر الأنظمة الأساسية لإطار .net و .net الأساسية ومنصات أحادية .
ماذا تعني هذه الكلمات؟
Avalonia هي مجموعة من المكتبات التي تسمح لك بإنشاء تطبيق في إطارات وتشغيله على جميع أنظمة سطح المكتب الشائعة.
علاوة على ذلك ، سوف أقدم لكم ، أيها القراء ، تفكيري الشخصي ، لا أريد أن أنتقد / مدح Avalonia كتقنية منفصلة ، لكن ببساطة أتحدث عن المجمع بأكمله المتمثل في إنشاء تطبيق للكمبيوتر الشخصي باستخدام هذه التكنولوجيا.
ما يعجبني
أولاً ، سهولة البدء ، إذا كنت معتادًا على تقنيات .net مثل wpf \ uwp ، فلن يستغرق الأمر أكثر من 5 دقائق للحصول على Avalon. كل ما عليك القيام به هو تنزيل القالب من موقع Avalonia وإنشاء مشروع ، هذا كل شيء - لا ترقص مع الدف لإقامة مشروع Linux (
مرحباً ، إطار عمل شائع آخر ).
ثانياً ، دعم xaml - الكثير من الميزات المريحة تتبع من هذا: mvvm ، binders ، فصل العرض ومنطق العمل ، التصميم بواسطة ملفات منفصلة.
ثالثًا ، الاقتراض أو بعض التوافق (أطلق عليه ما تريد) مع wpf. هذا يعني أنه إذا لم تكن قد عملت مطلقًا مع Avalonia ، لكنك على دراية بـ wpf ، يمكنك فقط استخدام عناصر التحكم التي استخدمتها للعمل مع wpf ، وفي 90٪ من الحالات سيبدأ تطبيقك على الفور. هذا يعني أيضًا أنه لحل مشكلتك ، يمكنك إيجاد حل مشابه لـ wpf ، وفي معظم الحالات سوف يحل مشكلتك أيضًا.
رابعا ، الأساليب - أفالونيا كانت مستوحاة من المغلق إلى حد ما ، مما أدى إلى ظهور الطبقات والطبقات الزائفة أثناء الأسلوب ، مما سهل كتابة الأنماط وفهمها.
الخامس ، عبر منصة - وهذا يعني ، بمجرد كتابتها وتشغيلها في كل مكان. من المهم أن نلاحظ أن Avalonia يستخدم التقنيات الأصلية للعمل: Direct2D ، MonoMac ، إلخ. أيضًا ، تلتقط أفالونيا مشهد النظام:
سادسًا ، دعم المطورين: في غرف الدردشة ، باللغتين الإنجليزية والروسية ، يمكنك الاتصال مباشرة بالمطورين وعلى الأرجح سيجيبون على سؤالك.
ما لا يعجبني
أولاً ، ما زال إطارًا رطبًا ، وفي بعض الأحيان يمكنك العثور على أخطاء ، نعم ، لقد نمت أفالونيا كثيرًا على مر السنين وفي الوقت الحالي يمكن حل أي خلل (
مدعومًا بعكاز ) ، لكن يمكنك التحدث بالفعل عن ثبات التكنولوجيا ، كما يلاحظ المطورون أنفسهم - وصلت الى متجر المواد الغذائية.
ثانياً ، أداء ضعيف إلى حد ما ، أي كان لديّ مشروع حيوان أليف مضحك ، حيث رميت الآلاف من أدوات التحكم في نافذة واحدة ، وتعاملت مع wpf بهدوء (معايير 10 آلاف ، لم تختبر أكثر) ، أعطت أفالونيا أفاريز والأسوأ (أسوأ في مكان ما بواسطة عناصر 3k)
ثالثًا ، التكنولوجيا صغيرة - المجتمع صغير أيضًا ، لذا يمكنك أن تتعجب من حقيقة أن لا أحد قد حل المشكلة التي تواجهك.
ما افتقد في أفالونيا
أولاً ، من السهل تصميم حزم أنماط جاهزة مثل metro \ material ، ولكن في بعض الأحيان تريد استخدام الحزمة الجاهزة وعدم التفكير في الأمر.
ثانياً ، روابط الوسائط ، لا يوجد دعم عبر الأنظمة الأساسية للأصوات ومقاطع الفيديو ، وهذا غير مدرج ولن يتم تضمينه (على الأقل في المستقبل القريب) في مهام المطورين ، إذا كنت تريد صوتًا عبر النظام الأساسي - اكتبه بنفسك أو اسحب الغرباء.
ثالثًا ، دعم ميزات النظام الأساسي الحالية ، والتقليل إلى الحد الأدنى من الدرج ، وأيقونات الإشعارات في الاختصارات ، وما إلى ذلك ، ولكن هنا يجب أن تشيد بالمطورين - مع كل إصدار ، يتحسن الموقف بسرعة.
لتلخيص
هل Avalonia على استعداد للخروج - أعتقد ذلك ، ولكن ليس بالنسبة لي للحكم - حاول ذلك ، انظر. بعد كل شيء ، كما يقولون: "من الأفضل رؤية مرة واحدة بدلاً من سماع 100 مرة"
أود أن أقول شكراً لـ
WorldNeater ForNeVerولاحظ أنه يمكن العثور على الدعم لـ c #
هنا ، ولأفاليا
هنا .