أفالونيا بلدي إيجابيات وسلبيات

أكتب كثيرًا عن أفالونيا وأحب هذا الإطار غالبًا ، لكن مثل أي تقنية ، لها مزاياها وعيوبها ، وأود التحدث عنها.


أفالونيا


ما هذا؟ بادئ ذي بدء ، إنه إطار عمل واجهة المستخدم الرسومية 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 # هنا ، ولأفاليا هنا .

Source: https://habr.com/ru/post/ar471728/


All Articles