برمجة تطبيقات الأندرويد
لقد بلغت شهرة نظام أندرويد Android المفتوح المصدر مبلغًا يغني عن التعريف به، هذا النظام الذي ابتدأ من الصفر عام 2008، لم يلبث أن أصبح أشهر أنظمة تشغيل الجوالات عام 2012، ليستمر صعوده حتى يومنا هذا فانظر حولك وسترى جهازًا أو جوالًا يعمل بنظام أندرويد هذا إن لم يكن نظام جوالك أندرويد أصلًا، ففي سوق صناعة الجوالات، تعتمد شركة آبل على نظام iOS وتقيده بأجهزتها التي تصنعها فقط أما بقية الشركات فتلجأ عادةً إلى نظام تشغيل أندرويد المفتوح المصدر وتخصصه -بما أنه قابل للتخصيص والتطوير- لأجهزتها بدلًا من اختراع نظام تشغيل جديد.
فرض نظام أندرويد نفسه في سوق الأجهزة المحمولة والملبوسة (قابلة للارتداء مثل الساعات الذكية) لعدة عوامل منها أنه مفتوح المصدر وقابل للتخصيص والتطوير والتوسيع ليناسب العتاد الذي يعمل عليه وهذا وفر بيئة خصبة لبرمجته وبرمجة تطبيقات توسع من عمله، لذا أصبحت مهنة برمجة الأندرويد تجذب الكثير من المبرمجين وحتى من يريد تعلم البرمجة إلى هذا السوق الكبير.
فإن كنت مهتمًا بتعلم مهنة برمجة الأندرويد وتطوير التطبيقات له فأنت في المكان الصحيح، حيث سيأخذك هذا المقال في رحلة يشرح لك فيها كيفية دخول عالم برمجة تطبيقات الأندرويد وكل ما يتعلق به، فهل أنت مستعد؟ لننطلق!
أهمية منصة أندرويد
قبل 14 عامًا، في 23 سبتمبر 2008، كان الإطلاق الأولي لنظام أندرويد، حيث تميز النظام على منافسيه بأنه مفتوح المصدر، وسهل الاستخدام، وقابل للتخصيص، إذ تستطيع كل شركة صانعة أن تخصصه كما تريد، وهو ما جعله واسع الانتشار.
حسب موقع statcounter، يبلغ نصيب نظام الأندرويد من سوق أنظمة تشغيل الجوالات العالمي أكثر من 71%، حسب بيانات سبتمبر 2022. أما نصيبه من الأسواق المحلية لأنظمة الجوال فيختلف باختلاف البلد، ففي مصر مثلًا، وحسب أرقام الموقع السابق نفسه، تبلغ حصة نظام الأندرويد من إجمالي السوق 86%، أما في المملكة العربية السعودية، حيث يبلغ التنافس أشده بين نظام الأندرويد ونظام iOS فتنخفض هذه الحصة حتى تبلغ أقل من 46%. بالمقابل، يحافظ الأندرويد على صدارته في الإمارات العربية المتحدة حيث تبلغ حصته من السوق أكثر من 72%.
تدل هذه الأرقام على استخدام واسع لنظام الأندرويد في شتى بلدان العالم عمومًا والعربي خصوصًا، وهذا الانتشار الواسع للنظام يكسب تطبيقات الأندرويد أهمية كبيرة لا سيما في الأسواق التي تسود فيها المنصة، إذ تعد تطبيقات اندرويد النافذة التي يصل عبرها أصحاب الأعمال إلى فئة كبيرة من الناس، وهو ما يدفعهم إلى الاهتمام بها واستثمار أموال كبيرة في سوق برمجة التطبيقات.
خطوات بناء تطبيق أندرويد
تمر عملية برمجة تطبيقات الأندرويد بالخطوات التالية:
- جمع المتطلبات
- تصميم وتطوير واجهة المستخدم وتجربة المستخدم
- برمجة التطبيق
- اختبار التطبيق ونشره
تشمل الخطوة الأولى معرفة ميزات التطبيق ومتطلباته وهدفه ومجال عمله ومن سيستخدمه والذي يمهد الطريق للخطوة التالية وهي تصميم شكل التطبيق وصفحاته عبر تطبيق تصميم واجهات UI مثل تطبيق Adobe XD وبعدها يستلم المبرمج أو فريق البرمجة التصاميم لتنفيذها وبرمجة تطبيق الأندرويد وبعد الانتهاء منه ينتقل إلى مرحلة الاختبار ثم النشر على متجر التطبيقات اندرويد وهو جوجل بلاي ستور Google Play Store وهو سوق تطبيقات الأندرويد.
يمكن تخطي بعض المراحل مثل مرحلة التصميم أو الاختبار بحسب عدة عوامل منها الميزانية المرصودة ووقت التنفيذ المحدد وفكرة التطبيق والعائد الاستثماري منه وغيرها، ولمزيد من التفاصيل، تجد هذه الخطوات مشروحة بالتفصيل في مقالة برمجة تطبيقات الجوال.
طرق برمجة تطبيقات الأندرويد
إن معرفة أنواع التطبيقات التي يبنيها مطورو تطبيقات الجوال من أساس عملية برمجة التطبيقات، حيث تحدد المجال الذي تريد أن تتخصص فيه لبرمجة تطبيقات اندرويد، وحاليًا تنحصر أنواع تطبيقات الأندرويد بخيارين اثنين هما:
- التطبيقات الأصيلة Native Mobile Apps
- التطبيقات الهجينة Hybrid Mobile Apps
تطبيقات الأندرويد الأصيلة Native
تبنى تطبيقات الأندرويد الأصيلة باستخدام حقيبة التطوير التي توفرها غوغل للمطورين Android SDK، وتختص هذه التطبيقات بنظام تشغيل أندرويد ولا يمكن تشغيلها على أي نظام تشغيل آخر إلا باستخدام محاكٍ مثل بلوستاكس BlueStacks أو أنبوكس Anbox لأنظمة لينكس.
تتميز هذه التطبيقات بقدرتها على الاستفادة من كامل وظائف الجهاز وعتاده كالحساسات والكاميرا والمايك وجهاز تحديد المواقع والذاكرة وغيرها، حيث تتواصل مباشرةً مع نظام التشغيل ولا يوجد وسيط بينهما، لذلك، تقدم التطبيقات أندرويد الأصيلة أفضل أداء وسرعة عندما تقارن ببقية أنواع التطبيقات.
من أمثلة تطبيقات الأندرويد الأصيلة: تطبيق متجر Google Play.
تطبيقات الأندرويد الهجينة Hybrid
تشبه تطبيقات اندرويد الهجينة التطبيقات الأصيلة من ناحية الشكل وطريقة التثبيت والفتح والعرض والإزالة ضمن قائمة التطبيقات في نظام التشغيل ولا يمكن التفريق بينها من هذه الناحية ولكن الفرق يكمن في عملها داخليًا وفي تواصلها مع نظام التشغيل.
تعمل التطبيقات الهجينة من حاوية عرض الويب تدعى WebView التي يوفرها نظام التشغيل لعرض التطبيقات المبنية على تقنيات الويب، حيث تبنى هذه التطبيقات باستخدام تقنيات الويب المختلفة، وهو ما يجعل أداءها أبطأ ووصولها للعتاد مقيد بالمقارنة مع التطبيقات الأصيلة لأنها لا تتواصل مع نظام التشغيل مباشرةً وبالتالي فهي لا تناسب جميع التطبيقات، فمن غير المجدي بناء تطبيقات من هذا النوع تستهلك موارد الجهاز بشكل كبير مثل الألعاب.
توفر هذه التطبيقات الكثير من الوقت والجهد والتكلفة لأنك تكتب كود التطبيق مرة واحدة وتصدره إلى مختلف منصات التشغيل من بينها منصة أندرويد، كما أن تعلمها يعني تعلم تطوير الويب في الوقت نفسه وبالتالي الدخول إلى سوق برمجة مواقع الويب وهذه ميزة أخرى للمبرمج نفسه، فإن كنت كمبرمج تريد التخصص في هذا المجال أو قريبًا منه، فهذا النوع من التطبيقات مناسب لك.
من أمثلة تطبيقات الأندرويد الهجينة: تطبيق UBER.
أنواع تطبيقات أخرى
هنالك نوع آخر لا يمكن إدارجه رسمًا ضمن تطبيقات أندرويد وهو تطبيقات الويب التقدمية PWA لأنها ليست تطبيقات أندرويد، بل هي تطبيقات ويب يتيح لك المتصفح «تثبيتها»، أي إضافة أيقونتها إلى شاشتك الرئيسة في الجوال وقائمة التطبيقات في نظام التشغيل.
تبنى هذه التطبيقات باستخدام تقنيات الويب، وتسهّل على المطور عملية التحديث والتطوير من جهته، إذ لا تتطلب من المستخدم إجراء أي تحديث، وتستطيع هذه التطبيقات الاستفادة من الميزات والأذونات التي يستطيع المتصفح الوصول إليها، وتتميز بظهورها على قائمة البحث عن التطبيقات في نظام التشغيل وبسهولة تثبيتها وإزالتها وصغر حجمها.
تظهر مكتبات حديثة حاليًا تتيح لك تحويل تطبيقات الويب التقدمية إلى حزم apk (صيغة حزم تطبيقات أندرويد) وبالتالي إمكانية نشرها في متجر جوجل بلاي Google Play ليستيطع المستخدم تنزيلها منه بدلًا من الدخول إلى موقعها في متصفح الويب وتثبيتها منه آنذاك، وهو نهج جديد بعد قد يتطور مستقبلًا لذا أحببت ذكره هنا.
من أمثلة تطبيقات الويب التقدمية: تطبيق أنا لإدارة المهام.
لغات برمجة تطبيقات الأندرويد
تتنوع لغات برمجة تطبيقات الأندرويد وتتعدد، إذ لكل نوع من أنواع التطبيقات (السابق ذكرها) عدة لغات برمجة يمكن للمطور أن يختار منها وهي:
- لغة جافا Java
- لغة كوتلن Kotlin
- لغة جافاسكربت JavaScript
- لغة دارت Dart
لغة جافا Java
كانت لغة جافا Java رسميًّا هي لغة البرمجة للأندرويد أول الأمر، إلى أن ظهرت لغة كوتلن Kotlin وحلت محلها، لكن جافا لم تزل اللغة الأكثر استخدامًا لتطوير تطبيقات الأندرويد الأصيلة.
تعد لغة جافا من أهم اللغات في عالم البرمجة، وتتيح استخدام حقيبة تطوير برمجيات الاندرويد الصادرة من غوغل Android Software Development Kit أو SDK، فإذا كنت تعرف لغة جافا من قبل، فقد تكون خيارك الأفضل، أما إذا كنت مبتدئًا لا تعرفها، فقد تجد أن كوتلن Kotlin أسهل منها رغم أنها قريبة عليها.
لغة كوتلن Kotlin
لغة كوتلن اليوم هي لغة البرمجة للأندرويد رسميًّا، حسب تصريح غوغل عام 2019، وهي لغة متعددة المنصات يمكن أن تستعمل بديلًا من جافا في تطوير تطبيقات الأندرويد.
تتميز كوتلن بتوافقها مع لغة جافا وبأنها تعمل على الأساس الذي تعمل عليه جافا وهو آلة جافا الافتراضية JVM، وتزيل لغة كوتلن تعقيدات لغة جافا وتسهّل عملية كتابة الكود.
تعدّ هذه اللغة أسهل على المبتدئين ونقطة دخول ممتازة لعالم برمجة تطبيقات الأندرويد.
لغة جافاسكربت JavaScript
إذا كنت من مستخدمي لغة جافاسكربت، يمكنك بدء تعلم برمجة تطبيقات الأندرويد عبر إطار العمل React Native.
إطار React Native هو إطار عمل مفتوح المصدر أنشأته شركة ميتا لتطوير تطبيقات أندرويد ونظام iOS وويندوز وغيرها من الأنظمة بناء على مكتبة React، ويوفر هذا الإطار الكثير من الوقت والجهد لأنه يساعدك على برمجة تطبيق واحد لمختلف أنظمة التشغيل ومنها أندرويد.
يقترب أداء التطبيقات المطورة بإطار React Native من أداء التطبيقات الأصيلة، لأن كود React Native يترجَم بعد كتابته إلى كود منصة الأندرويد (أو المنصة المستهدفة).
هنالك أطر عمل أخرى مثل أيونيك Ionic وكوردوفا يمكن استعمالهما مع لغة جافاسكربت كما يمكن استخدام جافاسكربت كذلك مع HTML، و CSS لبناء تطبيقات ويب تقدمية.
لاحظ أن دورة تطوير التطبيقات باستخدام لغة JavaScript التي توفره أكاديمية حسوب تشرح كل أطر العمل المستعملة في تطوير تطبيقات اندرويد التي ذكرناها وهي أفضل محتوى عربي متوفر حاليًا لتعلم برمجة تطبيقات الأندرويد بلغة جافاسكربت، المميز أيضًا في الدروة أنها تضمن لك بعد تخرجك من الدروة إعادة ما دفعته بتحصيل فرصة عمل أو إعادة المبلغ الذي دفعته.
لغة دارت Dart
لقد صعد إطار Flutter لتطوير التطبيقات متعددة المنصات صعودًا كبيرًا في السنتين الأخيرتين، وأصبح أشهر إطار لبناء هذه التطبيقات.
تترجم فلاتر الكود المكتوب بدارت إلى منصة الأندرويد مثل إطار React Native تمامًا، وهو ما يعطي التطبيق المبني فيها أداءً يشبه أداء التطبيق الأصيل.
يعد إطار فلاتر ولغته دارت سهلي التعلّم بالمقارنة مع لغة جافا أو كوتلن مثلًا. لذلك يبدأ كثير من المبتدئين تعلمهم منه، كما يعفيك فلاتر من تعلم تقنيات الويب HTML و CSS و JavaScript، لأنه لا يعتمد عليها، خلافًا لإطار React Native مثلًا.
لغات أخرى
يمكن استعمال لغة C++ لبرمجة تطبيقات الأندرويد باستعمال حقيبة التطوير الأصيلة للأندرويد Android Native Development Kit أو NDK لكن استعمال هذه اللغة أصعب وأقل مرونة، وقد يؤدي في كثير من الأحيان إلى أخطاء وتعقيدات.
يمكن استعمال لغة بايثون Python ومكتبة Kivy مفتوحة المصدر لبناء تطبيقات أندرويد أيضًا، لكن هذه اللغة لا تتيح استعمال الوظائف الأصيلة للجهاز، وهي غير مدعومة رسميًّا.
خطوات تعلم برمجة الأندرويد
مع كل هذه الخيارات، في الطرق واللغات، قد تشعر بشيء من الضياع. سأقدم هنا بضع خطوات تساعدك على شق طريقك في تعلم برمجة تطبيقات الأندرويد.
- ألق نظرة على موقع أندرويد للمطورين، حاول أن تحيط فهمًا بمكونات النظام والأفكار والتقنيات المطروحة في الموقع. ليس عليك أن تحفظ كل شيء، لكنك سترجع إلى هذا الموقع في المستقبل عندما تبحث.
- ابدأ بتعلم لغة البرمجة أو الإطار الذي تفضله. لا تنسَ أن غوغل تفضل وتنصح باستخدام لغة كوتلن، لكن المبرمجين يستعملون مختلف لغات البرمجة المذكورة أعلاه لتطوير التطبيقات.
- ابدأ التكويد.
أدوات برمجة تطبيقات أندرويد
قد تختلف أدوات تطوير تطبيقات الأندرويد باختلاف لغة البرمجة المستخدمة، لكن الأداة الأكثر استعمالًا هي بيئة التطوير أندرويد ستوديو Android Studio، حيت تُتسعمل هذه البيئة مع لغة جافا Java وكوتلن Kotlin، ومع إطار فلاتر Flutter كذلك. بالنسبة لإطار React Native، يمكن استخدام أي بيئة معه من قبيل VS Code.
بيئة أندرويد ستوديو Android Studio هي بيئة متعددة المنصات (يمكن تثبيتها على ويندوز أو لينكس). بعد تحميل ملف التثبيت، افتح وستظهر لك الشاشة التالية:
اختر التثبيت النظامي Standard.
اختر الوضع الليلي أو النهاري حسب اختيارك.
اضغط Next، وانتظر تحميل المكونات (إذا كنت من الدول المحظورة من غوغل، فقد تحتاج إلى الاتصال عبر بروكسي).
ستبدأ عملية تحميل المكونات، وبعد الانتهاء اضغط على Finish.
بعد تثبيت البيئة ومكوناتها، نبدأ مشروعًا جديدًا من واجهة البيئة، كما يلي:
اضغط على New Project.
نختار نشاطًا فارغًا (أو غيره إن شئت) Empty Activity.
نختار اسم التطبيق ولغة البرمجة المراد استخدامها والإصدار المدعوم الأدنى من نظام أندرويد، ثم نضغط Finish.
يمكنك الآن أن تنطلق في عالم تطوير تطبيقات الاندرويد مع بيئة أندرويد ستوديو Android Studio!
فرص العمل في سوق تطوير تطبيقات الأندرويد
لا داع لذكر إحصائيات واستشهادات توضح لك ما هو واضح أصلًا وهو أن سوق برمجة تطبيقات الاندرويد كبير وعليه طلب شديد بسبب الاعتماد على تطبيقات الجوال اعتمادًا كبيرًا فقلما تجد خدمة ليس لها تطبيق جوال مثل خدمات البنوك والحجوزات والصحة وغيرها.
وبسبب الطلب الكبير وحاجة السوق إلى مبرمجي أندرويد، تجد أن الرواتب في هذا المجال مرتفعة مقارنة برواتب مهن أخرى، حيث يقدّر موقع Payscale متوسط أجور مطوري تطبيقات الأندرويد المتخصصين في الإمارات العربية المتحدة بنحو 87,000 درهم إماراتي سنويًّا. أما في المملكة العربية السعودية، فيقدّر الموقع نفسه، الأجر السنوي لمطور تطبيقات الأندرويد المتخصص بنحو 55,000 ريال سعودي.
كما أنك تستطيع العمل في هذا المجال من منزلك عن بعد، جرب مثلًا البحث عن عمل عن بعد في برمجة تطبيقات الأندرويد عبر موقع بعيد وستجد أنه لا يخلو عادةً من فرص عمل لمطوري تطبيقات الأندرويد، كذلك يمكنك كذلك عرض خدماتك في موقع خمسات لبرمجة تطبيقات أندرويد، ولا تنسَ أن تطالع المشاريع البرمجية في موقع مستقل التي لطالما كانت مليئة بمشاريع لتطوير وبرمجة تطبيقات الأندرويد بمختلف أنواعها.
مصادر تعلم برمجة تطبيقات الاندرويد
سأرشح بعض المصادر التعليمية التي يمكنك أن تنطلق منها في هذا المجال:
- توثيق لغة كوتلن العربي
- كتاب أتقن لغة كوتلن
- سلسلة تعلم لغة جافا ما يزيد عن 80 مقال تعليمي
- توثيق لغة جافاسكربت
- توثيق مكتبة React
- توثيق إطار العمل React Native
- كتاب تعلم البرمجة بلغة جافاسكربت
- دورة تطوير التطبيقات باستخدام لغة جافاسكربت
هذه قائمة بسيطة وسأترك لك الاطلاع على بقية التوثيقات العربية في موسوعة حسوب التي ستجد فيها كل توثيقات تقنيات الويب مثل HTML و CSS وأيضًا لا تنسَ الاطلاع على قسم البرمجة وأيضًا قسم الكتب في أكاديمية حسوب ففيهما مقالات تعليمية وعلم نافع دفين يستحق الاطلاع!
خاتمة
وصلنا إلى نهاية هذا المقال الذي عرضنا فيه سريعًا أهمية منصة أندرويد وكيفية برمجة تطبيقات الأندرويد واللغات المستخدمة فيها ثم تطرقنا أخيرًا إلى خطوات التعلم مع عرض مصادر جيدة للانطلاق منها ودخول سوق العمل.
أخيرًا، أرجو لك التوفيق في رحلتك لتعلم برمجة تطبيقات الأندرويد والعمل فيها. وأرجو أن تكون هذه المقالة ساعدتك في دخولك إلى هذا العالم الكبير!