-
المساهمات
3 -
تاريخ الانضمام
-
تاريخ آخر زيارة
إنجازات عبد المعين السباعي2
عضو مبتدئ (1/3)
14
السمعة بالموقع
-
يتساءل كثير من المُقبلين على تعلم البرمجة: هل شهادات البرمجة ضرورية؟ هل يجب على المرء أن يدرس في الجامعة حتى يحصل على شهادة برمجة معتمدة؟ كيف يمكن أن يحصل المرء على شهادات احترافية في البرمجة؟ وكيف يمكن أن يتعلمها بنفسه أصلًا؟ هل يمكن الحصول على شهادات برمجة من الإنترنت؟ يجيبك هذا المقال على كافة هذه التساؤلات. ما هي شهادات البرمجة؟ الشهادة توثيق وتأكيد وكفالة تصدرها جهة موثوقة وتضمن بها معرفة شخصٍ ما بمجموعة من المعارف. لا تخرج شهادات البرمجة عن هذا التعريف، فهي شهادات تصدرها جهات موثوقة (من جامعات أو أكاديميات أو منصات تعليمية إلخ)، تكون دليلًا على معرفة حامل الشهادة بمجموعة من المعارف البرمجية. تقدّم المنصات التعليمية على الإنترنت عادةً شهادات برمجة تشهد على إتمام دورة في مجال معين، أما شهادات البرمجة الجامعية فتشهد على أن الطالب قد أتم جميع مواده الدراسية ونجح فيها. هل يجب الحصول شهادة جامعية حتى تكون مبرمجًا؟ لعلك تتساءل هل يجب على كل من يريد تعلم البرمجة أو الحصول على شهادات برمجة معتمدة أن يدرس في الجامعة؟ قبل الإجابة على هذا السؤال تجدر الإشارة لأن إحصائيات موقع statista تشير بأن قرابة 25% من مطوري البرمجيات غير حاصلين على شهادة جامعية في البرمجة! أي إن ربع مطوري البرمجيات عالميًّا لم يتمّوا أو لم يبدؤوا أي تعليم جامعي، وتتوزع النسبة الباقية بين الحاصلين على شهادة بكلوريوس والحاصلين على شهادات أعلى. فكيف يمكن أن نفهم هذه الإحصائيات؟ لا شكّ أن الشهادة الجامعية مفيدة في مجال البرمجة كما في غيره من المجالات. إذ تسهّل الشهادة الجامعية حياتك المهنية لا سيما في بدايتها، حين تكون هي الإثبات الوحيد على معرفتك في المجال. لكن حتى إن كنت حاصلًا على شهادة جامعية، فإن تطورك المهني سيبلغ بك مرحلة تصبح بها خبراتك وأعمالك السابقة أهم من شهادتك الجامعية، إذ تصبح هي الدليل الأقوى على معرفتك ومهارتك. فإذا كنت قبل التقدّم إلى أول وظيفة تملك أعمالًا تشهد على مهارتك، أو تحمل شهادات غير جامعية تضمن معرفتك، فإن هذا سيكون كافيًا لإثبات معرفتك ومهارتك. يمكنك الاستعاضة عن شهادة البرمجة الجامعية بالتعلم الذاتي من جهة موثوقة تمنحك شهادات برمجة تعكس خبراتك. تقدم منصات التعلم على الإنترنت تعليمًا يركّز على الجانب العملي أكثر من الجانب النظري، ويختصر في الوقت نفسه كثيرًا من الوقت على المتعلم. لقد صنع كثير من المطورين أنفسهم في مدة لا تتجاوز عامًا واحدًا من التعلم الذاتي. كيف تتعلم البرمجة ذاتيًّا تتميز البرمجة على غيرها من المجالات بسهولة تعلّمها ذاتيًّا على الإنترنت. فبالإضافة إلى توفر دورات تقدم شهادات معتمدة في البرمجة على الإنترنت (المزيد عنها في الفقرة التالية)، يفيض الإنترنت بمصادر متنوعة لتعلم البرمجة ذاتيًّا. ولا تكاد تخلو لغة برمجة من كتاب رسمي أصدره مجتمعها ليساعد المبرمجين على تعلمها ذاتيًّا. وفي العالم العربي، يلمع نجم أكاديمية حسوب في مساعدة المبرمجين على التعلم الذاتي والحصول على شهادات برمجة، إذ تقدّم الأكاديمية 19 كتابًا في شتى مجالات البرمجة، تناسب مختلف مستويات المتعلمين، منها: تعلم البرمجة للمبتدئين: يأخذك هذا الكتاب في رحلة لتعلم البرمجة من الصفر، يمرّ فيها على محطّات مختلفة، منها أنواع البيانات، وبناء الواجهات الرسومية، وكتابة تطبيقات الويب، وغير ذلك. البرمجة بلغة بايثون: يقدم هذا الكتاب مجموعة من المقالات الكفيلة بإعطاء القارئ فهمًا شاملًا وكاملًا للغة بايثون، وهو، كالكتاب السابق، مناسب للمبتدئين. البرمجة بلغة جافاسكربت: هل فكرت من قبل في استخدام البرمجة لبناء رجل آلي؟ أو في بناء لغة برمجة خاصة بك؟ يمرّ هذا الكتاب على مختلف المفاهيم في لغة جافاسكريبت، ويختم بمشروع بناء موقع باستخدام بيئة نود جي إس Node.js. دورات عربية تقدم شهادات معتمدة في البرمجة بالإضافة إلى كتب تعلم البرمجة، توفر أكاديمية حسوب دورات تعليمية باللغة العربية تقدم شهادات معتمدة في البرمجة. تتنوع مواضيع الدورات ومجالاتها، وتناسب المبتدئين في تعلم البرمجة والذين لا يمتلكون أي خبرة سابقة أو الذين يريدون الحصول على شهادات برمجة. من أبرز هذه الدورات نذكر: دورة علوم الحاسوب: تناسب هذه الدورة المبتدئ الذي يريد تعلم البرمجة ولا يعرف من أين يبدأ. تأخذ الدورة بيد الطالب حتى يصل إلى مستوًى متقدم في علوم الحاسوب (مثل أنظمة التشغيل وقواعد البيانات وتقنيات الويب). دورة تطوير التطبيقات باستخدام لغة Python: تساعدك هذه الدورة على احتراف لغة بايثون دون أي معرفة سابقة بها، لتستطيع بعدها بناء مختلف أنواع التطبيقات باستخدام هذه اللغة. ستحصل في نهاية الدورة على شهادة برمجة معتمدة في لغة بايثون. دورة تطوير التطبيقات باستخدام لغة JavaScript: تعلمك هذه الدورة بناء تطبيقات الويب والحاسوب والجوال باستخدام لغة جافاسكريبت JavaScript، وهي مناسبة لمن ليس له خبرة سابقة في البرمجة. تقدم الأكاديمية للذين أتمّوا هذه الدورة شهادة برمجة معتمدة في لغة البرمجة جافا سكريبت JavaScript. دورة تطوير تطبيقات الويب باستخدام لغة PHP: للمهتمين بمجال الويب والواجهات الخلفية، تقدم هذه الدورة طريقًا نحو احتراف لغة PHP وإطار عمل Laravel، كما تعلّمك تطوير قوالب ووردبريس WordPress. دورة تطوير تطبيقات الويب باستخدام لغة Ruby: تتعلم في هذه الدورة لغة Ruby وإطار العمل Ruby on Rails، كما ستتعلم التعامل مع قواعد البيانات وتطوير شبكة اجتماعية مثل تويتر. دورة الذكاء الاصطناعي: دورة جديدة تقدمها أكاديمية حسوب لتعلم الذكاء الصنعي وتحليل البيانات من الصفر. تناسب هذه الدورة من يعرف لغةً من لغات البرمجة ويريد تطوير مهاراته في الذكاء الصنعي. دورة تطوير واجهات المستخدم: تقدم هذه الدورة للمتعلم معارف متنوعة متعلقة بتطوير واجهات المستخدم، وتعرّفه على تقنيات ويب كثيرة، كما يتعلم فيها بناء صفحات الهبوط وواجهات مواقع الويب. تناسب هذه الدورة كل مستويات المتعلمين. نصائح لاحتراف البرمجة دون شهادة جامعية إليك بعض النصائح التي تساعدك على أن تصبح مبرمجًا دون الحاجة إلى شهادات برمجة أكاديمية: تعلم الخوارزميات وأسس التفكير المنطقي قبل تعلّم البرمجة. ابدأ بمواد مناسبة للمبتدئين (راجع الفقرتين السابقتين). استكشف مجالات البرمجة وأنواعها المختلفة وحدد المجال الذي تريد التخصص فيه مثلًا: برمجة تطبيقات الجوال، أو برمجة مواقع الويب، أو الذكاء الاصطناعي. ابحث عن مشاريع مفتوحة المصدر في المجال الذي اخترته وشارك في تطويرها. انضم إلى مجتمعات برمجية وتشارك خبراتك ومهاراتك مع غيرك من المطورين. ابنِ مشروعًا صغيرًا مفتوح المصدر لتستعمله فيما بعد دليلًا على مهاراتك وخبراتك السابقة. لا تقتصر على لغة برمجة واحدة أو إطار عمل واحد، كلما ازدادت معارفك ازدادت فرص نجاحك في سوق العمل. خاتمة تتنوع الطرق إلى تعلم البرمجة واحترافها من شخص لآخر، وهي لا تقتصر على التعليم الجامعي وحده أو التعلم الذاتي وحده.، وكذلك تتنوع شهادات البرمجة ومصادر الحصول عليها، بين الشهادات الجامعية والشهادات التي تقدمها منصات التعلم الإلكتروني المختلفة ولك أن تختار ما يناسبك من بين هذه الطرق المختلفة. أرجو أن يكون هذا المقال قد أفادك ودلّك على محطة الانطلاق في رحلة تعلم البرمجة والحصول على شهادات برمجة معتمدة. اقرأ أيضًا دليلك الشامل لتعلم البرمجة والتعرف على أهميتها أهمية البرمجة وأهم لغات البرمجة ما هي مدة تعلم البرمجة كيف تصبح مبرمجًا محترفًا تعرف على تخصص هندسة البرمجيات
-
في مقال اليوم سنوضح لك ما هي أكواد البرمجة، وما أهمية تعلمها في عالم اليوم الذي يزداد فيه تعاملنا مع الآلات والأجهزة الرقمية بشكل كبير، وتزداد معه حاجتنا إلى توجيه هذه الأجهزة وتسخيرها لتلبّي حاجاتنا ومتطلباتنا. فكل جهاز رقمي يخطر في بالك اليوم، سواء أكان حاسوبًا أم تلفازًا حديثًا أم جوالًا أم صاروخًا فضائيًّا، لا يعمل إلا بالكود البرمجي. فما هو الكود البرمجي؟ وكيف يعمل؟ وما طريقة كتابته؟ ما هو الكود البرمجي الكود code كلمةٌ إنكليزية الأصل، تطوّر معناها على مرّ العصور فقد كانت تعني في البداية كتابة القوانين، ثم أصبحت تشير إلى نظام تخاطب سري تحكم استخدامه قوانين خاصة، ثم أخيرًا تطور معناها ليصبح نظامًا أو أسلوبًا للتعبير عن المعلومات والتعليمات في صيغة يمكن للحاسوب فهمها. فالكود البرمجي فهو مجموعة من التعليمات أو نظام من القواعد المكتوبة بلغة برمجية معينة. وتستخدم أكواد البرمجة في تطوير مختلف أنواع التطبيقات، كما تستخدم في بناء أنظمة الذكاء الاصطناعي وتعلم الآلة، وبرمجة الألعاب الإلكترونية وغيرها من مجالات البرمجة المختلفة. كانت كتابة الكود البرمجي في البداية عملية صعبة ومعقدة وتعتمد على لغات برمجة منخفضة المستوى وقريبة من مستوى الجهاز أو الآلة التي يعمل عليها مثل لغة الآلة ولغة التجميع، في حين يكتب الكود البرمجي اليوم بلغات عالية المستوى وقريبة للغات البشرية المحكية مثل لغة بايثون وجافا وجافاسكربت وغيرها. بعدها يمرّ هذا الكود البرمجي بمراحل من التفسير interpretation أو التصريف compilation لينتقل من الأسلوب القريب من الفهم البشري إلى ما هو أقرب إلى العتاد الحاسوبي الذي يتعامل مع مواقع ذاكرة الحاسوب ووحدة المعالجة المركزية مباشرة ويدير العمليات فيها. ويُسمّى كود البرمجة الذي يكتبه المبرمج قبل أن يُترجَم كود المصدر أو الكود المصدري source code، وهو الذي تجري على تعليماته بعد ذلك برامج ترجمة أو تفسير لتنتج كودًا آخر بلغة الآلة يُسمّى الكود الهدف target code أو الكود المترجَم compiled code. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن ما معنى كود برمجي نظيف Clean Code نظافة كود البرمجة هو اصطلاح يضمّ عدة معايير ويتبع مجموعة قواعد اعتمدها مجتمع المبرمجين بوصفها مقياسًا لجودة هذا الكود. وتعلم كتابة الأكواد البرمجية النظيفة مهارة لا بدّ منها لكل مطور أو مبرمج محترف يريد أن يعمل في فريق أو شركة أو يبرمج تطبيقات مختلفة، ومن شروط الكود البرمجي النظيف نذكر: أن تكون أسماء المتحولات والدوال المستخدمة في الكود البرمجي ذات معنى ودلالة. أن تكون لكل مهمة محددة وظيفة أو دالة واحدة تنجزها. أن يحتوي على تعليقات توضح عمل الكود البرمجي وتبيّن مواضع اللبس فيه. أن يكون منظَّمًا في الصيغة والإزاحات. ألا يحتوي على تكرار لنفس الكود عدة مرات. أن يُعالج الأخطاء في حال حدوثها. أن يحتوي على اختبارات تفحص وظائفه. إليك مثالًا عن كود نظيف مكتوب بلغة بايثون لحساب مساحات الأشكال يحقق المعايير المطلوبة: import math def calculate_circle_area(radius): """ تقوم هذه الدالة بحساب مساحة دائرة معطاة نصف قطرها. الدخل: radius (float): نصف قطر الدائرة. الخرج: float: مساحة الدائرة. """ # حساب المساحة باستخدام الصيغة πr^2 area = math.pi * radius * radius return area # مثال على استخدام الدالة radius = 5 area = calculate_circle_area(radius) print("مساحة الدائرة التي نصف قطرها", radius, "=", round(area, 2)) لابد أن سنفهم بسهولة كود البرمجة السابق والهدف منه حتى لو لم تكن على دراية مسبقة بلغة البرمجة التي كتب بها، الآن قارن كود البرمجة السابق بالكود التالي غير النظيف الذي يؤدي الوظيفة نفسها: import math def func1(r): x = math.pi * r * r return x x = func1(5) print("area =", x) أنواع الكود البرمجي كما تختلف أهداف البرمجة ومقاصدها، وكما تختلف أنظمة التشغيل والأجهزة، تختلف أنواع الكود البرمجي من جهتين هما: لغة البرمجة المستخدمة لكتابة كود البرمجة. أسلوب كتابة الكود البرمجي. فلنلق نظرة على كل منهما. لغات كتابة أكواد البرمجة لكل لغة برمجة مجال تتفوق فيه على غيرها، وإن كانت معظم لغات البرمجة عالية المستوى اليوم متعددة الاستخدامات بفضل المكتبات المتعددة التي تتوفر فيها. ومن أشهر لغات البرمجة التي يمكنك كتابة أكواد برمجة باستخدامها نذكر: جافاسكريبت JavaScript: تتفوق هذه اللغة في إضافة الديناميكية إلى صفحات الويب، وإن كانت استخداماتها قد اتسعت لتشمل مجالات كثيرة، من بناء الواجهات الخلفية لتطبيقات الويب إلى بناء تطبيقات الجوال. بايثون Python: تصدّرت هذه اللغة مجال الذكاء الاصطناعي وتعلم الآلة، ولطالما جذبت هذه اللغة المبتدئين لسهولة قراءة وكتابة أكوادها البرمجية. كما تتنوع تطبيقات ومجالات لغة بايثون من بناء الواجهات الخلفية لتطبيقات الويب إلى تطبيقات الذكاء الاصطناعي وتطبيقات استخلاص المعلومات من مواقع الويب وأتمتة المهام المتكررة وغير ذلك. جافا Java: تتميز لغة البرمجة جافا بأدائها العالي ومجتمعها الواسع ودعمها للبرمجة كائنية التوجه oop. وتستخدم لغة جافا في العديد من المجالات من أبرزها بناء التطبيقات الضخمة التي تتعامل مع قواعد البيانات، كما تستخدم في بناء الواجهات الخلفية لمواقع وتطبيقات الويب. روبي Ruby: تتميز لغة روبي على غيرها من لغات البرمجة عالية المستوى بسهولة قراءة وكتابة كود البرمجة المكتوب بها. وتعد هذه اللغة من أسهل لغات البرمجة على المبتدئين وتتعدد استخداماتها من تطوير تطبيقات الويب والجوال إلى برمجة الألعاب وتحليل البيانات وحتى تطبيقات الذكاء الصنعي. جو Go: تتصدر لغة البرمجة Go المشهد في التطبيقات المتوازية التي تعتمد على مبدأ خيوط المعالجة المتوازية وتمكنك من الاستفادة من كامل قوة المعالج. وتناسب التطبيقات التي تهتم بالأداء العالي، مثل التطبيقات الشبكية والسحابية وتطوير الويب وتحليل البيانات والألعاب الإلكترونية. أساليب كتابة أكواد البرمجة تتنوع أساليب تنظيم الكود بين لغات البرمجة وبين المطورين. وقد تدعم لغة البرمجة الواحدة عدة أساليب برمجية، وقد تقتصر على أسلوب واحد. وفيما يلي نذكر أهم أساليب كتابة كود البرمجة: البرمجة كائنية التوجه OOP أو البرمجة بالكائنات هي أسلوب في كتابة أكواد البرمجة يعتمد على مفهوم الكائن object الذي يمكن أن يحتوي على بيانات أو خصائص تصفه properties وعلى توابع برمجية methods تتعامل مع هذه البيانات، وتعد البرمجة كائنية التوجه من أهم وأشهر أساليب كتابة الأكواد والشيفرات البرمجية، وهي مدعومة في عدة لغات برمجة مثل جافا وبايثون (التي تتبع برمجة كائنية التوجه قائمة على مفهوم الصنف class) وفي جافاسكريبت (التي تتبع مفهوم برمجة كائنية التوجه قائمة على مفهوم الخاصية prototype). البرمجة الإجرائية Procedural Programming: هي أسلوب في كتابة الكود البرمجي يعتمد على مفهوم الإجراءات ونعني بها سلسلة من الخطوات لإنجاز مهمة محددة وينفذها الحاسوب لدى استدعاء هذه الإجرائية. تدعم لغات بايثون وسي وجافا سكريبت وغيرها مبدأ البرمجةَ الإجرائية. البرمجة الوظيفية Functional Programming: هي نموذج برمجي يعتمد على تطبيق الدوال أو التوابع وتركيبها، وتشيع في اللغات المستعملة في الصناعة والتعليم، مثل لغة وولفرام Wolfram كما تدعمها لغة بايثون وكوتلن Kotlin وغيرها. البرمجة المنطقية Logic Programming: هي نموذج برمجي يعتمد على المنطق الصُّوَري أو الرسمي formal logic، ويُستخدم لاستنتاج قيم مجهولة بناءً على قواعد ومعارف معلومة، من أهم اللغات التي تعتمد على برمجة المنطق لغة برولوغ Prolog. نفذ مشاريعك البرمجية باللغة التي تحتاجها استعن بأفضل المبرمجين في كتابة وتصحيح الأكواد البرمجية على خمسات اطلب خدمتك الآن برامج كتابة الكود البرمجي يعتمد المطورون على برامج تسهّل وتيسّر كتابة الكود البرمجي، منها بيئات التطوير المتكاملة IDEs ومحررات الأكواد البرمجية إذ يمكن للمبرمج استخدام كل بيئات التطوير المتكاملة والمحررات في كتابة وتحرير الأكواد البرمجية، لكن بيئات التطوير المتكاملة تتميز بدعمها لميزات أكبر مثل توفير أدوات مدمجة لتسهيل كتابة الكود وتصريفه وتشغيله وتصحيح أخطائه. ومن أشهر برامج كتابة أكواد البرمجة نذكر: فيجوال استوديو كود Visual Studio Code: أشهر وأوسع بيئات التطوير المتكاملة، تدعم مختلفة أنظمة التشغيل، ومعظم لغات البرمجة. IntelliJ IDEA: من أشهر بيئات التطوير المستعملة للغة جافا Java، ويمكن استعمالها مع لغات أخرى مثل Javascript وغيرها. PyCharm: بيئة تطوير مبنية خصيصًا لتحرير أكواد بايثون، وتدعم لغات برمجة كثيرة أخرى. NetBeans: من بيئات التطوير الشائعة والمجانية، وتدعم البرمجة بلغات جافا وجافا سكريبت و PHP و C++ وغيرها. خطوات كتابة أكواد البرمجة كيف إذًا تبدأ تعلم كتابة أكواد البرمجة؟ إن تعلم لغات البرمجة وفهم مبادئ الخوارزميات وأصول التفكير المنطقي هي البداية التي يجب على كل مهندس برمجيات الانطلاق منها. إليك هذه الخطوات التي تساعدك على كتابة الأكواد البرمجية: أمعن التفكير في المشكلة المطلوب حلها: لا بد من إمعان النظر في المشكلة قبل البدء بكتابة كود البرمجة، يمكنك استخدام الورقة والقلم لفهم المشكلة جيدًا وإيجاد حل منطقي لها، كما يستعمل مهندسو البرمجيات مخططات ووثائق لتحليل المتطلبات وحالات الاستخدام لتطوير البرامج والتطبيقات. قسّم المشكلة إلى مشكلات أصغر قدر الإمكان: بمعنى آخر اعتمد مبدأ فرّق تسُد، فكلما كانت الوحدات البرمجية في كودك محددة وتركز على مهمة واحدة كان الكود أعلى جودة وأفضل أداءً. حدد المدخلات والمخرجات لكود البرمجة ولكل وحداته الجزئية: تفيد هذه المعلومات في كتابة أكواد البرمجة وتسهيل مهمة صيانتها فيما بعد. حدد لغة البرمجة المناسبة لمشكلتك: هل تحتاج المشكلة إلى ذكاء صنعي وتعلم آلة؟ هل تحتاج إلى موقع ويب؟ هل تحتاج إلى تطبيق جوال أو حاسوب؟ لكل خيار من هذه الخيارات لغة برمجة هي الأمثل في نطاقه. ابدأ التطبيق العملي للحل: انتقل من التحليل والتصميم إلى التطبيق والإنجاز، وتذكّر الالتزام بقواعد كتابة الكود النظيف. اختبر أكواد البرمجة التي تكتبها: بعد كتابة الكود، اختبره بوسائل الاختبار اليدوي والبرمجي. توفّر كل لغات البرمجة أدوات لاختبار الوحدات والأنظمة والتكامل بين وحدات النظام. لا تتوقف عن صيانة وتطوير كود البرمجة: فالكود الناجح هو الكود الذي تستمر صيانته ويستمر تطويره بعد تسليم النسخة الأولى منه. لذا احرص على تطويره وإضافة المزيد من المميزات في أي كود تكتبه، وأصلح أي خلل يظهر بعد تسليمه للحصول على منتج برمجي عالي الجودة والكفاءة. توثيق أكواد البرمجة إن توثيق أكواد البرمجة هو العملية المسؤولة عن شرح كيفية عمل الكود وكيفية استخدامه، وهو أمر لا بد منه في كتابة الأكواد البرمجية حتى لو كان الكود البرمجي مكتوبًا بشكل مفهوم بالنسبة لك ولا يحتاج لشرح، فعملية التوثيق تسهّل صيانة الكود البرمجي وتساعدك أنت شخصيًا على تذكر وظيفته عند العودة له بعد فترة من الزمن، كما يسهّل الكود الموثق جيدًا التعاون بين أعضاء الفريق البرمجي ويرفع مستوى التفاهم فيما بينهم. ومن أهم عناصر توثيق كود البرمجة: كتابة التعليقات ضمن كود البرمجة: حيث تساعد التعليقات داخل الكود على توثيق الكود وزيادة وضوحه وفهم كيفية عمله وكيفية استعماله، وتعد كتابة التعليقات كما شرحنا سابقًا أحد من شروط الكود النظيف. إنشاء مستندات التوثيق: هي مستندات تشرح كيفية عمل الكود البرمجي وكيفية استخدامه والاستفادة منه ومن واجهاته مثل واجهات برمجة التطبيقات APIs، وتشرح القرارات البرمجية التي اتخذها فريق التطوير والدوافع وراءها، ويكمن أن تنشر هذه المستندات على هيئة قاعدة معرفة، أو ضمن مستودع الكود أو في ملفات مستقلة تتضمن مقتطفات من الكود البرمجي مرفقة بشرحه. لا تنسَ أن التوثيق يحتاج إلى الصيانة والمراجعة والتطوير مثل الكود تمامًا، كما يجب أن يكون مستواه مناسبًا للفئة المستهدفة. خاتمة بهذا نكون وصلنا إلى ختام مقالنا الذي وضحنا فيه مفهوم أكواد البرمجة. أرجو أن يكون هذا المقال قد وفّر لك ملعومات وافية حول معنى الكود البرمجي، وساعدك على معرفة أنواع أكواد البرمجة وطرق كتابتها المختلفة. وإذا كان لديك أي سؤال بخصوص ما ورد في المقال، فلا تتردد في كتابته في قسم التعليقات. اقرأ أيضًا تعلم كتابة أكواد بايثون من خلال الأمثلة العملية دليل شامل لتعلم البرمجة أساسيات البرمجة تعرف على أشهر لغات برمجة التطبيقات
-
سليمان شكري بدأ بمتابعة عبد المعين السباعي2
-
مع اقتراب الربع الأول من القرن الواحد والعشرين من نهايته، تتضح أهمية تعلم لغات البرمجة والتقنيات عمومًا لمختلف الأفراد أكثر فأكثر. فعالمُنا يزداد اعتمادًا على الحواسيب والروبوتات والأجهزة الذكية ويستخدمها في شتّى المجالات والقطاعات، من البحث العلمي والأكاديمي إلى الصناعة والترفيه والصحة وغيرها. وبالتالي أصبح تعلم لغات البرمجة ضرورة ملحة لكلّ إنسان يرغب في مواكبة مقتضيات العصر الرقمي ويرغب بأن يعزز موقعه الوظيفي ويزيد من مهاراته في حل المشكلات. فإذا كنت مهتمًا بتعلم لغات البرمجة لكنك لا تعرف من أين تبدأ، إليك هذا المقال! ما هي لغات البرمجة؟ بدايةً، لنتعرّف على معنى لغة البرمجة، ولماذا سُمّيت لغة أصلًا؟ تُعَدّ لغات البرمجة أدوات يُخاطب بها المبرمج جهاز الحاسوب أو أي جهاز قابل للبرمجة، ويوجهه إلى إجراء عمليات معينة. وتتميز كل لغة برمجة بقواعد تحكم صياغتها شأنها شأن الغات البشرية الطبيعية، فإذا خرج المبرمج عن هذه القواعد، سيتعذّر على الحاسوب فهم البرنامج أو تنفيذه على النحو المطلوب. وقد نشأت لغات البرمجة الأولى في أواسط القرن العشرين وكانت أول لغة برمجة متاحة تجاريًا هي لغة فورتران FORTRAN، وكانت لغات البرمجة في بداية عهدها صعبة ومقعدة وأقرَب إلى لغة الآلة وعتاد الحاسوب منها إلى اللغات البشرية. لكن مع تطوّر مستويات لغات البرمجة عبر العقود، نشأت لغات البرمجة عالية المستوى، وهي أسهل فهمًا وأقرب إلى اللغات الطبيعية. وسهّل انتشار هذه اللغات تعلّم البرمجة على غير المختصين في الحواسيب. لكن، لماذا قد يتعلّم المرء البرمجة أصلًا؟ فوائد تعلم لغات البرمجة قبل الشروع في أسماء وأنواع لغات البرمجة واستخدامات كل منها، يحسُن بنا ذكر فوائد تعلم لغات البرمجة. فإذا كان الإنسان مديرًا أو موظفًا أو مالك متجر، فهل يمكن أن ينفعه تعلم البرمجة؟ وحتّى إن كان مصمم مواقع ويب أو صانع ألعاب إلكترونية مثلًا، ألا يمكنه الاعتماد على الأدوات الجاهزة الميسَّرة التي تمكنه من إنجاز عمله دون الحاجة إلى تعلم لغات البرمجة؟ في الواقع إن علمك بلغات البرمجة وتعلمك لها ورقة رابحة في يدك وسيعود عليك بالعديد من الفوائد، سواءٌ أكنت مبرمجًا أم غير ذلك، ومن أبرز هذه الفوائد ما يلي: تسهّل لغات البرمجة أتمتة الأعمال وتوفر الوقت. تتيح لك البرمجة بناء أشياء قيّمة تزيد من دخلك. تعزز معرفة لغات البرمجة فرص توظيفك. تمكنك لغات البرمجة من محو أميتك الرقمية والتآلف مع التطور التقني. لنناقش كل نقطة من النقاط الواردة أعلاه بمزيد من التفصيل. 1. تسهّل لغات البرمجة أتمتة الأعمال وتوفر الوقت تخيّل أن تستطيع أتمتة عمل 10 ساعات في ساعة واحدة! يدور جزء كبير من علوم الحاسوب على الخوارزميات التي تساعد على تحقيق أكبر قدر من العمل بأقل قدر من الوقت والجهد. تساعدك هذه الخوارزميات (حتى وإن لم تكن مبرمجًا) على حل كثيرٍ من مشكلاتك على نحو أمثلي. 2. تتيح لك البرمجة بناء أشياء قيّمة تزيد من دخلك لا يكاد يخلو مشروعٌ من المشاريع الصغيرة أو الكبيرة من الحاجة إلى برنامج محلي، أو موقع إلكتروني على الويب، أو تطبيق جوال يسهّل العمل أو يزيد شهرة المشروع أو يعزّز تجربة المستخدم. إن قدرتك على بناء حلول تعزز مشروعك الخاص أو مشاريع من هم حولك قد تكون فرصة لك وللمشروع للانطلاق إلى مستقبل باهر. 3. تعزز معرفة لغات البرمجة فرص توظيفك حسب موقع جِتنُكس إن أكثر من 58% من فرص العمل في الصناعات الرقمية يتطلب وجود مهارة في البرمجة لدى المتقدمين. كما أن الطلب على وظائف البرمجة قد ازداد بمعدل أسرع بـ50% من ازدياد الطلب على الوظائف الأخرى بالعموم في العقد الماضي ولعل هذه النسب المرتفعة تكفي لوحدها لإقناعك بأن مستقبل الوظائف المختلفة سترجح لكفة من يهتم بتعلم لغات البرمجة ويوليها الاهتمام الكافي. 4. تمكنك لغات البرمجة من محو أميتك الرقمية والتآلف مع التطور التقني ففي عصرنا الحالي لم تعد الأمية هي أمية القراءة والكتابة والحساب، بل يعد أي شخص غير قادر على التعامل مع التقنيات الرقمية والحواسيب والهواتف الذكية ومنصات الإنترنت أميًّا، ومن هنا تبرز أهمية تعلم لغات البرمجة فهي توسع مداركك وتعزز قدرتك على التخاطب مع الأجهزة الذكية والمختلفة واستخدامها بكفاءة. كيف أختار لغة البرمجة المناسبة لي؟ إن تعلّم لغات البرمجة بالترتيب (من الأسهل إلى الأصعب، أو من الأقرَب إلى منطق الحاسوب إلى الأبعد عنه) هو الطريقة المثالية للبدء إذا لم يكن لديك هدف محدد لتعلم البرمجة وكنت تود فقط تعزيز مهاراتك في التفكير وحل المشكلات. لكن من الأفضل أن يعرف المرء أولًا لماذا يتعلّم لغات البرمجة؟ وما نوع التطبيقات التي ينوي تطويرها من التعلم إذ تختلف أهداف الناس عندما يقررون تعلم لغات البرمجة وتتنوع بين: برمجة المواقع الإلكترونية. برمجة تطبيقات الجوال. تعلم الذكاء الصنعي وتحليل البيانات. برمجة الألعاب. فلنتعرّف على لغات البرمجة المناسبة لكل مجال من هذه المجالات. برمجة المواقع الإلكترونية إذا كان شغفك في بناء المواقع الإلكترونية، فلا بدّ لك من البدء بتقنيات الويب. أهم لغات البرمجة المناسبة لتطوير المواقع الإلكترونية: HTML: وهي اللغة التي تُعنى بمحتوى صفحات الويب من نصوص وصور وروابط. CSS: وهي اللغة المعنية بتنسيق صفحات الويب تلوينًا وتحريكًا وتحجيمًا… إلخ. JavaScript: وهي اللغة المعنية بإضافة التفاعلية والديناميكية إلى صفحات الويب. من أهم مزايا تقنيات الويب هي ميزة تعدّد المنصّات cross-platform، أي إمكانية استخدامها لبناء تطبيقات في مختلف المنصّات. وباستخدام أطر عمل تطوير الويب الحديثة، يستطيع مبرمج الويب بناء مختلف أنواع التطبيقات سواء برمجة مواقع وتطبيقات الويب، أو تطبيقات سطح المكتب أو تطبيقات لأجهزة الجوال (أندرويد وآيفون) برمجة تطبيقات الجوال لقد أصبحت برمجة تطبيقات الجوال مجالًا من أهم مجالات تقانة المعلومات. تتنوع منهجيات برمجة تطبيقات الجوال بين الأصيل والهجين ومتعدد المنصات والتقدمي. إليك أهم لغات البرمجة في مجال تطبيقات الجوال: لغة Kotlin لتطبيقات الأندرويد الأصيلة. لغة Swift لتطبيقات iOS الأصيلة. تقنيات الويب للتطبيقات الهجينة والتقدمية. إطار Flutter أو React Native، أو NativeScript للتطبيقات متعددة المنصات. تعلم الذكاء الصنعي وتحليل البيانات مع صعود نجم الذكاء الصنعي، وازدياد الحاجة إلى تحليل البيانات الضخمة، برزت أهمية لغة بايثون Python في هذا المجال. لذا يعدّ تعلم لغة البرمجة بايثون من أول الخيارات التي ستتبادر للذهن عند الرغبة في تعلم لغات البرمجة من أجل التخصص في تطوير تطبيقات الذكاء الاصطناعي. إذ تمتاز لغة بايثون بسهولة قواعدها وسهولة فهم أكوادها، وهي في الوقت نفسه مدعومة بكثير من المكتبات التي توسّع إمكاناتها إلى مختلف المجالات. وقد أثبتت بايثون قدرتها العالية كلغة لبرمجة الذكاء الصنعي وتحليل البيانات، دون أن تنقص من قيمتها في مجالات أخرى، مثل تطوير الواجهات الخلفية لتطبيقات الويب، أو حتى بناء بوتات تلغرام أو غير ذلك. تعد سهولة تعلم لغة البرمجة بايثون، إلى جانب توفر كثير من المكتبات التي تسهّل بناء مختلف التطبيقات باستخدامها، من أهم مزاياها التي تشجّع المبتدئين على اختيارها. فإذا كنت مهتمًّا بالذكاء الصنعي وتحليل البيانات، فلغة البرمجة بايثون هي خيارك الأول. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن برمجة الألعاب يتجه كثير من الراغبين في تعلم البرمجة إلى تعلم صناعة الألعاب الإلكترونية فهو مجال مربح وممتع بذات الوقت. تتنوع الخيارات أمام عشاق برمجة الألعاب، إذ تتوفر العديد من لغات برمجة الألعاب ومحركات الألعاب التي تسهل عمل مبرمجي الألعاب. لكن الخيار الأول إذا أردت تعلم برمجة الألعاب ثلاثية الأبعاد هو لغة ++C، إذ تعد هذه اللغة البداية التقليدية في رحلة تعلم البرمجة، كما تُدرّسها كثير من الجامعات في السنوات الأولى. ومن أشهر محركات الألعاب التي تستخدم لغة ++C نذكر: محرك الألعاب Unity. محرك الألعاب Unreal Engine. أما إذا أردت بناء ألعاب أقرب إلى البساطة، فلك أن تبدأ تعلم لغات البرمجة الآتية: لغة #C أو GDScript (محرك الألعاب Godot) جافاسكريبت (إطار Phaser). بايثون (إطار Pyxel). كيفية تعلم لغة البرمجة التي اخترتها بعد أن تختار لغة البرمجة المناسبة لك، لا شكّ أنك تتساءل عن طرف الخيط. كيف تبدأ تعلم لغة البرمجة التي اخترتها؟قد تختلف طرائق تعلم لغات البرمجة في تفاصيلها، ولكنها تتبع بالعموم قواعد معينة: تعلم الخوارزميات وأسس التفكير المنطقي وحل المشكلات. تعلم مبادئ وأساسيات لغات البرمجة. لا تشتت نفسك بمصادر منوعة لتعلم لغات البرمجة واكتفَ بمصادر حديثة وموثوقة. انضم للمجتمعات البرمجية مثل مجتمع حسوب io وشارك تجاربك مع خبراء في لغات البرمجة المختلفة. ابدأ بتطوير مشاريع برمجية بسيطة تناسب المبتدئين، ثم تقدم شيئًا فشيئًا. احرص على بناء معرض أعمال قوي يعكس خبراتك في لغات البرمجة التي تعلمتها. ابحث عن فرصة عمل في الشركات ومواقع العمل الحر فالمشاريع الفعلية كفيلة بتعزيز تعلمك للغات البرمجة والوصول للاحتراف. لا تتوقف عن التعلم وتطوير نفسك فالبرمجة تتطور وتتغير باستمرار وعليك الاطلاع على كل جديد كي تبقى في الصدارة. أهم مصادر تعلم لغات البرمجة بالعربية إن كنت قلقًا من إمكانية تعلم لغة البرمجة بالعربية، فلا عليك. لقد تطور المحتوى التعليمي البرمجي العربي في السنوات الأخيرة تطورًا ملحوظًا، وصار من السهولة بمكان تعلم أي لغة برمجة باللغة العربية. ويعود هذا الفضل إلى جهود كثير من منشئي المحتوى على اليوتيوب، إلى جانب المؤسسات التعليمية مثل أكاديمية حسوب التي تعد اليوم أكبر منصة تعليمية لتعلم البرمجة في الوطن العربي، والتي تقدم الكثير من دروس البرمجة عالية الجودة بأسلوب شيق وعملي. حيث توفر أكاديمية حسوب عدة كتب برمجة عربية ومقالات برمجة مجانية لتعلم لغات البرمجة المختلفة.ومن الكتب المناسبة للمبتدئين كتاب تعلم البرمجة للمبتدئين الذي يُطلع القارئ على أنواع البيانات الأساسية وأنواع لغات البرمجة ومكونات التدفق المنطقي، ثم ينتقل إلى بناء تطبيقات للتعامل مع قواعد البيانات، وبناء الواجهات الرسومية وغير ذلك من المهام البرمجية التي تنفع في بناء شتى أنواع التطبيقات، ومن الكتب الأخرى المناسبة للمبتدئين كتاب البرمجة بلغة بايثون الذي يعدّ منطلقًا إلى عالم البرمجة بهذه اللغة القوية التي تعد واحدة من أقوى لغات البرمجة والتي تصلح للعديد من المجالات. كما تقدم أكاديمية حسوب أيضًا عدة دورات مدفوعة للمبتدئين في عالم لغات البرمجة، منها دورة علوم الحاسوب وهي مدخل مناسب إلى الحاسوب وعلومه والخوارزميات وأنظمة التشغيل وقواعد البيانات وغير ذلك. أما الدورات المتخصصة بلغة برمجة بعينها فمنها: دورة تطوير التطبيقات باستخدام لغة Python دورة تطوير التطبيقات باستخدام لغة JavaScript دورة تطوير تطبيقات الويب باستخدام لغة PHP دورة تطوير تطبيقات الويب باستخدام لغة Ruby خاتمة إن تعلم لغات البرمجة رحلة وممتعة، فإذا كنت قد عزمت البدء فيها، فأتمنى لك التوفيق، وأرجو أن يكون هذا المقال دليلًا صغيرًا ينفعك في أول محطات رحلتك. وإذا واجهتك عقبة في رحلة تعلم أي لغة برمجة، فلا تيأس، جرّب وحاول حتى تتعلّم. وإذا وجدت صعوبة في اختيار لغة البرمجة المناسبة لك أو كيفية تعلمها، فلك أن تطرح مشكلتك في قسم التعليقات أسفل المقال. اقرأ أيضًا أسهل لغات البرمجة دليلك إلى أنواع لغات البرمجة لغات برمجة الذكاء الاصطناعي الدليل الشامل لتعلم البرمجة خطوات برمجة تطبيق للمبتدئين برمجة الذكاء الاصطناعي تعرف على وظائف البرمجة الأكثر طلبًا
-
تطوير التطبيقات وهندسة البرمجيات مصطلحات بتنا نسمعها كثيرًا في العقد الأخير فإن كنت مهتمًا بالتعرف على الموضوع فلابد أنك تنوي دخول أحد مجالات علوم الحاسوب أو التخصص في برمجة التطبيقات ولكن ما هي التطبيقات؟ وما هي لغات البرمجة المستعملة فيه؟ وكيف يمكن التخصص في هذا المجال ودخول سوق العمل؟ لقد أصبحت صناعة التطبيقات صناعة مزدهرة في السوق العالمي، وصار من شأن كل شركة كبيرة أو صغيرة أن تطور تطبيقًا لها يربطها مع مستخدميها. سنلقي نظرة في هذه المقالة على تعريف التطبيقات وأنواعها، وسندل القارئ على بعض طرق تعلّمها، ونطلعه على بعض الإحصائيات المهمة عن سوق العمل. فلنبدأ إذن! ما هي التطبيقات؟ البرمجيات أو التطبيقات، هي برامج حاسوبية تستعمل إمكانات الحاسوب سواءً كان كبيرًا أو صغيرًا -مثل الجوالات والأجهزة الذكية- لتساعد المستخدم على تنفيذ مهام يرغب فيها. من أمثلة البرمجيات التطبيقية: معالجات النصوص، ومشغلات الوسائط، ومتصفحات الويب، وغيرها من التطبيقات التي نستعملها يوميًّا، ويمكن أن نقول إن التطبيقات هي التي تجعل استخدام الجهاز نافعًا للمستخدم النهائي. تتنوع التطبيقات من حيث أنظمة التشغيل التي تعمل عليها، فبعض التطبيقات متعدد المنصات (يمكن تشغيله على عدة أنظمة تشغيل)، وبعضها خاص بنظام واحد أو نظامين (مثل تلك الخاصة بنظام أندرويد أو ويندوز مثلًا)، وتتنوع التطبيقات كذلك من حيث لغات البرمجة المستعملة في تطويرها، إذ يمكن تطوير التطبيقات باستخدام عدة لغات برمجة. تقدم كل لغة من هذه اللغات مكتبات وأساليب مختلفة لتطوير التطبيقات ويشيع استعمال بعضها في مجالات معينة. أنواع التطبيقات تطورت التطبيقات بتطور الحواسيب المشغلة لها وأنظمتها ووسائل تخزينها واتصالها، فقد كان المستخدم يحتاج إلى شراء قرص فلوبي بالتطبيق المشترى (إن كنت من جيل الألفية فغالبًا لم ترَ قرص فلوبي من قبل)، ثم أصبحت التطبيقات تباع بأقراص CD ثم بأقراص DVD، إلى أن دخل عصر الإنترنت وأصبحت التطبيقات تحمَّل من الشبكة مباشرةً ثم أصبحت تطبيقات سحابية يتكفل مقدموها بإدارة البيانات وإتاحة مشاركتها. مع دخول عصر الإنترنت انتشرت المتصفحات وتطورت تطوّرًا كبيرًا حتى أتاحت بيئة يمكن أن تعمل التطبيقات فيها مباشرة دون الحاجة إلى تثبيت على نظام التشغيل وهذا عائد إلى عامل آخر أيضًا وهو سرعة الإنترنت الكبيرة، وهكذا انتقل نموذج شراء التطبيقات عبر الدفع مرة واحدة لاستخدام التطبيق (حيث يأتي ملف الترخيص مع قرص التطبيق)، إلى نموذج التأجير عبر الاشتراكات الشهرية أو السنوية، كما أسهم تطور المتصفحات أيضًا بانتقال التطبيقات من الاختصاص بنظام تشغيل واحد إلى العمل على عدة أنظمة. في البدء، كانت التطبيقات محصورة بالحواسيب المكتبية desktops قبل شيوع الحواسيب الصغيرة المتمثلة بالجوالات والساعات الذكية وأجهزة إنترنت الأشياء وغيرها. فأصبح لدينا عدة أنواع من التطبيقات هي: تطبيقات الحاسوب أو سطح المكتب: ويُقصد بها كل التطبيقات التي تعمل على الحاسوب مكتبي كان desktop أو محمول laptop تطبيقات الجوال: تعمل على أجهزة الجوال المحمولة. تطبيقات الويب: تعمل عبر المتصفحات بمختلف الأجهزة. تطبيقات الأجهزة الملبوسة: تعمل على أجهزة قابلة للارتداء مثل الساعات الذكية. تطبيقات إنترنت الأشياء: تعمل على كل الأجهزة التي يمكنها الاتصال بالإنترنت مثل الشاشات المنزلية والبرادات والكاميرات وغيرها. نماذج تطوير التطبيقات تختلف منهجيات تطوير التطبيقات فيما بينها بالمراحل، وسأذكر هنا عدة منهجيات شائعة وأذكر مراحل كل واحدة منها وهي: نموذج الشلال Waterfall النموذج المرن أجايل Agile نموذج التطوير السريع Rapid application development نموذج الشلال Waterfall يقسّم نموذج الشلال أنشطة المشروع البرمجي إلى مراحل متتابعة خطية، تستفيد كل واحدة من سابقتها. تمر عملية تطوير التطبيقات في نموذج الشلال في المراحل التالية: جمع المتطلبات النظامية والبرمجية: تنتج عنها وثيقة متطلبات المنتج. تحليل المتطلبات: تنتج عنها مخططات المشروع وهيكلياته وقواعده. التصميم: تنتج عنه معمارية التطبيق. برمجة التطبيق: تطوير الكود وحمايته وضمان توافق أجزائه. الاختبار: البحث النظامي عن العيوب وإصلاحها. العمليات: تشمل التثبيت والدعم والصيانة. النموذج المرن Agile يعد النموذج المرن حلقةً يدور فيها مطورو التطبيق في مراحل التطوير السابق ذكرها. يلتزم هذا النموذج بالمبادئ التالية: إرضاء الزبون بالتقديم المبكر والمستمر للبرمجية على نحو فعّال. الترحيب بتغير المتطلبات خلال فترة التطوير. تسليم البرمجية بسرعة (كل عدة أسابيع لا كل عدة أشهر). التعاون الوثيق اليومي بين أصحاب العمل والمطورين. تبنى التطبيقات وتركز على الأفراد أصحاب الدافع، الذين يجب أن يوثق بهم. التواصل المباشر (الواقعي) هو أفضل أنواع التواصل. إصدار برمجية تعمل هو أفضل مقياس للتقدم. التطوير المستدام، والحفاظ على وتيرة ثابتة. الاهتمام المستمر بالتفوق التقني والتصميم الصالح. تنشأ أفضل المعماريات والمتطلبات والتصميمات من الفرق التي تنظم نفسها. يجتمع الفريق دوريًّا ويفكر في طرق زيادة فعاليته ويعدل نفسه بحسبها. نموذج التطوير السريع Rapid application development يفضل هذا النموذج التطوير المتكرر (المرور عدة مرات على الكود نفسه لتطويره تدريجيًّا) وبناء نماذج أولية للميزات بدلًا من التركيز على المخططات والنظريات. أهم مبادئ هذا النموذج: الهدف الأساسي: تطوير نظام عالي الجودة بسرعة وبأقل تكلفة استثمارية ممكنة. محاولة تقليل الخطر في المشروع بتقسيمه إلى أجزاء والترحيب بالتغيير في فترة التطوير. السعي إلى إنتاج نظام عالي الجودة بسرعة. التركيز الأساسي هو تلبية الحاجة في العمل، أما التفوق التقني والهندسي فهو ذو أهمية أقل. وضع أولويات وتحديد مواعيد إنجاز نهائية. الاستفادة من المستخدم في عملية التطوير. إنشاء توثيق للنظام لتسهيل التطوير والصيانة في المستقبل. لغات تطوير التطبيقات ومكتباتها إن أهم جزء في صناعة التطبيقات هو برمجتها وإنشاؤها، لذلك فإن معرفة لغات البرمجة المستخدمة أمر لا بد منه للمتعلم المبتدئ، وتختلف لغات تطوير التطبيقات حسب نوع التطبيق الذي تريد تقديمه، ففي حين يمكن استخدام بعض أطر العمل والمكتبات لتقديم تطبيقات متعددة المنصات، تختص بعض لغات البرمجة بأنظمة ومنصات محددة لا تخرج منها. تطوير التطبيقات باستخدام لغة بايثون Python تعد لغة بايثون من اللغات الصاعد نجمها في الآونة الأخيرة، وهي لغة عامة الغرض أي يمكن استعمالها أين ما أمكن وقد شاع استخدامها في تطبيقات تحليل البيانات والذكاء الصنعي. يمكن استعمال لغة بايثون بمساعدة مكتبات متخصصة لبناء مختلف أنواع التطبيقات ومنها: سطح المكتب: تُستعمل لتطوير تطبيقات سطح المكتب بدون واجهة رسومية أو مع واجهة رسومية باستعمال مكتبة TKinter التي تعتمد على مكتبة TK الشهيرة. الويب: يُستعمل إطار العمل جانغو Django وإطار فلاسك Flask أو Pyramid الجوال: تُستعمل مكتبة Kivy لتطوير تطبيقات متعددة المنصات تعمل على الجوالات وعلى الحواسيب. دورة تطوير التطبيقات باستخدام لغة Python احترف تطوير التطبيقات مع أكاديمية حسوب والتحق بسوق العمل فور انتهائك من الدورة اشترك الآن تطوير التطبيقات باستخدام لغة جافاسكربت JavaScript أما لغة جافاسكربت، فهي لغة متخصصة بالويب والمتصفحات عمومًا فهي أهم لغة في تطوير تطبيقات الويب وتوفر مكتباتها طيفًا واسعًا من الإمكانيات لتطوير تطبيقات لمختلف المنصات وإليك أهم المكتبات: سطح المكتب: تُستعمل مكتبة Electron.js، التي أثبتت نجاحًا باهرًا في إنشاء تطبيقات سطح المكتب تعمل على مختلف أنظمة التشغيل. الويب: يُستعمل إطار أنجولر Angular أو ريآكت React لتطوير الواجهات الأمامية لتطبيقات الويب، وبيئة Node.js لتطوير النظم الخلفية لها. الجوال: يُستخدم إطار React Native لتطوير تطبيقات أندرويد أو iOS. دورة تطوير التطبيقات باستخدام لغة JavaScript تعلم البرمجة بلغة جافا سكريبت انطلاقًا من أبسط المفاهيم وحتى بناء تطبيقات حقيقية. اشترك الآن تطوير التطبيقات باستخدام لغة Java و C++ تمتاز لغة جافا Java في مجال تطوير تطبيقات سطح المكتب ذات الواجهات الرسومية بمكتبة JavaFX التي اتسع نطاقها بفضل JavaFXPorts لتشمل الجوالات العاملة بنظام Android ونظام iOS. تستعمل لغة Java كذلك في تطوير تطبيقات الأندرويد، إذ كانت هي اللغة الرسمية لبرمجتها قبل أن تحل محلها شبيهتها الحديثة كوتلن Kotlin. أما لغة C++، فتدعمها عدة مكتبات للواجهات الرسومية، منها gtkmm، وهي المكتبة الرسمية للواجهات الرسومية فيها، ومنها مكتبة Qt التي تستعمل في بناء واجهات المستخدم الرسومية وفي تطوير تطبيقات متعددة المنصات تعمل على أنظمة لينكس وويندوز وماك وحتى الأندرويد. من أهم المشاريع التي تستعمل مكتبة Qt إطارات عمل KDE وهي 83 مكتبة مبنية باستخدام Qt. تطبيقات الحاسوب المكتبية مقابل تطبيقات الويب شهدت السنين الأخيرة انتشار تطبيقات الويب وازدياد استخدامها على نطاق واسع، وأدى هذا الانتشار إلى اختلاف مفهوم التطبيقات وكيفية شرائها وتخزينها، حيث انتشرت التطبيقات السحابية ذات الاشتراكات الدورية (الشهرية أو السنوية)، ويبرز هذا الاتجاه عندما نرى أن شركة مايكروسوفت أصدرت مجموعة برامج الأوفيس كتطبيقات ويب سحابية تحت اسم Office 365، ونرى انتشار استخدام تطبيقات ويب مثل Figma، و Google Drive وغيرها. لقد سادت تطبيقات الويب مشهد التطبيقات العالمي بفضل مرونتها وتعدد منصاتها وسهولة استخدامها ولأن كل ما تطلبه إتصال بالإنترنت ومتصفح ويب وهذا ما أصبح متوفرًا على أغلب الحواسيب والجوالات المحمولة ومختلف الأجهزة. إذ لا تحتاج تطبيقات الويب إلى أي عملية تثبيت، كل ما عليك هو استعمال متصفحك لاستخدامها. تمتاز تطبيقات الويب كذلك بإمكانية تحويلها إلى تطبيقات سطح مكتب أو جوال، باستعمال عدة مكتبات، والسائد حاليًا استعمال تطبيقات الويب التقدمية PWA لمختلف المنصات وأنظمة التشغيل. كما يمكن تحويل تطبيقات الويب إلى تطبيقات جوال لتسمى آنذاك تطبيقات هجينة فهي ليست إلا تطبيقات ويب مغلفة في حزم تثبيت للجوال يمكن تثبيتها من متاجر التطبيقات، أما تطبيقات الويب التقدمية فلا تحتاج إلى تثبيتها أصلًا. من جهة أخرى، تساعد مكتبة إلكترون Electron.js في تحويل تطبيقات الويب إلى تطبيقات سطح مكتب، إذ تعرض على موقعها شعار «إذا كان في مقدورك أن تصنع موقعًا إلكترونيًّا، ففي مقدورك أن تصنع تطبيق سطح مكتب». ستجد في أيامنا هذه أن استعمال تقنيات الويب في تطوير تطبيقات سطح المكتب والجوال أصبح أسلوبًا شائعًا وفعّالًا تعتمد عليه أكبر الشركات البرمجية، ولم يعد مجرد أسلوب فرعي يتجه إليه غير العارفين بلغات البرمجة الأصيلة وهذا ما زاد الطلب على مطوري الويب في سوق العمل. تعلم تطوير التطبيقات يتجه بعض الناس إلى البحث عن دورات تعليمية إنكليزية لتطوير التطبيقات ولكن هذا يتطلب تعلم لغة أجنبية كاملة من أجل تعلم علوم الحاسوب والحقيقة لا أفضل من التعلم باللغة الأم نفسها، لذا عملت أكاديمية حسوب على توفير دورات متكاملة بلغة عربية مع توفير كل المراجع المطلوبة من كتب ومقالات وتوثيقات لتعلم البرمجة وعلوم الحاسوب من مكان واحد، وهنا اخترت لك دورتين متعلقتين بمجال تطوير التطبيقات. دورة تطوير التطبيقات باستخدام لغة بايثون Python أُعِدّت دورة تطوير التطبيقات باستخدام لغة بايثون Python على يد نخبة من المطورين لتنقلك من الصفر في البرمجة إلى الاحتراف، حيث ستتمكن في 57 ساعة من الفيديو من تعلم تطوير التطبيقات والمواقع باستخدام لغة بايثون. تغطي الدورة الجانب النظري وتعتمد الاعتماد الأكبر على التطبيق العملي، وتشمل الدورة تعليم إطار العمل جانغو Django وإطار العمل فلاسك Flask، وهو ما سيؤهلك للعمل في المجال باستخدام لغة بايثون Python، وتقدم لك أكاديمية حسوب بعد إتمام الدورة واجتياز اختباراتها دعمًا لدخول سوق العمل والحصول على أول وظيفة في البرمجة. دورة تطوير التطبيقات باستخدام لغة جافاسكربت JavaScript طرحت أكاديمية حسوب دورة تطوير التطبيقات باستخدام لغة جافاسكربت JavaScript بما يزيد عن 55 ساعة، حيث ستبني الدورة عندك أساسًا نظريًّا متينًا مع تطبيق عملي على مشاريع عديدة مع مدربين متوافرين على مدار الساعة لمساعدتك وشرح أي شيء يستعصي علي. تتألف الدورة من 9 مسارات تستطيع البدء فيها دون معرفة مسبقة بالبرمجة، وستعلمك الدورة بناء تطبيقات على بيئة Node.js ومكتبة React.js، وبرمجة تطبيقات الجوال باستخدام ReactNative، واستعمال تقنيات الويب لتطوير تطبيقات سطح المكتب باستعمال Electron.js، وهو ما سيؤهلك إلى العمل مطورًا للتطبيقات ويضعك على المسار الصحيح في مشوارك المهني. سوق العمل في تخصص تطوير التطبيقات تتنوع أجور العمل في سوق تطوير التطبيقات بتنوع البلدان والمهارات التي يتمتع بها المطور. ففي الإمارات العربية المتحدة تحديدًا في إمارة دبي، وحسب موقع glassdoor، يبلغ متوسط أجر مطوري البايثون 4,500 درهم إماراتي شهريًّا. أما مطور الويب في دبي، وحسب بيانات الموقع نفسه، فيبلغ متوسط أجره 6,000 درهم إماراتي شهريًّا، وفي جمهورية مصر العربية، وحسب بيانات موقع salaryexplorer، يبلغ متوسط أجر مطور الويب 7,650 جنيهًا مصريًّا في الشهر، أما مطور البايثون، فيبلغ متوسط أجره 9,380 جنيهًا في الشهر، حسب بيانات الموقع نفسه هذا أثناء تاريخ كتابة المقال وقد تتغير الأرقام في تاريخ قراءة المقال، والأرقام تلك تدل على أجور مرتفعة عن أي مهنة أخرى. إذا أردت البحث عن عمل عن بعد في مجال تطوير التطبيقات، ألق نظرة على موقع بعيد، الذي لا يخلو من فرص عمل في هذا المجال. لا تنس كذلك تقديم خدماتك في موقع خمسات، والبحث عن مشاريع مناسبة لك في موقع مستقل، الذي سيساعدك مساعدة كبيرة في معرفة اتجاهات السوق وفي العمل إذا قبلك صاحب أحد المشاريع. خاتمة أخيرًا، أرجو أن تكون هذه المقالة مفيدة نافعة أعطتك لمحة عن مجال تطوير التطبيقات، وأن تكون استفدت من قراءتها. أتمنى لك التوفيق في رحلتك! اقرأ أيضًا دليلك الشامل إلى تعلم البرمجة تعلم تطوير الويب وبرمجة المواقع برمجة تطبيقات الجوال
-
لقد بلغت شهرة نظام أندرويد 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. دورة تطوير التطبيقات باستخدام لغة JavaScript تعلم البرمجة بلغة جافا سكريبت انطلاقًا من أبسط المفاهيم وحتى بناء تطبيقات حقيقية. اشترك الآن تطبيقات الأندرويد الهجينة 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 وأيضًا لا تنسَ الاطلاع على قسم البرمجة وأيضًا قسم الكتب في أكاديمية حسوب ففيهما مقالات تعليمية وعلم نافع دفين يستحق الاطلاع! خاتمة وصلنا إلى نهاية هذا المقال الذي عرضنا فيه سريعًا أهمية منصة أندرويد وكيفية برمجة تطبيقات الأندرويد واللغات المستخدمة فيها ثم تطرقنا أخيرًا إلى خطوات التعلم مع عرض مصادر جيدة للانطلاق منها ودخول سوق العمل. أخيرًا، أرجو لك التوفيق في رحلتك لتعلم برمجة تطبيقات الأندرويد والعمل فيها. وأرجو أن تكون هذه المقالة ساعدتك في دخولك إلى هذا العالم الكبير! اقرأ أيضًا برمجة تطبيقات سطح المكتب ما هي فوائد تعلم البرمجة؟
-
برمجة تطبيقات الجوال أصبحت واحدة من أهم المهن في عالمنا الحديث بسبب انتشارها الواسع واعتمادنا عليها في حياتنا اليومية، إذ تطبيقات الجوال هي ببساطة برامج مصممة لتعمل على أجهزة الجوال المحمولة، كالهواتف المحمولة والأجهزة اللوحية والساعات الذكية. كانت تطبيقات الجوال تركز في بداية ظهورها على دعم الإنتاجية، كتطبيقات الرسائل وجهات الاتصال والبريد الإلكتروني والتقويم، لكن مع تطور العصر الرقمي ورقمنة كل شيء حولنا تقريبًا، اتسعت دائرة عمل تطبيقات الجوال حتى شملت مجال الصحة مثل تطبيقات اللياقة البدنية ومجال المال مثل تطبيقات البنوك والحوالات المالية ومجال التواصل مثل تطبيقات التواصل الاجتماعي والاتصال المرئي المختلفة ومجال الألعاب وكل المجالات الأخرى حولنا تقريبًا. بناءً على ذلك، زاد اعتمادنا على تطبيقات الجوال لذا زادت الحاجة إلى برمجة تطبيقات الجوال وتطويرها وصيانتها، لذا سيناقش هذا المقال موضوع برمجة تطبيقات الجوال وأنواعها وأبرز لغاتها وأهميتها وكيفية تعلمها، فهل أنت جاهز للتعرف على هذا المجال ودخوله؟ فلنبدأ! أهمية تطبيقات الجوال ومدى انتشارها وفقًا لموقع Statistica في إحصائيته عام 2021، بلغ عدد مستخدمي الجوالات أكثر من 6 مليارات إنسان ولاحظ أن عدد البشرية اليوم وصل إلى 8 مليارات بحسب إحصائيات WorldoMeters، مع توقعات بأن يبلغ أكثر من سبعة مليارات ونصف المليار عام 2027. لا غرابة إذن في أن برمجة تطبيقات الجوال صناعة مزدهرة ومقبلة على مستقبل مشرق. أما في عالمنا العربي، بلغ عدد مستخدمي الجوالات الذكية في مصر عام 2021 قريبًا من 50 مليون مستخدم، أي ما يقارب نصف عدد السكان الكلي. في عام 2019، بلغ عدد مستخدمي الجوالات في المملكة العربية السعودية 28.81 مليون مستخدمًا، أي ما يكافئ 84% من تعداد السكان. إليك بعض الإحصائيات التي قد تثير اهتمامك وتوضح مدى استخدام الجوال وتطبيقات الجوال: حسب تقرير موقع DataReportal عام 2022، تبلغ حصة الجوالات من وقت الشباب على الإنترنت أكثر من 53% ، والمقصود بالشباب هنا الذين في عمر العمل (من عمر 15 إلى 64). حسب تقرير State of Mobile الصادر عن موقع data.ai، يقضي مستخدم الجوال العادي بالمتوسط 4 ساعات و 48 دقيقة من يومه في استعمال الجوال. ستبلغ عائدات تطبيقات الجوال 430 مليار دولار في 2022، حسب بيانات موقع Statistica. حسب إحصائيات غوغل وإبسوس الصادرة في أكتوبر 2016، يحتوي جوال المستخدم المتوسط 35 تطبيقًا مثبتًا. تبين هذه الإحصائيات حجم سوق تطبيقات الجوال واتجاهه الصاعد، وتعطينا لمحة عن الفرصة الكامنة في تعلم برمجة تطبيقات الجوال ودخول هذا السوق. أشهر منصات الجوال: مقارنة بين أندرويد ونظام iOS لا نكاد نرى في سوق تطبيقات الجوال اليوم نظامًا سوى أندرويد Android ونظام iOS (نظام جوالات الآيفون)، فحسب إحصائيات موقع Statistica، بلغ نصيب نظام أندرويد من سوق أنظمة الجوالات العالمي في أغسطس 2022 أكثر من 71%، في حين كان نصيب نظام iOS أقل من 28%، أما الأنظمة الأخرى فلم تبلغ حصتها إلا 0.65%. أما في المملكة العربية السعودية، وفقًا لإحصائيات موقع statcounter، يحتل نظام iOS الصدارة إذ بلغ نصيبه في سبتمبر 2022 أكثر من 54%، أما نظام أندرويد فاحتل المرتبة الثانية إذ بلغت نسبته من السوق الإجمالي أقل من 46%. وحسب إحصائيات الموقع نفسه، احتل اندرويد الصدارة المطلقة في مصر حيث بلغت حصته من سوق منصات الجوال 86% في سبتمبر 2022، أما نظام iOS فاكتفى بأقل من 14%. تساعدك هذه الإحصائيات على تحديد المنصة التي تريد تعلم تطوير تطبيقات لها والاختصاص بها إن تكن حددته مسبقًا، فمثلًا في بلد تكون المنصة السائدة فيه أندرويد فالتخصص في بناء تطبيقات اندرويد مناسب وهنالك احتمالية أكبر في العثور على فرصة عمل فيه، وفي كل الأحوال سوق برمجة تطبيقات الجوال واسع وكبير سواءً لمنصة أندرويد أو iOS وسواءً اخترت هذه أم تلك لتتخصص بها، يبقى هنالك خيار ثالث وهو التخصص في بناء تطبيقات واحدة وتعمل على كلا المنصتين وهذا ما سنتعرف عليه لاحقًا في فقرة منهجيات تطوير تطبيقات الجوال. دورة تطوير التطبيقات باستخدام لغة JavaScript تعلم البرمجة بلغة جافا سكريبت انطلاقًا من أبسط المفاهيم وحتى بناء تطبيقات حقيقية. اشترك الآن مراحل برمجة تطبيقات الجوال قبل البدء ببرمجة تطبيق للجوال، لا بد من فهم مراحل تطوير التطبيقات مرحلة مرحلة، إذ تتنوع أساليب تطوير تطبيقات الجوال (والتطبيقات عمومًا)، لكنها تتقاطع مع هذه المراحل: وضع المتطلبات تصميم تطبيق الجوال برمجة التطبيق اختبار التطبيق ونشره وضع المتطلبات تشمل المرحلة الأولى تحديد ميزات التطبيق ومتطلباته الوظيفية والأدائية، وتجيب على أسئلة مثل ما هي المشكلة التي سيحلها التطبيق؟ كيف سيحلها؟ على أي منصة أو نظام سيعمل؟ ومن سيستفيد منه وكيف سيستخدمه؟ حيث سترسم لك الإجابة عن هذه الأسئلة صورة جيدة تستطيع أن ترى فيها كيف يمكن أن تمضي في عملية التطوير. غالبًا يعمل على هذه المرحلة صاحب التطبيق أو مدير المشروع -يسمى عادة مدير تطوير المنتج- أو في حالات أخرى يناقشها صاحب التطبيق معك قبل الانتقال إلى المرحلة الثانية، وعلى الهامش، إن عملت على هذه المرحلة فستكسب خبرة جيدة في إدارة تطوير المنتجات الرقمية. تصميم تطبيق الجوال في المرحلة الثانية، بعد فهم التطبيق وميزاته والمستخدمين الذين سيستخدمونه، يستطيع فريق التصميم البدء ببناء واجهات أولية وتطويرها حتى تبلغ الشمول والكمال، وتُستعمَل في هذه المرحلة برامج تصميم واجهات المستخدم UI مثل فيجما Figma أو أدوبي إكس دي Adobe XD، حيث تساعد هذه البرامج على بناء الواجهات واختبارها وتحديد المطلوب منها وإجراء أي تعديلات نهائية قبل البدء بمرحلة البرمجة والتطوير، إذ كل ذلك يختصر من مرحلة برمجة الواجهات ويسهل على المبرمج معرفة المطلوب بدقة. برمجة تطبيق الجوال في المرحلة الثالثة، بعد تصميم الواجهات تبدأ مرحلة البرمجة للواجهات الأمامية والخلفية للتطبيق، ويمكن أن تبدأ مرحلة برمجة الواجهات الأمامية frontend أولًا ثم تبدأ بعد الانتهاء منها مرحلة تطوير الواجهات الخلفية backend أو العمل عليهما سويةً وهذا يختلف باختلاف المنهجية المراد اعتمادها في برمجة تطبيق الجوال -سنتحدث عنها في الفقرة القادمة- ولغات البرمجة والتقنيات المراد استعمالها والميزانية المخصصة أصلًا لهذه المرحلة مرحلة برمجة تطبيق الجوال إذ هي أكثر مرحلة مكلفة في مراحل بناء التطبيق وأهمها. عمومًا، يمكن تخطي المرحلة الأولى والثانية والبدء بهذه المرحلة مباشرة بالنسبة للتطبيقات الناشئة أو التجريبية أو المستعجلة مثلًا فأحيانًا يأتي صاحب فكرة التطبيق إلى المبرمج مباشرة ويخبره بفكرته وما يطلبه من التطبيق مع مدة زمنية قصيرة ليبدأ المبرمج مباشرة بالعمل على التطبيق وبرمجته وبناء واجهاته بالاتفاق مع صاحبه واختصارًا للوقت، فإن لاقى التطبيق لاحقًا رواجًا وقارب الهدف منه، فيمكن العمل على تحسينه وإعادة تصميم واجهاتها مثلًا وتخصيص فريق كامل للعمل عليه وهكذا. اختبار التطبيق ونشره تقتضي المرحلة الرابعة اختبار المنتج بعد تطويره ثم نشره على متاجر تطبيقات الجوال المستهدفة للمنصة مثل متجر Google Play على منصة أندرويد ومتجر App Store على منصة iOS. تشمل هذه المرحلة اختبار تحقيق المنتج للهدف المطلوب من حيث الوظائف والتأكد من عدم وجود أي أخطاء فيه، كما تشمل اختبار جودته وسرعته وأدائه، وللاختبار نوعان: الاختبار اليدوي والاختبار المؤتمَت، قد يحتاج تطبيقك إلى أحدهما أو كليهما حسب نوعه، وبالنسبة للاختبار اليدوي فقد يضم فريقًا -من شخص أو أكثر- لاختبار التطبيق وميزاتيه وكل شيء فيه يدعى فريق ضمان الجودة QA team أو قد يقتصر الاختبار على صاحب التطبيق نفسه وفريق التطوير في التطبيقات الصغيرة والناشئة لتقليل التكاليف واختصار الوقت. منهجيات تطوير تطبيقات الجوال يستطيع المطور أن يطور تطبيق جوال بواحدة من منهجيات متعددة تتعلق بالمنصة المستهدفة تنقسم التطبيقات بناء عليها إلى الأقسام التالية: تطبيقات الجوال الأصيلة Native Apps تطبيقات الجوال الأصيلة متعددة المنصات Cross-Platform Apps تطبيقات الجوال الهجينة Hybrid Apps تطبيقات الويب التقدمية Progressive Web Apps تطبيقات الجوال الأصيلة Native Apps هي التطبيقات المبرمجة لنظام تشغيل معين فقط من نظم تشغيل الجوال المنحصرة حاليًا بنظام أندرويد ونظام iOS، وتتميز تطبيقات الجوال الأصيلة بأنها قادرة على التخاطب مع نظام التشغيل مباشرةً واستعمال وظائف النظام الأصيلة والتحكم المباشر والكامل بعتاد الجوال بكفاءة وسرعة مثل الاتصال بأجهزة الشبكة المحلية واستعمال الكاميرا والمايكروفون (المِجهار) وغيرها، وتقدم أمانًا جيّدًا. بالمقابل، كلفة تطوير وصيانة هذا النوع من التطبيقات مرتفعة نسبيًّا، وتتطلب وقتًا أكبر وكلفة زائدة للتطوير خصوصًا إن أردت استهداف منصة أندرويد ومنصة iOS سويةً، ولا يمكن تشغيلها على الحاسوب، ولا بد من تحديثها دوريًّا لاستعمال أحدث الميزات فيها. هذا النهج مناسبة للتطبيقات التي تتطلب تحكمًا كاملًا بالعتاد ووصولًا مباشرًا إليه مثل تطبيقات الألعاب التي تجري عمليات معالجة كبيرة وتحتاج إلى التحكم بالذاكرة والتخزين والصوت والمايكرفون. من أمثلة تطبيقات الجوال الأصيلة: تطبيق التقويم وتطبيق الكاميرا ومتجر التطبيقات الأساسي في جوالك. تطبيقات الجوال متعددة المنصات Cross-Platform Apps يقارب هذا النوع من التطبيقات الميزات التي تقدمها التطبيقات الأصيلة ولكن بمحدودية وصول أقل للعتاد قد تصل إلى حصول مشاكل في التوافقية أحيانًا وأداءً أقل من التطبيقات الأصيلة وهذا يعتمد على المكتبة أو إطار العمل المستخدم في التطوير. الميزة الأساسية من هذا النهج هي عدم الحاجة إلى كتابة كود مستقل لكل نظام تشغيل بل كتابة كود واحد للتطبيق يُحول عند النشر إلى المنصة المستهدفة سواءً أندرويد أو iOS، وهكذا تقلل التطبيقات المتعددة المنصات من كلفة تطوير التطبيقات وصيانتها، وتسهل عملية برمجة تطبيقات الجوال، كما تتيح تشغيل التطبيقات على الحاسوب. من أمثلة تطبيقات الجوال متعددة المنصات: متصفح Chrome، وفيرفكس، وتطبيق Adobe Reader، وغيرها. تطبيقات الجوال الهجينة Hybrid Apps تطبيقات الجوال الهجينة هي في حقيقتها تطبيقات ويب تظهر بمظهر تطبيقات الجوال ومغلفة بغلاف مخصص لعرضها ضمن الجوال، إذ تستعمل تطبيقات الجوال الهجينة في عرضها ضمن الجوال محركات عرض صفحات الويب WebView التي تستعملها متصفحات الويب. تسهّل منهجية تطبيقات الجوال الهجينة برمجة تطبيقات الجوال لا سيما على الذين يجيدون تطوير الويب لأن التقنيات المستعملة نفسها تمامًا، كما تُسرِّع من عملية تحويل موقع ويب جاهز إلى تطبيق جوال لاستهداف مستخدمي الجوال المحمول دون بذل جهد كبير أو تكاليف إضافية بتوظيف فريق تطوير متخصص. أحد أهم مساوئ التطبيقات الهجينة أنها لا تعمل بكفاءة التطبيقات الأصيلة أو متعددة المنصات ووصولها إلى العتاد محدود جدًا لأنها مبنية على حاوية وسيطة تصلها بنظام التشغيل، فهي مرتبطة في النهاية بمحدوديات وقيود تلك الحاوية الوسيطة. وعمومًا إن لم تكن للتطبيق حاجة كبيرة إلى التخاطب مع نظام التشغيل مباشرةً واستعمال عتاده من معالج وذاكرة وتخزين وكاميرا مثلًا، فهذا النهج مناسب وأي نهج آخر غير نهج التطبيقات الأصيلة، مثل أن يكون التطبيق لعرض بيانات مثلًا أو تتبع حالة طلب عبر رمز لديه أو غيرها من الحالات البسيطة. من أمثلة تطبيقات الجوال الهجينة: تطبيق Evernote وتطبيق UBER. تطبيقات الويب التقدمية Progressive Web Apps تشابه تطبيقات الويب التقدمية PWA تطبيقات الجوال الهجينة من حيث أنها تبنى باستخدام تقنيات الويب وتُعرض عبر متصفح الويب نفسه وتكون مخصصة لتظهر بمظهر تطبيق جوال أي الواجهات مناسبة للشاشات الصغيرة والمتوسطة كما أنها تعمل عند عدم الاتصال بالإنترنت عبر تخزين البيانات اللازمة لعرض صفحات التطبيق ولكن بمحدودية كبيرة حيث في النهاية تحتاج إلى اتصال في الإنترنت. تُضاف تطبيقات الويب التقدمية إلى الجوال من المتصفح، باستخدام خيار «إضافة إلى الشاشة الرئيسية» الذي يظهر عندما يفتح المتصفح تطبيق ويب تقدمي كما أن هنالك نهج حاليًا لنشر هذه التطبيقات ضمن متاجر تطبيقات المنصات مثل متجر جوجل بلاي Google Play وآب ستور App Store، وما يجري إضافته إلى نظام التشغيل أيقونة التطبيق ومعلومات عنه ليظهر ضمن قائمة التطبيقات وهيكل أساسي يُعرض في وضع عدم الاتصال عند فتحه دون إنترنت لذا تجد حجمها صغيرٌ جدًا بالمقارنة مع التطبيقات الأصيلة في نظام التشغيل. ميزة هذا النهج هو توفير وسيلة مختصرة للوصول إلى موقع ويب ضمن الجوال بدلًا من فتح المستخدم المتصفح ثم الدخول إلى موقع الويب إلا أنها مقيدة بما يتعلق بوصول التطبيق للتعاد وكفاءة عمله، لذا تجد أغلب من يلجأ إليه أصحاب مواقع الويب ومواقع التجارة الإلكترونية. من أمثلة تطبيقات الويب التقدمية: تطبيق إدارة المهام أنا وتطبيق Starbucks وتطبيق Flipboard. مقارنة بين التطبيقات الأصيلة ومتعددة المنصات والهجينة لكل من هذه المنهجيات محاسن ومساوئ، يستعرضها هذا الجدول: التطبيقات الأصيلة التطبيقات متعددة الأنظمة التطبيقات الهجينة التطبيقات التقدمية تطوَّر باستعمال حقائب التطوير التي يقدمها ملّاك المنصات مثل آبل وغوغل. وتعمل على منصة واحدة. تطور باستعمال لغات برمجة متنوعة ثم تصرَّف لكل نظام على حدة. تبنى التطبيقات الهجينة باستخدام أحدث تقنيات الويب مثل HTML، وCSS، وJavaScript، ثم تجمَّع في تطبيق جوال للنظام المستهدف. تختلف التطبيقات الهجينة عن التطبيقات متعددة الأنظمة من حيث أنها تستعمل حاويات الويب ونظام المتصفح. لا تتطلب تطبيقات الويب التقدمية تطوير تطبيقات أصيلة أو متعددة الأنظمة. تتجاوز هذه التطبيقات متاجر التطبيقات، وتعمل من المتصفح مباشرة، سواء أكان الجهاز حاسوبًا أم جوالًا. يُضاف إلى شاشة الجوال أيقونة تطبيق هي رابط إلى التطبيق. التطبيقات التقدمية في حقيقتها تطبيقات ويب تعمل على الجوال. تقدم أفضل سرعة وأداء. كود واحد للأنظمة المختلفة. الكود مشترك بين الويب وتطبيق الجوال. تعمل التطبيقات على الويب كما تعمل على الجوال. فيها تكاليف عالية لبناء وصيانة كود لكل منصة مفردة. في ظل غياب المكتبات الأصيلة، لا بد من الاعتماد على مكتبات مفتوحة المصدر. أداؤه ليس كالأصيل، لأنه مبني باستخدام تطبيقات مخصصة للويب. ما من دعم للأجهزة الأصيلة. تعمل على قدرات المتصفح فقط. لا بد من تطبيق الميزات بطرق مختلفة حسب حقيبة التطوير التي تقدمها المنصة. لم يكتب الكود بالمكتبة الأصيلة، أي لا بد من تصريفه وجسره، وهي عملية قد تكون صعبة. لا توفر دعمًا للأجهزة الأصيلة. إذا فُقد الاتصال، خسر التطبيق تفاعله إلى حد كبير. table { width: 100%; } thead { vertical-align: middle; text-align: center; } td, th { border: 1px solid #dddddd; text-align: right; padding: 8px; text-align: inherit; } tr:nth-child(even) { background-color: #dddddd; } أفضل طريقة لبرمجة تطبيقات الجوال بعد هذه المقارنة، قد يبقى في ذهنك سؤال: ما هي أفضل طريقة لبرمجة تطبيقات الجوال؟ في الحقيقة، ليس لهذا السؤال جواب واحد ثابت يصلح في كل الحالات. تعتمد طريقة المختارة لبرمجة تطبيقات الجوال على عدة عوامل منها القدرات التي يحتاج إليها التطبيق ومقدار ما سيستخدم من عتاد ويتواصل مع نظام التشغيل وعلى أهمية السرعة والأداء، ويعتمد أيضًا على الميزانية المرصودة وهو أهم العوامل صراحة، وعلى ظروف المستخدم الذي تستهدفة. إليك بعض النقاط التي تساعد في الاختيار: استعمل تطوير التطبيقات الأصيلة عندما يحتاج التطبيق إلى القدرات الأصيلة التي يقدمها الجهاز والنظام. تستطيع التطبيقات الأصيلة الوصول إلى القدرات العتادية في الجهاز كتحديد المواقع والكاميرا والمايكروفون، وهو ما يساعدها على تسريع تنفيذ المهام ويغني تجربة المستخدم. إذا كان بناء تطبيق مستقل لكل نظام يتطلب وقتًا أو تمويلًا أكبر من الذي عندك، فعليك بالتطبيقات متعددة المنصات وهي مناسبة أيضًا إذا أردت أن توحّد تجربة المستخدم بين المنصات، وأن يكون فريق تطويرك واحدًا ينشر للنظامين، وإذا لم تكن جاهزًا لبناء تطبيقين مختلفين وصيانتهما باستمرار. تعمل تطبيقات الويب التقدمية من المتصفح، وتطوَّر بتقنيات الويب التقليدية، لذا، اختر تطوير تطبيق تقدمي إذا كان لدى مستخدمك المستهدف اتصال لا يتقطّع بالإنترنت، وإذا كان تطبيقك يستطيع تقديم خدماته بالاعتماد على المتصفح وحده، ولا يتطلب قدرات الجهاز الأصيلة كتحديد المواقع والكاميرا والجيروسكوب وغيرها. تصميم تطبيقات الجوال: واجهة المستخدم وتجربة المستخدم UI/UX إن لمنظر تطبيق الجوال وهيئته أثر كبير على أذهان المستخدمين فلا بد أن تتأكد أن تصميم التطبيق جميل ويوفر تجربة سهلة للمستخدم. قبل تصميم تطبيق جوال، وهنا يجب أن نتعرف على مفهومين مهمين في مجال برمجة تطبيقات الجوال: واجهة المستخدم UI وتجربة المستخدم UX. تصميم واجهة المستخدم User Interface عند تصميم تطبيق جوال، يركز المصمم على أن يكون مظهر التطبيق جميلًا وجذابًا، فتصميم واجهة المستخدم هو أن تجعل مظهر تطبيقك متناسقًا ومتبعًا لأحدث الاتجاهات في التصميم، حتى تدعم تجربة المستخدم، إذ يستعمل المصممون عادة عدة مبادئ في التصميم منها مبدأ الهيكلة، ومبدأ البساطة، ومبدأ الانطباع، وغيرها. تصميم تجربة المستخدم User eXperience تجربة المستخدم هي كيفية تفاعل المستخدم مع التطبيق والتأكد من سهولتها ووضوحها. في تطبيقات الجوال، ينبغي أن يكون التصميم على نحو يخلق في المستخدم تجربة إيجابية بعد استخدام التطبيق. تشمل تجربة المستخدم عوامل كثيرة منها المظهر وسهولة الوصول وسهولة الاستخدام وأداء النظام وفائدته وغير ذلك وهنا عدة قوانين لتجربة المستخدم يطبقها المصمم مثل تأثير الاستخدام الجمال وتأثير التدرج نحو الهدف وتأثير الموقع التسلسلي وغيرها. ومع تزايد اتجاه الشركات إلى التصاميم المتمحورة على المستخدم، أصبح مفهوم تجربة المستخدم والعناية بكيفية تفاعله واستخدامه للتطبيق أمرًا لا بد منه. لغات برمجة تطبيقات الجوال تتنوع لغات برمجة تطبيقات الجوال حسب منهجية البرمجة وحسب نظام التشغيل وحسب المكتبة أو إطار العمل المراد استعماله بعد تحديد المنهجية ومنصة التشغيل وهذا ما سنتعرف عليه في هذه الفقرة. لغات برمجة تطبيقات الجوال الأصيلة عند برمجة تطبيقات الجوال الأصيلة، لا بد من الرجوع إلى حقائب التطوير ولغات البرمجة التي يوفرها أصحاب المنصات لمطوري التطبيقات وهي: لغة سويفت Swift لتطوير تطبيقات منصة iOS لغة كوتلن Kotlin لتطوير تطبيقات منصة أندرويد سويفت Swift تعد لغة سويفت Swift اللغة الرسمية من آبل وعند مقارنتها باللغات المستعملة في برمجة تطبيقات أندرويد، نجد أنها أسهل وتتطلب عملًا أقل، ويجعل فرق العمل هذا تطبيقات iOS أوفر وقتًا وجهدًا بالمقارنة مع تطبيقات أندرويد. كوتلن Kotlin أما تطبيقات أندرويد فيستعمل مطوروها عادةً لغة كوتلن Kotlin الرسمية أو يمكن استعمال لغة جافا Java التي كانت رسمية قبلها مع بيئة Android Studio التي توفرها شركة غوغل للمطورين، كما تتطلب تطبيقات أندرويد وقتًا أطول في التطوير والصيانة، بسبب تنوع الأجهزة وتعدد إصدارات النظام في السوق. يمكن الرجوع إلى توثيق لغة كوتلن العربي في موسوعة حسوب لمزيد من التفاصيل عنها. لغات برمجة التطبيقات متعددة المنصات تتوفر أطر عمل تُستعمَل في بناء تطبيقات الجوال مرة واحدة ثم تُصدَّر لتعمل على مختلف المنصات وهي: ريآكت نيتف React Native فلاتر Flutter أيونيك Ionic ريآكت نيتف React Native يعد إطار React Native أحد أهم إطارات برمجة التطبيقات متعددة المنصات، فبحسب إحصائيات موقع Statistica إن 38% من مطوري تطبيقات الجوال متعددة المنصات يستعملون إطار React Native. يتميز إطار React Native بأنه يستعمل لغة JavaScript ومكتبة React.js، وهو ما يجعل العمل فيه أسهل على متعلمي هذه المكتبة المستعملة أصلًا في بناء مواقع الويب. يمكن تشغيل تطبيقات React Native على أجهزة الأندرويد، ونظام iOS، ونظام macOS، ونظام tvOS، والويب، وعلى نظام ويندوز وغيره. فلاتر Flutter من جهة أخرى، نجد أن إطار فلاتر Flutter، وهو إطار لتطوير التطبيقات متعددة المنصات، يشهد صعودًا في السنتين الأخيرتين. يعد إطار فلاتر من أهم المنافسين في لغات برمجة التطبيقات متعددة المنصات، طورته شركة غوغل وأطلقته عام 2017. يستعمل إطار فلاتر لغة دارت Dart، ويمكن تشغيل تطبيقاته على 5 أنظمة تشغيل هي: نظام iOS، ونظام الأندرويد، ونظام ويندوز، ونظام macOS، ولينكس. أيونيك Ionic في عام 2013 أصدرت مجموعة من مطوري البرمجيات مفتوحة المصدر النسخة الأولية من إطار عمل أيونيك Ionic، وهو إطار حديث خفيف عالي الأداء لتطوير التطبيقات متعددة المنصات وتطبيقات الويب التقدمية. يمكّن هذا الإطار مستخدمه من استعمال أي إطار عمل يستخدم في تطوير الواجهات الأمامية وهي أنجولر Angular، أو ريآكت React.js، أو فيو Vue.js أو بالاعتماد على مكونات أيونيك نفسها فقط. يعدّ هذا الإطار الأشهر استخدامًا في مجال برمجة تطبيقات الجوال لمن يعمل أصلًا في مجال تطوير الويب، إذ ذكر استطلاع أجرته أيونيك أن 75% من مطوري التطبيقات الذين شملهم الاستطلاع وصفوا أنفسهم بمطوري ويب، ولا غرابة في هذا إذا علمنا أن الإطار يستعمل تقنيات الويب نفسها لبناء تطبيقاته. فرص العمل في سوق تطوير تطبيقات الجوال بعد التعرف على مجال برمجة تطبيقات الجوال، قد تتساءل عن حجم فرص العمل في سوق هذا المجال وإمكانية العمل فيه بعد دخوله، وهذا ما سنعرضه الآن. بداية، لا يتطلب العمل في تطوير تطبيقات الجوال شهادة جامعية أي أنك لا تحتاج إلى قضاء 4 إلى 5 سنوات في أروقة الجامعة لتتخرج منها وتدخل بعدها سوق العمل بخبرات نظرية فقط، بل يكفي أن تتعلم هذا المجال وتبني معرض أعمال مميز، لتحصل على فرص عمل وعروض من شركات كثيرة، وأنا أعرف عدة أشخاص يعملون في تطوير تطبيقات الجوال دون أن يسألهم أحد شهادة جامعة في علوم الحاسوب ولمزيد من التفاصيل حول هذه النقطة، يمكن الرجوع إلى فقرة "طرق تعلم البرمجة" من مقال كيفية تعلم البرمجة. أما بخصوص حجم السوق، فلا داعي لتكرار حجم الطلب على تطبيقات الجوال وكبر سوقه التي عرضناها في بداية المقال في فقرة أهمية تطبيقات الجوال ومدى انتشارها، فانظر أولًا إلى نفسك وعائلتك ومن حولك كم عدد التطبيقات التي يستعملونها ومدى الاعتماد عليها في الحياة اليومية لتستنتج مدى كبر سوقها، وهذا يدل على أن صناعة تطوير تطبيقات الأندرويد و iOS، مزدهرة اليوم، وليس في الأفق شيء يدل على أنها ستتراجع في السنين المقبلة. والمبشر في سوق برمجة التطبيقات أن الطلب عليها مرتفع وبالتالي الأجور مرتفعة أيضًا بالمقارنة مع وظائف أخرى، فتنص بعض التقديرات التي نشرتها Glassdoor على أن الأجر الشهري لمطور تطبيقات الجوال في إمارة دبي يبلغ 9,000 درهم. أما في الولايات المتحدة فيبلغ الأجر السنوي 110,000 دولار أمريكي بحسب ITCareerFinder (مع تفاوت بين الاختصاصات الفرعية والولايات المختلفة). الجميل أيضًا في مهنة تطوير التطبيقات أنه يمكن العمل عن بعد أينما كنت، فانظر مثلًا إلى فرص العمل المتوفرة في موقع بعيد وستجد غالبًا فرصة برمجة في مجال التطبيقات عن بعد بمختلف أنواعها فقد وجدت الآن فرصة عمل في تطوير تطبيقات فلاتر. تعلم برمجة تطبيقات الجوال بعد أن تعرفنا على أهمية برمجة تطبيقات الجوال وعرفنا أنواعها وكيفية تطويرها وسوق العمل فيها، وصلنا إلى السؤال المهم، وهو كيف أتعلم برمجة تطبيقات الجوال؟ وهل هنالك محتوى عربي يمكن أن أتعلم منه؟ وسأجيبك! يمكنك تعلم البرمجة عمومًا والتخصص في برمجة التطبيقات خصوصًا عبر طريقين، الأول عبر الدراسة الأكاديمية والثاني بمفردك عبر الدورات البرمجية، فإن كنت سلكت الطريق الأول أو تنوي سلوكه فهو كفيل بالإجابة على هذا السؤال ويمكنك تخطي القسم، أما إن كنت ممن يبحث عن الطريق الثاني، فأنا سأجيبك! يمكنك تعلم البرمجة عبر دورات مخصصة إما بشكل متفرق أو دورات ومحتوى متفرق وتنهل منه ما تريد أو أن تبحث عن دورة واحدة شاملة مخصصة تأخذ بيدك من البداية وحتى المستويات المتقدمة وتقطع بك شوطًا طويلًا وهذا ما أفضله صراحة لأنه قد لا تجد كل ما تريد أو قد تمضي وقتًا طويلًا هنا وهناك ويأخذك التسويف بأيام وأسابيع لا تنجز خلالها إلا القليل خصوصًا أن الدافع هنا هو ذاتك فقط. طبعًا لا يمكنك المسير شبرًا إلا بعد أن تكون قد حددت وجهتك بالمسير والتخصص الذي تريد إما تطبيقات جوال أصيلة وهنا إما أن تختار أندرويد أو iOS أو إما التطبيقات متعددة المنصات والهجينة مع تحديد أي لغة وإطار عمل بالضبط وهنا وبما أن تعلم تطوير التطبيقات الهجينة قد يفتح عليك عدة أبواب ومجالات منها دخول عالم تطوير الويب نفسه وبالتالي عدة أسواق وفرص عمل، لذا فرت أكاديمية حسوب دورة كاملة باسم دورة تطوير التطبيقات باستخدام لغة JavaScript. الشرح يكون باللغة العربية بشكل كامل مع توفير عدة مصادر داعمة مثل مقالات تعليمية وأيضًا توثيقات عربية في موسوعة حسوب كما تعمل خلال الدورة على بناء عدة مشاريع وتطبيقات عملية. تشرح تلك الدورة أولًا لغة جافاسكربت ثم تشرح مكتبة React.js وبعدها تشرح إطار العمل React Native وأيضًا أيونيك Ionic، لذا فهي فرصة جيدة لدخول سوق العمل بخبرة عملية قوية ومشاريع تطبيقية مميزة. في ظل قلة المحتوى العربي التعليمي البرمجي، يتجه كثير من الناس إلى منصات التعليم الإنكليزية لتعلم برمجة تطبيقات الجوال، لكن هذه المنصات ليست خيارك الوحيد. يمكنك أن تتعلم برمجة تطبيقات الجوال باللغة العربية. في هذا السياق، طرحت أكاديمية حسوب دورة متخصصة في تطوير التطبيقات باستخدام لغة JavaScript. أعدت الدورة نخبة من المطورين بأسلوب مشوق وعملي. في 55 ساعة ستبني الدورة عندك أساسًا نظريًّا متينًا وتبني معك تطبيقات عملية ملموسة وتمدّك بالدعم المباشر عند الحاجة. خاتمة في النهاية، وأرجو أن تكون هذه المقالة قد نفعتك وأطلعتك على كامل معالم طريق برمجة تطبيقات الجوال، لذا أرجو لك التوفيق في رحلتك من التعلم إلى العمل والاحتراف! اقرأ أيضًا برمجة تطبيقات سطح المكتب