دليلك للبدأ في تعلم تطوير تطبيقات الأجهزة الذكية

- ‎فيمقالات, مميزة

تغيّرت في الأعوام الخمسة الأخيرة اتجاهات التقنية بشكل كبير، فبعدما كان التوجه نحو تطبيقات الويب بالاستعانة بمكتبة jQuery وتقنيات HTML 5 وCSS 3، بدأت تطبيقات الأجهزة الذكية تُسيطر على المشهد التقني بشكل كامل، بل ووجد مُطورو تطبيقات الويب أنفسهم بحاجة إلى الابتعاد قليلًا عن مجالهم ومواكبة الصيحات الحديثة لتجنّب انتهاء صلاحية ما بدأو به قبل أعوام كثيرة.

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

بشكل عام تُسيطر أنظمة أندرويد من جوجل، وآي أو إس iOS الذي تعمل به أجهزة آبل الذكية على المشهد التقني، فحصّتها في السوق تصل إلى 96% تقريبًا من إجمالي أنظمة التشغيل الموجودة، دون نسيان نظامي ويندوز موبايل من مايكروسوفت وبلاك بيري أو إس من شركة بلاك بيري، لكن الأخير تناقصت أهمّيته في الآونة الأخيرة مع توقعات بخروجه تمامًا من المشهد التقني الخاص بالأجهزة الذكية.

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

هيكلة تطبيقات الأجهزة الذكية

قبل الخوض في تفاصيل أنظمة التشغيل ولغات البرمجة المُناسبة يجب على المُتعلّم فهم آلية عمل هذا النوع من التطبيقات، فهي تعتمد على مبدأ MVC والذي من خلاله يتم فصل البرمجة عن التصميم مع وجود وسيط بينهما لتسهيل التخاطب أولًا، وعملية التطوير ثانيًا.

فبدايةً يحتاج المُطوّر إلى تصميم واجهات التطبيق أيًا كان نظام التشغيل أو أيًا كان الجهاز المقصود، فالواجهات أو المشاهد Views في تطبيقات الأجهزة الذكية هي ما يظهر للمُستخدم، ويجب أن تكون مدروسة بعناية لتوظيف العناصر بالشكل الأمثل داخل الشاشة.

بعدها يتم تحديد وظائف العناصر داخل هذه الواجهات، فبالضغط على الزرسيتم الانتقال إلى النافذةص، أو في حالة عدم تسجيل الدخول يتم عرض النافذةع، وهي أشياء تتم بالاستعانة بتعليمات برمجية يقوم المُبرمج بكتابتها، وبالنتيجة فهو عمل على تطوير المشاهد Views، وسلوكها Model، وأخيرًا مُعالجة البيانات Controllers التي تُشكل معًا مبدأ MVC.

البدأ بالتعلّم

3-(1)

إتقان مبدأ MVC في عالم البرمجة يُسهّل الطريق كثيرًا عند الرغبة في برمجة تطبيقات للأجهزة الذكية، ومُبرمجو الويب استعانوا بهذا المبدأ بكل تأكيد عند استخدام أُطر عمل مثل Laravel على سبيل المثال، ليُصبح الطريق مُمهدًا للحديث عن محاسن ومساوئ أندرويد وآي أو إس.

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

من محاسن اختيار نظام آي أو إس هو وجود لغة برمجة عصرية جدًا وسهلة التعلّم وهي لغة سويفت Swift التي تتطوّر بشكل كبير مع الوقت. دون نسيان أن الأجهزة محدودة من ناحية حجم الشاشات والمُعالجات ودقّة العرض، فوجود ثلاثة أو أربعة خيارات من الأجهزة لن تُعيق عملية البرمجة أو تُعقّدها أبدًا.

وبالحديث عن أندرويد فإن الأمور قد تبدو للوهلة الأولى أنها مُعقّدة، خصوصًا أن الدراسات تُشير إلى وجود أكثر من 5000 جهاز مُختلف تعمل بإصدارات مُختلفة من نظام أندرويد، وبالتالي يحتاج المُطوّر إلى أخذ جميع هذه الخيارات بعين الاعتبار قبل البدء في التطوير، فإهمال شريحة من المُستخدمين يعني خسارة جمهور قد يُساهم في انتشار التطبيق ونجاحه.

لكن لا يجب إهمال أن تطوير تطبيقات أندرويد يتم باستخدام لغة جافا الغنيّة عن التعريف، وهي لغة قويّة جدًا خصوصًا بعد فهم المنطق البرمجي الذي تعمل به، وبالتالي قد يجد مُطورو سي شارب C# أنها لغة سهّلة التعلّم مع مرور الوقت.

أدوات التطوير

الـ IDE أو بيئة التطوير هي من أهم عوامل نجاح أي لغة برمجة، فمن خلالها يتم توفير مجموعة من الأدوات للتعرّف على الدوال الموجودة مُسبقًا وطريقة استخدامها، أو حتى تصميم الواجهات وربطها بالأسطر البرمجية بكل سهولة.

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

في أندرويد عملت جوجل مؤخرًا على إطلاق بيئة تطويرية خاصّة بها تحمل اسم أندرويد ستوديو Android Studio، وهي ليست بقوّة إكس كود حتى الآن، لكنها بكل تأكيد احترافية خصوصًا أن شركة بحجم جوجل تقف خلفها.

الأجهزة اللازمة لبدأ التعلّم والتطوير

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

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

تكلفة الانضمام إلى مركز المُطورين

توفّر جوجل وآبل مركزًا للمطورين المُهتمين بتطوير تطبيقات لأنظمة تشغيلهم، حيث تُقدم من خلاله مجموعة من الدروس الشاملة دون نسيان التوثيق الكامل لجميع الصفوف Classes والدوال Functions بحيث لا يحتاج المُطوّر إلى مصادر خارجية للتعلّم بعد الدخول إلى هذه المراكز.

لكن ولإضافة تطبيق إلى مركز مُطوّري آبل يحتاج المُطوّر لدفع اشتراك سنوي وقدره 100 دولار أمريكي، أما في جوجل فرسم الانضمام هو 25 دولار أمريكي فقط يُدفع لمرّة واحدة.

أيهما أسهل للفهم؟

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

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

المُشكلة في آي أو إس وجدت لأن في أندرويد يحتاج المُطوّر إلى كتابة الواجهات بشكل يدوي باستخدام لغة XML، وبالتالي هو على علم ودراية بهيكلية واجهات التطبيق ووظيفة ومكان كل عنصر، وهي خصائص قد تبدو مُعقّدة للوهلة الأولى، لكنها سرعان ما تتناثر وتُصبح أسهل مع مرور الوقت.

إذًا أي لغة تُناسبني أكثر؟

laptop-926775_1280

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

لكن وبكل تأكيد بإمكانك تعلّم كلاهما في نفس الوقت بعد اتقان واحدة منهما أولًا، فالخوض في اللغتين معًا سوف يؤدي إلى تشتّت كبير جدًا.

وهُنا أنصحك بالإطلاع على قسم البرمجة في أكاديمية حسوب، فهو يحتوي على دروس تُساهم في فهم مبدأ MVC أولًا، وتطوير تطبيقات الهواتف الذكية ثانيًا، دون نسيان إمكانية الاستعانة بالمراجع الرسمية التي توفرها جوجل وآبل وهي مجانية بكل تأكيد ومُتاحة لجميع المُستخدمين دون استثناء.