دليلك لتتعلم كيفية تطوير و انشاء تطبيق للهاتف المحمول
من ضمن الوظائف المطلوبة بقوة في هذا العصر هي وظيفة تطوير و انشاء تطبيق للهاتف المحمول.
حيث أنه مع الزيادة الملحوظة في التطور التكنولوجي؛ أصبح عدد المستخدمين للهواتف الذكية تحديداً كبير جداً، ما يصل إلى أكثر من 4 مليار مستخدم في عام 2024 وفقاً لموقع Statista.
وبالطبع أحد الاستخدامات الأساسية التي تميز هذه الهواتف: هي وجود تطبيقات رقمية تؤدي أغراض مختلفة؛ تساعد المستخدم بشكل كبير، و من هذه التطبيقات مثلاً:
- تطبيقات تعليمية، مثل Coursera و Udemy و إدراك.
- كذلك التطبيقات الحكومية، مثل تطبيق “أبشر”.
- و بالطبع تطبيقات التواصل الاجتماعي.
- ولا ننسى المتاجر الرقمية لأصحاب المحلات والمولات أيضاً.
- و التطبيقات الترفيهية.
ولهذا السبب هناك احتياج و طلب كبير على موظفين يقومون بتطوير و انشاء تطبيقات للهاتف الذكي / المحمول.
ما المقصود بتطوير وانشاء تطبيقات الهاتف المحمول؟
عملية تطوير تطبيقات الهاتف المحمول هي عملية شاملة، هدفها انشاء تطبيق رقمي يعمل على الهواتف الذكية، والأجهزة اللوحية؛ وذلك من خلال تضمنها لعدة خطوات ومهام، تشمل:
1) تحديد وتحليل ما يتطلبه انشاء تطبيق للهاتف المحمول:
و هذه الخطوة تتضمن:
- تحديد وتحليل احتياجات الأشخاص الذين تستهدفهم كمستخدمين للتطبيق.
- كذلك توضيح ما هي المشكلة التي سوف تقوم بحلها باستخدام التطبيق الذي تريد انشائه.
- و تحديد أيضاً ما الذي يميز التطبيق، خاصةً عن التطبيقات المماثلة الموجودة بالفعل لنفس الغرض.
- وأخيراً، قم بتحديد نظام التشغيل الذي تريد أن يعمل التطبيق عليه.
حيث يعتمد ذلك على جمهورك المستهدف، و نوع نظام التشغيل الذي تحتويه هواتفهم.
هناك العديد من أنظمة التشغيل المستخدمة في الهواتف المحمولة، أشهرهم Android بالإضافة إلى iOS.
2) تصميم واجهة المستخدم (UI) وتجربة المستخدم (UX) من أجل انشاء تطبيق للهاتف:
الهدف هنا هو انشاء نموذج أولي للتطبيق (prototype) قبل البدء في كتابة الكود.
حيث يقوم فريق من المصممين والمطورين بتصميم نموذج أولي للشكل النهائي للتطبيق.
وذلك من حيث التصميم، مثل اختيار الألوان و شكل الأيقونات.
و من حيث أيضاً تجربة المستخدم، أي تجربة المستخدم الشاملة أثناء تفاعله مع عناصر التطبيق.
و بشكل عام، نستطيع اعتبار تصميم واجهة المستخدم (UI) جزء من تجربة المستخدم (UX).
حيث الهدف الأساسي هنا هو توفير أفضل تجربة ممكنة للمستخدم أثناء استخدام التطبيق؛ بحيث يكون أكثر راحة وسلاسة بالنسبة له.
ويمكن عمل هذا النموذج الأولي بشكل بسيط على ورق، أو انشاء نموذج تفاعلي من خلال أحد المنصات أو الأدوات الرقمية التي توفر ذلك.
و بالتالي بعد انشاء النموذج الأولي وتعديله حتى إيجاد أفضل صورة ممكنة للتطبيق، يتم الانتقال إلى تنفيذ هذا النموذج، عبر كتابة الكود و تحويله إلى تطبيق واقعي.
- و هنا بعض الاقتراحات لمجموعة من الدورات و الكورسات الأونلاين؛ لتستطيع تعلم أساسيات تصميم واجهة وتجربة المستخدم (UI/UX Design):
- أولاً: كورس (Figma UI/UX Course for beginners) مقدم باللغة العربية، لمحمد يحيى، على منصة Udemy.
- ثانياً: كورس (UI/UX Design) المقدم من معهد كاليفورنيا للفنون، على منصة Coursera، ومتوفر فيه الترجمة باللغة العربية.
- بالإضافة إلى: كورس (مبادئ تصميم تجربة وواجهة المستخدم UI/UX) على منصة إدراك، باللغة العربية.
3) كتابة الكود:
بعد القيام بإنشاء نموذج أولي للتطبيق، تأتي مرحلة تنفيذ هذا النموذج من خلال كتابة الكود.
و لكن قبل كتابة الكود من أجل انشاء تطبيق الهاتف، عليك تحديد أولاً لغة البرمجة التي سوف تكتب هذا الكود بها.
ويتم تحديد لغة البرمجة المستخدمة بناءً على نوع التطبيق الذي تريد انشائه.
حيث أن هناك أربعة أنواع رئيسية من تطبيقات الهاتف المحمول، وهي:
1. التطبيقات الأصلية (Native apps)
و هي تطبيقات يتم تطويرها من أجل أن تعمل على أنظمة تشغيل محددة، مثل Android أو iOS.
حيث تستفيد من ميزات وإمكانيات نظام التشغيل التي ستعمل عليه؛ مما يؤدي إلى سرعة وكفاءة في الأداء عالية.
يتم انشاء تطبيق من هذا النوع باستخدام:
- لغات البرمجة java أو kotlin للهواتف التي تعمل بنظام التشغيل Android.
- بالإضافة إلى لغات البرمجة Swift أو Objective-C للهواتف التي تعمل بنظام التشغيل iOS.
- وهنا بعض المصادر لتعلم هذه اللغات:
أولاً: تعلم لغة البرمجة Java
- كورس (java programming for complete beginners) على منصة Udemy.
- و كذلك كورس (The complete Java developer course: from beginner to master) على منصة Udemy.
- و أيضاً كورس (java for Absolute beginners) على منصة Udemy.
ثانياً: لغة البرمجة Kotlin
- كورس (kotlin للمبتدئين: أنواع البيانات والجمل الشرطية) على منصة Coursera، وهو متوفر باللغة العربية.
ثالثاً: لغة البرمجة Swift
- كورس (Introduction to programming in swift 5) على منصة Coursera.
2. تطبيقات الويب (web apps)
تشبه تطبيقات الويب التطبيقات العادية، و لكنها تمتاز بعدم حاجتها إلى القيام بتثبيتها على الجهاز مثل التطبيقات العادية المختلفة.
وإنما يتم الوصول إليها من خلال رابط (URL) في متصفح الويب، مثل المواقع الإلكترونية.
كذلك تكون منفصلة عن نظام التشغيل الأساسي في الجهاز، ولكن قد يكون لها قدرة محدودة على الوصول إلى بعض ميزات هذا الجهاز.
وهي تختلف عن المواقع الالكترونية بأنها تكون أكثر تعقيداً من المواقع، ويمكن أن تعمل بدون الاتصال بالإنترنت في بعض الأحيان.
من ضمن الأمثلة على تطبيقات الويب: (Google docs، و Gmail أيضاً).
يتم تطوير وانشاء تطبيقات الويب باستخدام العديد من لغات البرمجة و لغات الترميز.
مثل: Html، Css، JavaScript بشكل أساسي (الأكثر شيوعاً).
و يمكن أيضاً استخدام لغات برمجة مثل Python، Java، PHP، Ruby، C sharp.
- وهنا بعض المصادر لتعلم تقنيات ولغات برمجة الويب:
- منصة W3Schools.
- كذلك قناة Elzero web school على YouTube.
- و أيضاً كورس (React & Django Full stack web app، Backend API، mobile apps) على منصة Udemy.
- بالإضافة إلى المشروع الإرشادي على منصة Coursera، الذي يُدعى (Building a dynamic web app using php & MySQL).
3. التطبيقات الهجينة (Hybrid apps)
هي تطبيقات تجمع في الخصائص ما بين التطبيقات الأصلية (native apps)، بالإضافة إلى تطبيقات الويب (web apps).
حيث أنها يتم تطويرها باستخدام تقنيات الويب، مثل: Html، CSS، JavaScript.
ويمكن تثبيتها على أجهزة تعمل بأنظمة تشغيل مختلفة، بينما تتم كتابة الكود الخاص بها مرة واحدة.
و ليست مثل التطبيقات الأصلية، التي تحتاج إلى كتابة كود مختلف لكل نظام تشغيل.
و لكن يعيبها على الرغم من ذلك أنها تكون أبطأ من التطبيقات الأصلية، وتجربة المستخدم فيها أقل جودة.
4. التطبيقات متعددة المنصات (Cross-platform apps)
هي تطبيقات لها القدرة على العمل على أنظمة التشغيل المختلفة، بينما تتم كتابة الكود الخاص بها مرة واحدة.
وهي تشبه في هذه الميزة التطبيقات الهجينة (Hybrid apps)، و لكنها مع ذلك تعتبر أكثر كفاءة في الأداء والجودة.
تتم عملية تطوير وانشاء تطبيق من هذا النوع من خلال استخدام إطار عمل مثل Flutter بالإضافة إلى لغة البرمجة Dart.
حيث أن Flutter مع Dart يعتبرون الأكثر شيوعاً نوعاً ما في انشاء هذا النوع من التطبيقات.
- وهنا بعض المصادر لتعلم إطار العمل Flutter و كذلك لغة البرمجة Dart:
- أولاً كورس (Complete Flutter & Dart Development Course) على منصة Udemy لـ”ثروت سامي”، متوفر باللغة العربية.
- و أيضاً كورس (Flutter & Dart with clean Architecture) على منصة Udemy، المقدم من محمد جبر، وتم تقديمه باللغة العربية.
حتى الآن عرفنا كيفية تحديد لغة البرمجة التي سوف تحتاج إلى تعلمها؛ من أجل انشاء تطبيق للهاتف المحمول.
وذلك من خلال تحديد ومعرفة نوعية التطبيقات التي تريد التعلم والعمل على انشائها.
وبناءً على اختيارك في البداية؛ سوف يتم تحديد بيئة التطوير المتكاملة (IDE)، و كذلك إطار العمل (Framework)، التي تحتاج إلى استخدامها في عملية تطوير وانشاء تطبيق للهاتف المحمول.
بيئات التطوير المتكاملة (IDEs):
هي تطبيقات برمجية، توفر للمطور بيئة تطوير كاملة؛ من أجل مساعدته على كتابة الكود واختباره أيضاً.
حيث توفر:
- محرر نص؛ من أجل أن تقوم باستخدامه في كتابة الكود.
- بالإضافة إلى مترجم؛ ليقوم بترجمة التعليمات البرمجية التي تكتبها، إلى اللغة التي يفهمها الكمبيوتر.
- و مصحح تلقائي أيضاً؛ ليقوم بالعثور على الأخطاء الموجودة في الكود الذي تكتبه، ويوضح لك ما المشكلة فيما قمت بكتابته.
- بالإضافة كذلك إلى مُشغل؛ ليساعدك على اختبار الكود بعد كتابتك له.
يعتمد اختيار بيئة التطوير المتكاملة (IDE) المناسبة؛ لتقوم باستخدامها، بناءً على لغة البرمجة التي سوف تكتب بها، أو نوع نظام التشغيل التي سيعمل عليه هذا التطبيق.
من ضمن بيئات التطوير المتكاملة التي يتم استخدامها في تطوير وانشاء تطبيق للهاتف المحمول:
- بيئة التطوير Android studio
تعتبر الأكثر شيوعاً في تطوير وانشاء تطبيقات الهاتف المحمول، التي تعمل بنظام التشغيل Android.
تدعم عدة لغات برمجة، منها: لغة البرمجة java، و كذلك لغة البرمجة C++.
- إذا كنت تريد تعلمها، أو معرفة المزيد من المعلومات عنها؛ يمكنك الاطلاع على المصادر التالية:
- دورة برمجة اندرويد على اليوتيوب
- بالإضافة إلى المشروع الإرشادي (Build a Simple App in Android Studio with Java) على منصة Coursera
- بيئة التطوير XCode
وهي معروفة بأنها تستخدم في تطوير وانشاء تطبيق لهاتف محمول يعمل بنظام iOS.
تدعم بيئة التطوير XCode عدة لغات برمجية أيضاً، مثل Swift، و Objective-C.
- بإمكانك تعلم استخدام بيئة التطوير XCode من خلال “دورة برمجة تطبيقات الآيفون باستخدام لغة سويفت” الموجودة على يوتيوب.
فهي أحد المصادر الجيدة المتوفرة باللغة العربية على الإنترنت.
إطارات العمل (Frameworks):
إطار العمل يكون عبارة عن مجموعة من الأدوات وواجهات المستخدم أيضاً؛ من أجل مساعدة المطور في تطوير وانشاء تطبيق معين.
وهو يفعل ذلك من خلال توفير هيكل أساسي؛ يمكن أن يستخدمه المطور في بناء التطبيق عليه.
ويوفر كذلك مجموعة من المكونات الجاهزة والمفيدة جداً أثناء تطوير التطبيقات، مثل:
- قواعد بيانات.
- أيضاً أدوات الشبكة.
- و كذلك واجهات مستخدم.
من أشهر إطارات العمل المستخدمة في انشاء التطبيقات التي تعمل على منصات متعددة:
- إطار العمل Flutter من شركة Google.
- بالإضافة إلى إطار العمل Xamarin من شركة Microsoft.
و من إطارات العمل المستخدمة في تطوير وانشاء تطبيقات لنظام الاندرويد:
- إطار العمل Jetpack Compose.
- بالإضافة إلى إطار العمل Material Design أيضاً.
أما بالنسبة لإطارات العمل المستخدمة في تطوير وانشاء تطبيق iOS من ضمنها:
- إطار العمل UIkit.
- بالإضافة إلى إطار العمل Cocoa Touch.
4) اختبار التطبيق:
عند تطوير وانشاء تطبيق للهاتف المحمول؛ أحد الخطوات أو المراحل المهمة التي يجب أن يمر بها هذا التطبيق أثناء تطويره، هي عملية اختبار التطبيق.
حيث أن أكثر الطرق التي يتبعها المستخدمون؛ من أجل اتخاذ قرار بتثبيت تطبيق معين على أجهزتهم، تكمن في رؤية التقييمات والتعليقات المتوفرة عن هذا التطبيق من مستخدمين آخرين أولاً.
ويكون التقييم مرتفع، وكذلك التعليقات إيجابية عن تطبيق معين؛ عندما يكون ذو جودة مرتفعة، بالإضافة إلى واجهة استخدام مريحة وسلسة في التعامل بالنسبة للمستخدم.
و لذلك من الضروري عند انشاء تطبيق معين، أن تقوم أولاً بعمل اختبار له قبل إطلاقه؛ و ذلك من أجل ضمان توفر أفضل نسخة ممكنة منه.
ثم إجراء اختبارات دورية بعد الإطلاق أيضاً؛ من أجل انشاء تحسينات و أيضاً حل المشكلات التي قد تظهر أثناء استخدام عملائك للتطبيق.
يعتمد اختبار التطبيق بشكل أساسي على اختبار مدى أمان التطبيق، بالإضافة إلى الوظائف التي يقوم بها، وكذلك مدى سهولة استخدام العميل للتطبيق.
- إذا كنت ترغب في معرفة المزيد عن مجال اختبار التطبيقات؛ يمكنك الاطلاع على الكورسات التالية:
- كورس (The Complete 2024 software testing bootcamp) على منصة Udemy.
- بالإضافة إلى ذلك كورس (unit testing swift mobile app) على منصة Udemy أيضاً.
5) نشر التطبيق:
بعد قيامك بعملية تطوير وانشاء تطبيق معين، والانتهاء من اختباره جيداً، يأتي وقت إيصال هذا التطبيق إلى الأشخاص المستهدفين؛ لاستخدامه.
و يكون هذا من خلال نشره على المتاجر المعنية بذلك.
وبما أن هذا المقال عن تطبيقات الهاتف المحمول تحديداً؛ فإن نشر هذا النوع من التطبيقات يكون على متجر “google play” لتطبيقات الأندرويد، أو على متجر “app store” لتطبيقات نظام التشغيل iOS.
6) صيانة التطبيق:
تتمثل مرحلة الصيانة في صيانة الأخطاء التي قد تظهر أثناء استخدام التطبيق لاحقاً بعد نشره.
هل عملية تطوير وانشاء تطبيق للهاتف المحمول يقوم بها شخص واحد؟
يعتمد ذلك على نوع التطبيق ومدى التعقيد فيه.
فمثلاً هناك بعض التطبيقات البسيطة مثل الآلة الحاسبة، كذلك تطبيق مسجل الصوت، يستطيع القيام بها شخص واحد.
ولكن التطبيقات المعقدة تحتاج عادةً فريق من المتخصصين، أصحاب خبرات مختلفة في مجالات المراحل السابق ذكرها؛ يعملون معاً من أجل تطوير وانشاء التطبيق.
و في الختام، إذا أردت أن تدخل مجال تطوير وانشاء تطبيقات للهواتف المحمولة، عليك أولاً أن تحدد نوعية التطبيقات التي تريد العمل عليها، بالإضافة إلى المتطلبات الأخرى المطلوب تعلمها؛ من أجل هذا النوع من التطبيقات.
هذا المقال تمت كتابته بواسطة: آية عادل الحنفي.