2020 الحاجة إلى التركيز على خمسة تطوير التكنولوجيا الروبوت الكبرى

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

من بين العديد من فريق تطوير الروبوت حضر Droidcon لندن 2019 المؤتمر سلسلة من الابهار التكنولوجيا الجديدة. يمكن الوصول إليها من الغيتار ذكي جو بيرش مقدمة لمكتبة Jetpack ليؤلف القادمة، والمحتوى المبتكر كثيرا، وتحتاج المجتمعات السائدة إلى العثور على عدد قليل التكنولوجيات الأساسية أنها لن تضيع.

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

1. Kotlin

وغالبا ما ينظر Kotlin كما جافا المقبل، الذي يتكون من غوغل وJetBrains (مطوري أندرويد ستوديو) رعايته. كان جافا منذ البداية اللغة التي يختارونها لتطوير تطبيقات الروبوت، ولكن في السنوات الأخيرة انتشار السريع للKotlin، وهناك الآن ما يقرب من 60 في استخدام Kotlin 10000 التطبيقات في Google Play. بالرغم من أنه في حالة وجود حاجة الأقلية للوصول إلى التعليمات البرمجية الأصلية الكامنة، وسوف تستمر في استخدام C ++، ولكن في حالات أخرى، Kotlin يمكن الاستعاضة عن جافا.

والميزة الرئيسية لKotlin هي قابلة للتشغيل المتبادل تماما مع جافا، مما يعني أنه يمكن للمطورين تهاجر كود إرث قدر الإمكان، بدلا من إعادة كتابة تماما التطبيق بالكامل. اللغتين بشكل جيد للغاية متوافقة، يمكن أن الروبوت ستوديو التبديل تلقائيا حتى من جاوة إلى Kotlin.

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

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

حاليا Kotlin كود Candyspace تستخدم في 86 (قد نما نموا)، 14 المتبقية من التعليمات البرمجية فائدة / التحويل التي التغييرات لم تكن لعدة سنوات من قبل.

2. Jetpack ل

مكتبة AndroidX / Jetpack لغوغل هي عبارة عن مجموعة من المرافق تهدف إلى تبسيط احتياجات التطبيق المشتركة. غرفة مثلا لقاعدة بيانات الجهاز، أو تغير البيانات الأساسية لتحديث LiveData عرض المحتوى.

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

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

في Candyspace، ونحن نستخدم ربط البيانات وViewModel، ويمكن أن تنضم قريبا غرفة والملاحة.

3. تصميم وحدات

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

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

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

مثال على تطبيق الهندسة المعمارية وحدات (المصدر: صاحب البلاغ خلق!)

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

في Candyspace والتطبيقات لدينا هي تماما تصميم وحدات، وذلك للحد من تأثير على الاوقات بناء أعمال التطوير توقف.

4. التطبيقات حزمة

مع ستوزع تطبيق APK التقليدي لأجهزة المستخدم، يجب أن يتم تثبيت جميع الموارد جاهزة لجميع المعدات. وهذا يعني أن كل صورة نقطية قد يكون خمس نسخ (للدقة الشاشة مختلفة)، ولكن أيضا لتثبيت إصدارات متعددة من المكتبات لأبنية الجهاز المختلفة، وحتى كان لتثبيت مجموعة من الهوامش والقيم الحشو.

عند توزيع تطبيق باستخدام حزمة التطبيقات، تحميل APK أنها تحتوي على موارد مطلوبة في الواقع فقط. ونتيجة لذلك، سيتم تخفيض متوسط حجم الطلب بنسبة 20، في حين أن التطبيق غير المحسنة بعد تغيير شكل التطبيق سوف يكون الحد أكثر أهمية الحجم.

تقليل حجم التطبيق نموذج (المصدر: https://events.google.com/io2018/)

التطبيق حزم ولدت للتو قبل 18 شهرا، ولكن قد استخدمت هذا الشكل لتثبيت أكثر من 25 من الطلبات! هذا هو الشكل الموصى بها جوجل، ومعظم التطبيقات تكون قادرة على استخدام هذا الشكل تقريبا دون تغييرات، فقط تعامل مع ما التطبيقات حزمة التوقيع يمكن أن يكون على متجر Play.

في Candyspace، نحن الهجرة إلى التطبيق حزم، بينما كان يحاول تجنب تدمير إجراءات العمل الموجودة لدينا (سلاك، بناء QAing، وتركيب بخلاف Google Play). المادة اليستير سايكس هي هجرة كبيرة من مرجع، تأخذ بعين الاعتبار المادة خادم CI، سلاك وجوجل تقاسم اللعب تطبيق الداخلي وغيرها من المسائل.

5. اختبار

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

اختبار الهرم (المصدر: developer.android.com)

الروبوت في معظم ثلاثة أنواع شائعة من الاختبارات (تنازليا):

  • اختبار وحدة، على سبيل المثال: I الجذر التربيعي وظيفة عوائد الجذر التربيعي من ذلك؟

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

  • التكامل الاختبار. على سبيل المثال: يمكن بلدي وحدة الرياضيات العمل مع افعل حدة الموقف؟

هذه الاختبارات ضمان بأن ما تتمتعون به رموز المنطقة المعنية (وحدات أو طبقات) يمكن أن تعمل بشكل صحيح. يمكن معرفة مكونات التواصل مع بعضهم البعض تطبيقها بشكل صحيح، يمكنك إضافة ...

  • UI التشغيل الآلي للاختبار، على سبيل المثال: يمكن للمستخدم وضع علامة على موقف بعد على الطلب؟

سيتم تشغيل هذه الاختبارات فقط على الجهاز أو المحاكي، ويمكن التأكد من أن التطبيق يوفر للمستخدم تجربة كاملة كما هو متوقع. هذه الاختبارات عادة ما تكون أبطأ بكثير من الأنواع الأخرى من الاختبارات (وتشغيل أكثر غير مريح).

جوجل سوف يوصي بتوزيع اختبار معين هو 70 من وحدة الاختبار، اختبار التكامل 20 و 10 من اختبار على نطاق واسع، تمثل جزءا صغيرا نسبيا من الحاجة إلى وقت التنفيذ أطول، وقت الصيانة ووقت التنفيذ.

المورد أفضل اختبار هو الوثيقة الرسمية، حيث أنه يوفر وصفت جميع أنواع الاختبار، وكيفية تطبيق البرنامج التعليمي للمشروع.

في Candyspace، سوف نركز على وحدة الاختبار، والتي تمثل نسبة أكبر من المقترح جوجل للتأكد من أن جميع فئات جديدة من السلوك غير متوقعة. ونحن حاليا في اختبارات محسنة UI التلقائي، لتقليل الاعتماد على دليل الاختبار.

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

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

هوبى الصليب الأحمر سكرتير الحزب وعوقب الآخر ثلاثة أشخاص

ليلة ووهان للبدء في بناء المستشفى مأوى، وقد استخدم جيش التحرير الشعبى الصينى فى ونتشوان

مستشفى فولكان هيل الدفعة الأولى من المرضى الذين عولجوا دخلت جناح

التركيز Shanting العلمانيين الوقاية من الاوبئة والحروب السيطرة، ومبادرة تنمية الحرب الاقتصادية

مو مسقط: تطوير الخشب والحجر بلدة قفزة

استأنف مكتب شيويه تشنغ الإسكان وتدابير أكثر صرامة خلال تفشي شركات البناء إنتاج معقدة خارج الملعب

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

استأنفت الهيئة العامة للرقابة تساوتشوانغ سوق المدينة السيطرة الكاملة دعم الشركات في السوق مجمع لإنتاج

وأضاف جينان عدد من المدارس بما فيها رياض الأطفال والمدارس الابتدائية والثانوية، التي تنطوي على المدينة في تقويم المقبل

الأمن السكنية الاختلاس حتى، سرقة السيارات الكهربائية سكان حي

نتائج خطابات | NetDragon 2019 الإيرادات وفقا للتوقعات، الألعاب مساهمة الإيرادات من القطاع خلال السنوات الثلاث الأولى من التعليم

الوعي الضريبي شهر | يني الشهر الماضي لتعلن المقاطعة الأولى المتعلقة بالضرائب، يفترض بنا أن؟