GDGKISIIAPP
مستودع المنزل لتطبيق GDG Kisii Android Mobile.
أنشأنا تطبيق Android لإدارة مجتمع المطورين لدينا. يمكن الوصول إلى تحديثات أحداث المطورين والموارد والمتحدثين عبر تطبيق الهاتف المحمول.
وتشمل الميزات الرائعة
- التنقل السفلي
- علامة التبويب الملاحة
- عدد من واجهات برمجة التطبيقات بما في ذلك خرائط API
منهج الأساسيات Android الخاصة بي
- ممارسات البرمجة العامة
- مقدمة في أساسيات Android
- إتقان التخطيطات في Android
- بناء نظام - العمل مع Gradle
- الشبكات في Android
- تعليم تطبيقات Android الخاصة بك
- اختبار تطبيقات Android الخاصة بك
- إطلاق تطبيقات Android الخاصة بك
- تأمين تطبيقات Android الخاصة بك
- Android المتقدم
ممارسات البرمجة العامة
ممارسات البرمجة العامة التالية هي مفتاح البدء في حياتك المهنية الناجحة في التطوير. وتشمل هذه الممارسات:
- التحكم في المصدر (GIT) - التحكم في المصدر هو أداة لإدارة إصدارات الكود الخاص بك ، فهي رائعة لكتابة البرامج بشكل تعاوني.
- GIT Workflows - هناك العديد من الطرق المختلفة التي يتم بها إدارة البرنامج عند استخدام التحكم في المصدر. تشمل الأساليب الشائعة: سير عمل GITFLOW ، سير العمل المركزي ، سير العمل المركزي ، إلخ.
- التكامل المستمر - يضمن التكامل المستمر أن يتم إنشاء رمزك على خادم ليس جهازك الخاص. انظر إلى استخدام خادم بناء مثل Jenkins و BuddyBuild و Circle CI و Travis وما إلى ذلك
- طلبات السحب - تعتبر طلبات السحب طريقة رائعة للحصول على تعليقات مفصلة للغاية على الرمز الذي طورته.
- منهجيات Agile/Scrum - تتبع معظم فرق تطوير البرمجيات الحديثة منهجيات Scrum للعمل.
- أدوات جودة الكود - هناك العديد من الأدوات التي تستخدمها الشركات لقياس جودة الكود وصحة قاعدة الشفرة. مقاييس مثل عدد خطوط تغطية الاختبار أو مقدار الديون الفنية التي تحتوي عليها قاعدة الكود ، مرئية. بعض الأدوات التي يتم استخدامها بشكل متكرر: Sonar و FindBugs و CheckStyle و Android Lint.
مقدمة في أساسيات Android
هناك مجموعة من مواقع الويب التي توفر أساسيات البدء في تطوير Android. توصيتي هي اتباع الوثائق الرسمية لفهم الأساسيات.
بعض موارد البدء:
- أساسيات تطبيق Android
- بعض المكونات الرئيسية في Android: الأنشطة ، الشظايا ، الخدمات ، أجهزة استقبال البث.
- بيان تطبيق Android
- Code Lab - قم بإنشاء تطبيق Android الأول
إتقان التخطيطات في Android
هناك الكثير من أنواع التصميم المختلفة في Android ، من FrameLayout إلى Relativelayout إلى ConstraintLayout. تأكد من أنك مرتاح لأنواع التصميم الشائعة الاستخدام: FramElayout ، Relativelayout ، LinearLayout ، ConstraintLayout ، CoordinatorLayout.
موارد:
- دعم أحجام الشاشة المختلفة
- Code Lab - ConstraintLayout
- Code Lab - ComponatorLayout
نظام البناء - العمل مع Gradle
من المحتمل أن يكون العمل مع Gradle شيء يتم تجاهله عند تطوير تطبيقات Android. تأكد من فهم الأساسيات ، حتى أفضل - تعلم كيفية كتابة مهام Gradle الخاصة بك!
موارد:
الشبكات في Android
على الرغم من أن معظم وثائق Android لا تشير إلى التعديل التحديثي أو OKHTTP ، فإن هذه المكتبات الأكثر استخدامًا عندما يتعلق الأمر بالشبكات في Android. من الجيد أيضًا أن تكون على دراية بأدوات التنميط المختلفة المتوفرة في Android Studio.
موارد:
- فهم الخدمات المريحة
- RETROFIT-عميل HTTP آمن من النوع لنظام Android و Java
- OKHTTP - عميل HTTP & HTTP/2 لتطبيقات Android و Java
- Network Profiler في Android - أداة في Android Studio تتيح لك تعريف مكالمات الشبكة الخاصة بك.
- تشارلز بروكسي - مفيد لاعتراض مكالمات الشبكة أثناء الاختبار.
تعليم تطبيقات Android الخاصة بك
لسوء الحظ ، فإن كتابة التعليمات البرمجية والحصول على تطبيقك إلى التجميع ليست نهاية معرفة كيفية كتابة تطبيق Android قابل للصيانة. تحتاج تطبيقات Android واسعة النطاق إلى اتباع تصميمات معمارية جيدة حتى تكون قابلة للصيانة وقابلة للاختبار. هناك العديد من الأنماط المختلفة التي يمكنك متابعتها عند كتابة تطبيق Android. عادة ما تستخدم أنماط مثل MVP و MVVM والهندسة المعمارية النظيفة. تأكد من فهم الاختلافات بين الأنماط حيث ستواجه العديد من الأنماط المختلفة في البرية.
موارد:
- دليل مكونات الهندسة المعمارية Android
- مقدمة في فيديو مكونات هندسة Android
- Google Sample App Restository
- Code Lab - الثبات
- Code Lab - مكونات دورة الحياة
اختبار تطبيقات Android الخاصة بك
بمجرد أن تحصل على تعليق إنشاء تطبيقات Android ، ستحتاج إلى التفكير في كيفية اختبارها. يعد اختبار الوحدة واختبار واجهة المستخدم مفاهيم مهمة للغاية تحتاج إلى التأكد من فهمك. هناك الكثير من الأدوات المختلفة التي يمكنك استخدامها لكتابة اختبارات واجهة المستخدم. يستخدم معظم مطوري Android Espresso و Junit لكتابة الاختبارات ولكن هناك العديد من الأدوات الأخرى مثل Robotium و Calabash و Appium وما إلى ذلك. أوصي باستخدام Espresso و Junit.
موارد:
- مكتبة دعم اختبار Android
- إسبرسو
- جونيت
- mockito
- مختبر الكود - اختبار Android
- Code Lab - اختبار أداء Android
إطلاق تطبيقات Android الخاصة بك
رائع ، لقد جعلته هذا بعيدًا!
الآن هناك بعض المفاهيم التي ستحتاج إلى تغطيتها من أجل إصدار طلبك:
- إعداد تطبيقك للإصدار
- توقيع التطبيق
- إصدار تطبيقك
- بروغ
حماية
هناك الكثير من الأشياء التي يجب القيام بها من أجل تأمين تطبيقك والتأكد من عدم الوصول إلى محتوى غير مصرح به. تأكد من أنك تستخدم Proguard (المذكورة سابقًا). فهم ما هو الرجل في الهجوم الأوسط. فهم أساليب التشفير المختلفة والطرق التي يمكنك من خلالها تخزين المعلومات بشكل آمن داخل تطبيق Android بما في ذلك تأمين رموز API الخاصة بك ، وعلق الشهادة ، إلخ.
موارد:
- نصائح الأمن على Android.
- شهادة تثبيت
- Safetynet API
- نظام keystore Android '
مواضيع Android المتقدمة
بمجرد أن تغطي جميع أساسيات كتابة تطبيقات Android ، هناك بعض الموضوعات المتقدمة التي قد تحتاج إلى تغطيتها من أجل المساهمة في بعض قواعد الكود:
- Kotlin - Kotlin هي لغة البرمجة الجديدة لنظام Android ، وكتب المطورون بنشاط رمزهم في Kotlin. الأمر يستحق القراءة عن Kotlin والركض عبر Kotlin Koans. هناك أيضا مختبر رمز Kotlin متاح.
- Rxjava-Rxjava هي مكتبة تستخدم للبرمجة غير المتزامنة القائمة على الأحداث. يسمح لك بتكوين العمليات معًا للقيام بمهام معقدة (مثل الجمع بين مكالمات الشبكة المتعددة معًا) ويمكن أن تكون مفيدة للغاية فيما يتعلق بإدارة مؤشر ترابط تم تنفيذ الكود الخاص بك. يوجد فيديو رائع من جيك وارتون يصف كيفية استخدام Rxjava وفوائد استخدامه.
- الخنجر (حقن التبعية) - حقن التبعية هو وسيلة لإدارة الكائنات وتبعياتها داخل التطبيق الخاص بك. مفهوم DI ليس مفهوم Android ولكنه متاح في العديد من الأطر الأخرى أيضًا. يمكن لـ DI أن تجعل الكود الخاص بك أكثر كفاءة في الذاكرة ويعزز قابلية الاختبار. Dagger 2 هو إطار Android DI الأكثر شعبية.
- تصميم المواد - تتبع معظم تطبيقات Android إرشادات تصميم المواد من Google. الإرشادات هي وسيلة لتصميم تطبيقاتك بطريقة معتادة على المستخدمين.
- المكتبات الدعم في Android - تعد مكتبات الدعم في Android مهمة جدًا لضمان ظهور تطبيقك وتصرفه باستمرار عبر إصدارات متعددة من Android. هناك عدد قليل من المكتبات المختلفة التي لها أغراض مختلفة. تصف المقالة المرتبطة المنطق وراء المكتبات.
- تسرب الذاكرة - في Android ، من السهل جدًا إنشاء تسرب الذاكرة. هذا يمكن أن يؤدي إلى سلوك خاطئ في التطبيق الخاص بك (حوادث عشوائية). يستخدم الكثير من المطورين LeakCanary ضمن تطبيقاتهم للتأكد من عدم وجود أي تسرب ذاكرة.
رخصة