DevOps المحمول في الممارسة

مرحبا يا هبر! نحن اليوم نشارك معك دليلًا بسيطًا ومفهومًا حول كيفية تطبيق Mobile DevOps. بالإضافة إلى الدليل الورقي ، يمكنك أيضًا العثور على تسجيلات فيديو لورشة العمل التي تحمل الاسم نفسه ، والتي تغطي كل جانب من جوانب DevOps فيما يتعلق بالتنمية المحمولة.



أعطي الكلمة للمؤلف ، فياتشيسلاف تشيرنيكوف.

DevOps للجوال: دليل للعمل


تحياتي لك أيها القارئ. مر الصيف مرة أخرى بسرعة المذنب ، ومع فصل الخريف ، حان الوقت للعودة إلى 150٪ من الإنتاجية. في الربيع ، أعدت أنا ومايكروسوفت دليلاً بعنوان "Mobile DevOps in Practice" حول كيفية أتمتة عملية تطوير تطبيقات الأجهزة المحمولة إلى أقصى حد. فيما يلي صحيفة وقائع من الدليل الكامل.

1. حول DevOps


1.1 حول ثقافة DevOps


DevOps نفسها تمشي ببطء حول الكوكب في احتضان مع تقنيات الإدارة المرنة. ومع ذلك ، إذا نظرت أعمق قليلاً ، فإن DevOps هو في المقام الأول ثقافة يعمل فيها الفريق بأكمله الذي يعمل على تطوير وصيانة نظام تكنولوجيا المعلومات ككل. هو التواصل داخل الفريق المطلوب لبناء تفاعل صحي بين الأعمال والمبرمجين ومسؤولي النظام والمختبرين.

العنصر الثاني المهم في أي عملية DevOps هو تدريب الفريق. في عالم مثالي ، يجب أن يتعلم الفريق (بدءًا من العمل) كيفية تلبية احتياجات المستخدم النهائي بشكل أفضل ، وخلق قيمة للمستهلك. ولكن في الممارسة العملية ، يجب تعلم "القيمة" أيضًا لحساب واستخلاص النتائج المختصة من ذلك. للتدريب ، على أي حال ، مطلوب ردود فعل من المستخدمين الحقيقيين. مثل هذا الاتصال هو أنظمة مراقبة مستمرة من أجل استمرارية أنظمة تكنولوجيا المعلومات ومجموعة متنوعة من أنظمة التسجيل.

ولكي لا يكون DevOps هذا موجودًا فقط في أذهان المطورين ، يجب تطبيقه باستخدام أدوات مناسبة لاحتياجات المهمة. جزء من ثقافة DevOps هو الرغبة في أتمتة الأنشطة الروتينية. وهذا يجعل عملية تطوير وتطوير أنظمة تكنولوجيا المعلومات أقل إيلاما وأكثر كفاءة.

1.2 ما الفرق بين DevOps و Mobile DevOps


ظهر DevOps نفسه كمقاربة للفرق والشركات الكبيرة التي تعمل على أنظمة تكنولوجيا المعلومات الكبيرة التي تتكون من عدد كبير من الوحدات ، غالبًا ما تتم كتابتها بلغات برمجة مختلفة ومصممة لبيئات وقت التشغيل المختلفة. ومع ذلك ، عندما أصبح المصطلح والنهج أكثر شيوعًا ، بدأ DevOps في التكيف مع فرق مختلفة لحل مجموعة واسعة من المشاكل.

في أغلب الأحيان ، يرتبط DevOps بمنتجات رقمية كبيرة ، يتم تطويرها وصيانتها بواسطة العشرات والمئات وأحيانًا الآلاف من المتخصصين. لقد طورت العديد من الفرق بالفعل ممارساتها وأدواتها الخاصة لدعم عملية DevOps - نظام التجميع التلقائي والاختبار والنشر والمراقبة. عادة ، يتم إنشاء كل هذا على بنيتها التحتية الخاصة بها ، ولكن أدوات السحابة CI / CD تتطور بنشاط أيضًا.



الشكل 1. الفرق بين DevOps للجوال و Enterprise DevOps

كل هذا لا يرتبط كثيرًا بتطوير تطبيقات الهاتف المحمول. Mobile DevOps هو إصدار "أصغر" من DevOps العادي ، نظرًا لأن تطبيقات الجوال هي في الأساس واجهة ملائمة للتفاعل مع أنظمة تكنولوجيا المعلومات الخارجية. النطاق الأصغر للفريق ، ومشاكله المحددة الخاصة بالتطبيقات المحمولة (انظر الشكل 1):

  • - منصات مختلفة ؛
  • - أجهزة متنوعة.

1.3 التوثيق الموحد ولغة واحدة


لكي يعمل DevOps وكان هناك تفاعل حقيقي بين الفرق ، تحتاج إلى لغة واحدة ووثائق عمل واحدة ، مفهومة لجميع المشاركين. هنا ، لا يوجد نهج يعطي إرشادات واضحة ، والأنظمة كلها مختلفة. ومع ذلك ، فإن الوثائق التي تعيش مع المشروع دورة الحياة الكاملة وهي أداة للتواصل والتفاعل الجماعي.



الشكل 2 الشكل 2. وثائق العمل

يمكن لوثائق العمل المختصة تبسيط وتسريع تطوير المشروع. يتم وصف هذه العملية بمزيد من التفصيل في دليلنا رقم 2 " التصميم الفني لتطبيقات الجوال ".

هنا سنحدد الوثائق الرئيسية (انظر الشكل 2):

- قائمة الشاشات.
- خريطة التحولات والدول ؛
- جدول الشاشات.

من المهم استخدام التسمية والترقيم من طرف إلى طرف في هذه المستندات. هذا ما يبسط ويسرع عملية التواصل داخل الفريق. عامل مهم آخر هو الامتثال "رمز التوثيق" ، الذي يوضح اتصال الأعمال مع المطورين.

2. ميزات موبايل CI / CD


لذا ، قررنا ثقافة التفاعل ووثائق العمل ، والآن يمكننا الانتقال إلى الدعم الفعال في شكل خط أنابيب CI / CD. لمزيد من العمليات التي يمكنك أتمتة ، كان ذلك أفضل.

2.1 مشاكل تطوير الجوّال


يحتوي تطوير الهاتف المحمول على 3 مجالات مشكلة متميزة:

  • أنظمة تشغيل مختلفة وإصداراتها. يجب أن يعمل التطبيق بشكل صحيح على مجموعة واسعة من أنظمة التشغيل المختلفة ، ولكل منها خصائصها وحدودها الخاصة.
  • خيارات مختلفة لهندسة المعالج المركزي. أجهزة الهواتف الذكية والأجهزة اللوحية تتحسن باستمرار ، ولكن لا تنسى "كبار السن" قبل خمس سنوات ، والتي قد تكون في أيدي المستخدمين الحقيقيين.
  • دقة شاشة مختلفة للأجهزة. بغض النظر عن عدد وحدات البكسل أو نسبة العرض إلى الارتفاع ، يجب أن يتم عرض واجهة تطبيق الجوال بشكل صحيح على جميع الأجهزة.

بشكل عام ، لا غنى عن الاختبار والتصحيح على أسطول كبير من الأجهزة الحقيقية.

2.2 ما يمكن اختباره تلقائيًا


في الممارسة الحقيقية ، من المستحيل الاستغناء عن الاختبار اليدوي على الهواتف الذكية أو الأجهزة اللوحية. ومع ذلك ، يمكن بسهولة تغطية جزء من الشفرة عن طريق الاختبارات المؤتمتة استنادًا إلى اختبار الوحدة (المشار إليه فيما يلي ببساطة اختبارات الوحدة). دعونا ننظر إلى البنية النموذجية لمعظم التطبيقات - الشكل 3.



الشكل 3. العمارة الكلاسيكية من ثلاث طبقات

اختبارات التغطية الكاملة من الحكمة إجراء اختبارات في اتجاهين:

  • اختبارات الوحدة (وظيفية ، تكامل) لطبقة الوصول إلى البيانات أو المستودعات.
  • اختبارات واجهة المستخدم (الوظيفية ، والانحدار) لطبقات منطق الأعمال وواجهة المستخدم.

لا يمكن تغطية كل شيء باختبارات الوحدة في التطبيقات المحمولة ، بالإضافة إلى أن ذلك يقلل من سرعة تطوير وتحديث النظام. بالنسبة لمرحلة اختبار الوحدة التلقائية لخط أنابيب CI / CD ، سيكون من المفيد تغطية آليات طبقة DAL التالية:

  • طرق الوصول إلى الواجهة الخلفية API
  • طرق الوصول إلى البيانات (المستودعات) ؛

إذا تحدثنا عن اختبارات واجهة المستخدم التلقائية ، فيمكننا اختبار ما يلي:

  • قابلية تشغيل التطبيق على الأجهزة الحقيقية ذات الخصائص اللازمة ؛
  • القدرة على تنفيذ سيناريوهات العمل الرئيسية.

استنادًا إلى نتائج اختبارات واجهة المستخدم ، يتم جمع لقطات الشاشة مع كل خطوة على كل جهاز ؛ وعلى أساسها ، يمكن لمهندس ضمان الجودة عرض التخطيط الصحيح للتطبيق يدويًا بدرجات دقة وأحجام شاشة مختلفة.

من الصعب تخصيص الملاءمة والنعومة للرسوم المتحركة وغيرها من الخصائص الخاصة بالمستخدمين للاختبارات الذاتية ؛ فمن الأفضل تركها للاختبار المباشر ومستخدمي الإصدار التجريبي.

نهاية صحيفة الوقائع.



مواد مفيدة


كتاب موبايل DevOps في الممارسة




النسخة الرقمية الكاملة من الدليل الورقي "Mobile DevOps in Practice" .

مواد فيديو لورشة العمل "Mobile DevOps in Practice" (4 أجزاء لمدة 3.5 ساعة)


الجزء الأول




الجزء 2




الجزء 3




الجزء 4




قمة DevOps


أود مناقشة Mobile DevOps مباشرة أو طرح أسئلة - يسعدني أن أراك في Microsoft DevOps Summit في 13 سبتمبر في موسكو ( تسجيل ) أو في أيام DevOps في 14-15 سبتمبر في قازان ( المزيد ).

كما هو الحال دائمًا ، سأكون ممتنًا للتعليقات والأسئلة في التعليقات! ابق على اتصال!

عن المؤلف


فياتشيسلاف تشيرنيكوف هو رئيس قسم التطوير في Binwell و Microsoft MVP ومطور Xamarin المعتمد. في الماضي ، كان أحد أخصائيي Nokia Champion و Qt Certified Specialist حاليًا متخصصًا في منصات Xamarin و Azure. دخل مجال الهواتف المحمولة في عام 2005 ، منذ عام 2008 وهو يعمل على تطوير تطبيقات الهاتف المحمول: بدأ مع Symbian و Maemo و Meego و Windows Mobile ، ثم انتقل إلى iOS و Android و Windows Phone.

يمكنك أيضًا قراءة مقالات Vyacheslav على مدونة Medium .

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


All Articles