أعزائي القراء ، يسرنا أن نقدم كتاب "تطوير تطبيقات الأجهزة المحمولة في C # لنظامي التشغيل iOS و Android" من المؤلف والخبير في Xamarin ، فياتشيسلاف تشيرنيكوف من بينويل ، الذي هو معروف لك بالفعل. بدون مقدمات طويلة ، أنقل الكلمة إلى المؤلف.
مساء الخير ، عزيزي habrachitatel. خلال السنوات القليلة الماضية ، كتبت بعض المقالات والبرامج التعليمية حول تطوير تطبيقات الهاتف المحمول باستخدام C # وإطار Xamarin ، لكن في البداية تم اعتبار كل هذه الأدلة وجزءًا من المقالات بمثابة فصول من كتابي الأول ، والتي شهدت أخيرًا ضوء النهار. عند تجميعها في مجموعة واحدة (وهناك الكثير من الأشياء التي لم يتم نشرها من قبل!) ، ستؤدي مواد الكتاب إلى نقل عملية تطوير تطبيقات الهاتف المحمول إلى مستوى جديد تمامًا - بدءًا من اختيار أداة وإعداد الوثائق وأتمتة عملية التطوير وحل المشكلات الشائعة. تم تصميم هذا الكتاب كإضافة متناغمة لمواد Xamarin الموجودة بالفعل باللغتين الروسية والإنجليزية ، والتي تكشف عن قضايا مثل التصميم والهندسة المعمارية وإنشاء الهيكل العظمي (إطار) للمشروع ، وكل ذلك يبقى عادةً وراء الكواليس لمعظم الكتب والدورات التدريبية .
يغطي الكتاب بالتفصيل مع عدد كبير من أمثلة التعليمات البرمجية المواضيع التالية: مقارنة بين الأدوات الأصلية وعبر الأنظمة الأساسية باستخدام Xamarin و ReactNative و PhoneGap و Qt و Flutter كأمثلة ؛ التصميم والوثائق الفنية للرمز ؛ بنية وهيكل المشروع ، نضع كل شيء في مكانه ؛ DevOps المحمول وأتمتة التجميع والاختبار والتسليم والرصد ؛ نصيحة عملية لكل يوم.

يمكن شراء الكتاب على الموقع الإلكتروني لدار النشر "
DMK Press " (الخيار الأرخص!) والمتاجر عبر الإنترنت
Labyrinth و
My-Shop.ru و
Flip.kz و
Oz.by ، بالإضافة إلى المتاجر الأخرى عبر الإنترنت ، يزيد عددهم مع توزيع الكتاب .
بالنسبة للبذرة (وبموافقة الناشر) سأقدم جزءًا من الفصل 3.
3. تطبيق العمارة
لذلك ، تعرفنا بالفعل على كيفية عمل Xamarin.Forms وكيفية تنفيذ التصميم الفني من تلقاء أنفسنا. الآن لدينا فهم لنموذج المجال ، وقد حان الوقت للانتقال إلى بنية وهيكل الحل - كيف سنقوم بتوزيع فئاتنا في مجلدات حتى يكون من السهل العثور على الكود الضروري لاحقًا.
3.1. متعدد الطبقات MVVM
في تطبيقات الأجهزة المحمولة ، يتم استخدام بنية متعددة الطبقات بشكل تقليدي مع فصل طبقات الوصول إلى البيانات ، وطبقة منطق الأعمال ، وطبقة عرض واجهة المستخدم.

التين. 3.1. العمارة الثلاثية الكلاسيكية
نظرًا لأن النموذج المعماري MVVM أصلي لـ Xamarin.Forms ، يوصى باستخدامه في تطبيقات الأجهزة المحمولة. تصف MVVM العلاقة بين طريقة العرض (عادة ما تكون شاشات التطبيق هي الصفحة) و ViewModel و Model.

التين. 3.2. نمط MVVM
وبالتالي ، فإن البنية النموذجية للتطبيق على أساس Xamarin.Forms ستكون على النحو التالي:

التين. 3.4. بنية التطبيق الأساسية على Xamarin.Forms
في هذا الكتاب ، سوف نركز على الهندسة المعمارية المقدمة ، نظرًا لأنه كلاسيكي في Xamarin.Forms. سيتم وصف كل وحدة من الوحدات بمزيد من التفصيل في الأقسام التالية.
3.2. تحلل الطبقات
إذا تذكرنا الأساسيات ، فسيكون البرنامج عبارة عن مجموعة من الخوارزميات والبيانات. تطبيقات الهاتف المحمول ليست استثناء. تسمح لك البنية بفصل الخوارزميات والبيانات لأغراض مختلفة عن بعضها البعض.
في تطبيقات الأجهزة المحمولة ، يمكن تمييز الأنواع التالية من الخوارزميات بشكل مشروط:
- التحكم في سلوك ومظهر مكونات واجهة المستخدم (واجهة المستخدم ، واجهة المستخدم) ؛
- سيناريو تفاعل المستخدم وسيناريوهات العمل (منطق الأعمال ، BL) ؛
- منطق الحصول على البيانات وتخزينها وتحويلها (طبقة الوصول إلى البيانات ، DAL) ؛
- وظيفة النظام الأساسي غير المرتبطة بواجهة المستخدم (النظام الأساسي).
- هناك أيضًا العديد من الخوارزميات الإضافية مثل تهيئة التطبيق أو الفصول والإضافات الإضافية الإضافية (الامتدادات) ، لكنها ليست سهلة التصنيف ، حيث إنها خاصة بالمشروعات والفرق والمكتبات المحددة.
- يظهر هيكل مشروع فارغ على Xamarin.Forms أدناه. علاوة على ذلك ، من المهم أن تفهم المجلدات التي تضع الملفات فيها ، بحيث تظل الشفرة بسيطة.

التين. 3.5. هيكل مشروع فارغ على Xamarin.Forms
إذا تابعنا كيفية الحفاظ على الكود "في حالة جيدة" (الحد الأدنى للديون الفنية) ، فمن المهم أن يتبع الفريق اتفاقات موحدة. فيما يلي سننظر في مثال على فصل الفئات في مجلدات ، والتي سوف تتوافق مع البنية الموصوفة.
لكن أولاً ، دعنا نتذكر البيانات. من المهم أن نفهم أي منهم سيتم مناقشته. هناك بيانات تأتي من الخادم (كائن نقل البيانات ، dto) ، ولكن هناك بيانات تتم معالجتها في التطبيق (النماذج ، الكيانات ، كائنات البيانات). لاحظ أنه من الملائم أكثر تلقي البيانات الجاهزة على الفور من طبقة DAL بحيث يسهل التعامل معها بشكل أكبر. سنتحدث أكثر عن ذلك في القسم 3.5.
أيضًا ، في تطبيقات الأجهزة المحمولة ، لا توجد كمية كبيرة من البيانات التي تتطلب إنشاء نماذج سميكة ومنطق "تشويه" منطق تجاري عليها (نهج من أنظمة الشركات الكبيرة). يكفي POCO التقليدية (كائن قديم CLR عادي) دون أي منطق. لذلك ، تأتي جميع البيانات النهائية من طبقة DAL ، ويتم إخفاء فئات DTO التي لا تعرفها الطبقات الأخرى بداخلها. يوجد أدناه الفرق بين النماذج السميكة وكائنات POCO.

التين. 3.6. الفرق بين النموذج "الكثيف" وكائن POCO
علاوة على ذلك ، سنلتزم بالترميز التالي:
- كائنات البيانات - نماذج البيانات المسطحة (POCO) التي سيستمر منطق العمل في العمل معها.
- خدمات البيانات - خدمات الحصول على البيانات والتحول والتخزين.
- خدمات الأعمال - خدمات معالجة البيانات وسيناريوهات العمل.
- خدمات النظام الأساسي - خدمات للوصول المباشر إلى وظائف النظام الأساسي.
سأكون ممتنا لتعليقاتك والتعليقات ، والبقاء على اتصال!