غلطة المطوّر بألف

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

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

هنالك عدة أخطاء يقع بها مطوري تطبيقات الأندرويد, وسوف اذكر كل واحدة منها مع شرح بسيط عن المشكلة و كيفية حلها بالطريقة الصحيحة.

1- استخدام المكتبات Jar File

استخدام المكتبات بالطريقة القديمة أصبحت تأثر كثيرا على كفاءة التطبيقات من ناحية السرعة و حجم ملف التطبيق APK File, لذلك يجب علينا ان نستخدم الطرق الجديدة لحل هذه المشكلة و لتحسين جودة التطبيق بين الحين و الاخر,لذلك يجب علينا استخدام الخصائص الموجودة داخل Gradle و التي تساعدنا على بناء هيكل خاص للتطبيق, من خلال Gradle يمكننا وضع جميع المكتبات التي نريد استخدامها بطريقة حديثة و سهلة, هذه الطريقة أفضل بكثير لانها تكون على تحميل المكتبات, هنالك ميزات كثيرة لGradle فهي تساعد على بناء اكثر من نسخة للتطبيق او بما يسمى تفرعة التطبيق الى تطبيقات اخرى, أحيانا نستخدم هذه الميزة في بناء تطبيق مجاني و اخر مدفوع, او بناء تطبيق و تغيير بعض الخصائص او التصميم.

2- إستخدام تطبيقات محاكاة الواقع Android Emulator

ان استخدام انظمة المحاكاة قد تساعد بشكل كبير في حل بعض المشاكل, لكنها بالمقابل تضر المطور بشكل كبير ولعدة اسباب منها , حجم الشاشات الغير واقعية , فعندما تقوم بتصميم شاشة معينة و بمقياسات نظام المحاكاة Emulator تكون جميع الاشكال و الادوات متناسقة, لكن عندما نقوم بتجربها على أرض الواقع على أجهزتنا فتنفاجأ ان التصميم و المقياسات غير واقعية , و هذا يعني اننا سوف نقوم بتعديل القياسات بالشكل المطلوب ,مما يؤدي الى تأخر في تسليم المشروع و هذا مكفل للمطور , التكلفة بمنظوري الشخصي هنا تعني الوقت و المال معاً, لذلك يجب علينا ان نستخدم أجهزتنا المحمولة لتجربة و تقييم التطبيقات التي تقوم ببنائها بالشكل المطلوب, و يجب توافر اكثر من جهاز بعدة مقاسات مثلا جهاز اندرويد عادي بحجم 5 انش و جهاز آخر بحجم 7 انش و آخر ايضا بحجم 10 انش, بهي تساعد بشكل كبير في بناء التطبيق , لكن يجب علينا ان نكتب مشروعنا بطريقة تكون مناسبة لكل قياسات الشاشات او التصاميم , و هذه تعتبر ميزة مهمة للمطور

3-استخدام Fragments و التواصل مع كل واحد بالاخر

أصبحت ال Fragment جزء اساسي في حياة كل مطوري تطبيقات الأندرويد, و هي تساعد بشكل كبير في بناء التطبيقات بشكل أفضل و سلس للمستخدمين, لكن هنالك الكثير من المطورين يستخدمون طرق غبر مناسبة للتواصل مع كل Fragment مع الاخرين, اما عن طريق تعريف المتغيرات تحت Static Values او Global Variables

4- سوء استخدام ال Main Thread

كثيرا ما نواجه مشاكل في فشل اتمام العملية في الاندرويد لاسباب عدة, لكن ما هو السبب الذي دعا الى ذلك ؟! السبب الرئيسي و الوحيد هو استخدام Main Thread في امور ثانوية من قبل المطور, و قد يؤدي ذلك الى ايقاف التطبيق, كلنا نعرف انه كل تطبيق في الاندرويد يعمل على Thread خاصة به , و ان جميع العمليات التي يقوم بها التطبيق يتحكم بها الThread الخاص به, لذلك استخدامه بشكل مباشر ليست طريقة مناسبة لبناء التطبيقات.

قد يسأل شخص ما , هل هذا يعني انني سأقوم ببناء مجموعة من الاوامر و ال Functions للقيام بذلك ؟! الجواب : برأيي انا الشخصي لا احذب ذلك, هنالك العديد من المكتبات Libraries الجاهزة و هي مشهورة جدا و التي بدورها تساعدك على ذلك , فهي توفر عليك الوقت و المال في بناء التطبيقات, و هنالك عدة امثلة على ذلك منها :

1- Gradle

لبناء هيكلة التطبيق بالشكل المطلوب

2- Retrofit / Volley

للتواصل مع الخوادم Servers و الشبكات الداخلية و الخارجية

3- Picasso

لتحميل الصور و عرضها بعدة طرق و اشكال

4-Gson / Jackson

تستخدم لتحويل النصوص الى كائنات Objects او بالعكس, تستخدم كثيرا في APIs

5- common implementations

لتسجيل الدخول الى صفحات شبكات التواصل الاجتماعي social networks

5- أحيانا قد يحتاج المطور الى بعض التصاميم و اشكال لتجميل التطبيق بشكل افضل, و انا احد من واجهت هذه المشاكل في السنوات الماضية, كنت بحاجة الى بعض التاصميم لتطبيقات صغيرة و ليست بحاجة الى مصمم

1- Android Asset Studio

من افضل المواقع الالكترونية التي تساعدك على بناء ايقونات و تصاميم و الوان للتطبيقات البسيطة و يقوم بعدة امور اخرى منها

Launcher icons أيقونات للتطبيق

Action bar and tab icons ايقونات للتطبيق

Notification icons ايقونات للاشعارات

Generic icons أيقونات عامة لكافة الشاشات و التصاميم

رابط الموقع الالكتروني

https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html

2- Android Icons

يساعدك هذا الموقع على ايجاد الايقونات اللازمة بعدة احجام و بعدة الوان

رابط الموقع الالكتروني

http://www.androidicons.com/

3- Codecanyon

ايضا يمكنك ايجاد بعض التصاميم الجاهزة بالكامل Java, XML للتطبيقات الصغيرة و المتوسطة , هذا النوع من التصاميم و القوالب تساعد الكثير من المطورين في توفير الوقت و المال في حال كان التطبيق بسيط او ما شابه.

رابط الموقع الالكتروني

http://codecanyon.net/

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

Mohammad Ali

@MhmdAljobairi

Daly