Artyom Kulakov و Roma Choryev هم مطورو Redmadrobot ويقومون بتسجيل البودكاست حيث يناقشون الجوانب المختلفة لإنشاء منتجات تكنولوجيا المعلومات. في الحلقة الحادية عشرة ، يشارك الضيوف تجربتهم ونكات الدعابة - Dima Suzdalev ، Android Tech Lead KODE و Vasya Chirvon ، رئيس ممارسات Android في Redmadrobot SPB.
نرفق رابطًا لأحدث إصدار وتوقيت وإجابات على العديد من الأسئلة المهمة.
- 1:58 - تحدث Vasya Chirvon عن كيفية دخوله في تطوير Android.
- 03:25 - والآن ديما سوزداليف عن طريقه.
- 14:52 - أين عنوان منصة Android.
- 25:05 - هل من الصعب تطوير تطبيقات Android.
- 34:30 - هل من الصعب أن تصبح مطور Android جيداً من مطور iOS.
- 58:01 - قليلا عن Jetpack Compose.
- 01:02:02 - قليلا عن هيلت.
- 01:03:15 – : KMM/Flutter – ?
- 01:20:02 – UI .
- 01:27:14 – .
– Android-
طبعا هناك صعوبات ومشاكل ولكن هذا هو نفسه في أي مهنة.
أشارت Dima Suzdalev إلى أن تجربة مطور Android تدور حول حقيقة أنك تعرف "إلى أين لا تحتاج إلى الذهاب". حسنًا ، إذا وصلت إلى المكان الخطأ ، فأنت تعرف كيفية الالتفاف على هذا "المكان الخطأ".
لكن روما قارن تطوير Android بالمشي في سلاسل (سلاسل حديدية ثقيلة): يمكنك المشي ، ولكن إذا جاز التعبير ، فهذا مؤلم. على سبيل المثال ، استشهد بموقف مألوف لأي مطور عندما يتوقف عنصر تتوقع منه السلوك الطبيعي فجأة عن العمل. أو ، على سبيل المثال ، يحدث هذا بشكل عام فقط على جهاز معين ("مرحبًا" بأسطول من آلاف الأجهزة الصينية).
أو إليك كيفية حدوث ذلك: لنفترض أن Google بها خطأ في واجهة برمجة التطبيقات التي تعمل بطريقة معينة. أنت معتاد على هذا بالفعل ، لا تنسَ عمل حل بديل والتعايش معه في جميع المشاريع. لكن فجأة ، في مرحلة ما ، يصلح Google هذا الخطأ ، والآن كل ما فعلته من قبل يكسر التطبيق. ومرة أخرى عليك أن تفعل شيئًا حيال ذلك.
التطوير مشابه لـ Lego - صعب أحيانًا ، لكنه رائع! أنت تجلس وتبني. وقد أعجبك ذلك ، لأنه إذا كنت لا تحب Lego ، فلن تلعبه ؛)
حول العناصر الجديدة في مجال تطوير Android
في الآونة الأخيرة ، كل عام تقريبًا ، قدمت Google العديد من الأشياء المفيدة للمطورين: Jetpack Compose ومكون التنقل ومتجر البيانات وبيانات اعتماد هوية الأمان الأخرى.
قال ديما إنه يحب نهج Google في تطوير Jetpack Compose. لقد جربها بالفعل ولاحظ بشكل خاص الأدلة والوثائق الممتازة ، حيث تم شرح كل شيء وهناك أمثلة على الكود.
بالنسبة لمكون التنقل ، تثبت هذه المكتبة نفسها كأداة للتطبيقات غير المعقدة. بمساعدتها ، يمكنك التنقل بسرعة وإدارتها بشكل جيد. لاحظ الرجال أنه سيكون من الجيد جدًا أن تضيف Google إنشاء رسم بياني سريع هناك.
مناقشة تفصيلية لـ Dagger / Hilt and Anvil من 01:02:02.
ليست Google وحدها (تستطيع Huawei ، ولكن قليلاً)
في عالم Android المجاني ، لا توجد Google فقط ، التي تعرضت للتوبيخ في الاستوديو. هناك أيضًا شركة Huawei ، التي خلقت سابقة مثيرة للاهتمام في السوق.
من لا يعرف: لقد صنعت Huawei نظائرها الخاصة لخدمات Google ، بالإضافة إلى ذلك ، تم نسخ واجهة مختبر الرموز تقريبًا واحدًا إلى واحد. استثمرت الشركة بكثافة في التسويق لتغطية القصة. خلاصة القول - في مبيعات هواتفها الذكية ، دخلت Huawei القمة ، متجاوزة حتى "العمالقة العملاقة" Apple و Samsung. ومع ذلك ، كان هذا يرجع أساسًا إلى السوق الصينية ، من المؤكد أن روما.
تجدر الإشارة إلى أن هذا الموقف يفتح فرصًا معينة: إنه أمر جيد عندما يكون هناك خيار وليس هناك Google فقط. إذا بدأت الشركات الكبرى الأخرى في تقديم بدائل لخدمات Google Play ، فسيكون ذلك مفيدًا للجميع. لكن هذا سيضيف حتمًا مشاكل للمطورين ، على سبيل المثال ، مع التجزئة. سيجعلك ظهور الخدمات الثانية والثالثة وما إلى ذلك تعرف عشرة أنواع من نفس النوع.
بضع كلمات حول التطوير عبر الأنظمة الأساسية
إلى جانب تطوير Android و iOS ، يتطور عالم منفصل وكبير إلى حد ما من تطوير الأنظمة الأساسية.
لديها كل من الأساليب التقليدية التي لا تزال تعمل ، واثنين من المنتجات الجديدة التي تمت مناقشتها بنشاط كبير داخل المجتمع على مدى العامين الماضيين. إنه يتعلق بـ Flutter و Kotlin Multiplatform.
ما مدى ملائمة وقابلة للتطبيق؟ قرر الضيوف في الاستوديو بالإجماع أن "Flutter مفقود Kotlin". مزيد من التفاصيل من 01:15:27.
بنيت وصُنعت: هندسة تطبيقات Android
اليوم ، لتصميم تطبيق ، لا يكفي مجرد استخدام بنية تقليدية ، بل تحتاج إلى إلقاء نظرة على مهام عمل محددة وإنشائها بنفسك من البداية.
يقول أرتيم: "بالطبع ، يجب أن تضع في اعتبارك مناهج التصميم العامة ، ولكن" لا يجب أن تضع بومة على الكرة الأرضية ". إذا كانت مهام العمل لا تتناسب مع النظافة المعتادة و MVVM ، فلا داعي لاستخدامها. هذا كل شئ.
من المهم أن نفهم أن الهندسة المعمارية ليست دليلًا ، ولكنها مجموعة من الحلول التي يمكن تطبيقها في العمل. أوضح فاسيا تشيرفون الأمر بهذه الطريقة: "أنت تعلم أن البلاطة يجب أن يكون لها وزن معين حتى لا تسحق الجدران ، أو يجب أن تكون الجدران قوية بما يكفي لتحملها. وللبناء ، عليك أن تضع هذه القواعد في الاعتبار ".
هذه كلها مسألة خبرة ، لذلك إذا لم يفهم المطور حقًا ما هي الهندسة المعمارية التي يجب القيام بها ، فإن الأمر يستحق التشاور مع صديق أكبر سنًا. لكن ، بالطبع ، ليس مع شخص يقول: "قم بعمل MVVM ، هذا رائع."
للحصول على حلول معمارية فعالة ، تحتاج إلى قراءة العديد من الكتب حول تصميم النظام من أجل فهم المواقف التي يمكن أن تتغير فيها الحلول وكيفية تطبيقها. إقرأ المزيد عن الكتب من 01:35:06.
مواد مفيدة
- ذكري المظهر. النظافة ميتة. انت مخطئ؛
- السندان - البرنامج المساعد لتبسيط استخدام التطبيق الخاص بك.
- حديث ريتش هيكي عن Simple vs Easy ؛
- فلسفة تصميم البرمجيات - كتاب عن تصميم البرمجيات ، وتحديد تعقيدها ، ومقاربات الاختزال ، وتعريفات واضحة ومقروءة ؛
- نظرة عامة رائعة على المشكلات المعمارية مثل الأنماط وكيفية حلها ؛
- . ;
- - ;
- HMS Redmadrobot SPb.
« »
استمع إلينا أينما كان ذلك مناسبًا: YouTube و Soundcloud و Apple Podcasts و Google Podcasts ، فلنناقش
الحلقة في محادثة Telegram .