ابراهيم عاشور يكتب :لغات برمجة الجوال
لغات برمجة الجوال
إذا رغبت في برمجة تطبيق هاتف، فتحتاج إلى معرفة لغة برمجةٍ ما. لكن قد يكون من الصعب إختيار اللغة الأفضل (أو اللغات) لمشروعٍ ما . هنالك الكثير من الخيارات المتوافرة ، الأمر كله يعتمد على ما تقوم ببنائه. بالنسبة لتطبيقاتٍ معينة ، مطورو الهواتف قد لا يحتاجون كل الميزات المتوافرة في لغة برمجة محددة. في حالات أخرى، قد يتطلب تطبيقاً واحداً أكثر من لغةٍ واحدة.
لغات أندرويد (Android)
جافا (Java)
تعتبر جافا أكثر لغات البرمجة شهرةً من عام 2017. إذا أردت تطوير تطبيقات أندرويد، فإنك على الأغلب ستلتزم باستعمال جافا. تمتلك جافا مجتمع مطورين كبيرة وموجودة منذ فترة طويلة ، وهذا يعني أن بإمكانك الحصول على الدعم والمساعدة التقنية بسهولة. لذا عندما تطور تطبيقاتٍ للهواتف باستخدام جافا، ستمتلك الحرية الكاملة لبناء أي نوعٍ من التطبيقات يخطر في بالك.
كوتلين (Kotlin)
تم تصميم وتطوير كوتلين من قبل JetBrains ، الشركة التشيكية المعروفة ببيئة التطوير المتكاملة (IDE) الخاصة بها. أعلن فريق جوجل حديثاً أنهم سيضيفون الدعم رسمياً للغة البرمجة كوتلين. كوتلين تم تطويرها لحل بعض المشاكل الموجودة في جافا. ووفقاً لأتباع هذه اللغة، التركيب النحوي Syntax الخاص بكوتلين، أبسط وأكثر ترتيباً، ويؤدي إلى كميةٍ أقل من الكود الطويل والمهدر للموارد Code Bloat هذا يساعدك على التركيز أكثر على حل المشكلة الفعلية، بدلاً من المعاناة مع التركيب النحوي المسهب. أيضاً، يمكنك استعمال كوتلين وجافا مع بعضهما في المشروع نفسه، وهذا يجعل من المشروع قوياً جداً.
لغات آي أو إس (iOS)
سويفت (Swift)
إذا أردت تطوير التطبيقات لآي أو إس، فإن سويفت قد تكون اللغة المناسبة لك. وكان الإعلان عنها في 2015، ومنذ ذلك الحين استمرت سويفت في جذب مطوري الهواتف بسرعة كبيرة. إنها شائعةٌ جداً، خصوصاً بين شركات تطوير آي أو إس الناشئة . وأضافت أبل (Apple) بعض الميزات الرائعة لهذه اللغة ، مثل التركيب اللغوي المبسط ، القدرة على تحديد أخطاء المبرمج بسهولة، إلخ. والجهود الضخمة التي تبذلها أبل للترويج لسويفت تشير بوضوح إلى رغبتها بجعل هذه اللغة الجديدة اللغة الأساسية في بيئة تطوير التطبيقات الخاصة بها.
سي-الكائنية (Objective-C)
كانت سي-الكائنية لغة التطوير الأصلية لنظام آي أو إس. وبينما تعتبر سويفت اللغة التي تم تقديمها حديثاً مستقبل تطوير تطبيقات آي أو إس، فإن الكثير من المشاريع المتقدمة ما تزال تعتمد على سي-الكائنية. لذا من المتوقع أن تكون عملية الإنتقال من سي-الكائنية إلى سويفت بطيئةً نوعاً ما، وقد تحتاج إلى كليهما لبعض المشاريع، على الأقل في الوقت الحاضر.
لغات متعددة المنصات
جافا سكريبت (JavaScript)
تمتلك جافا سكريبت تاريخاً طويلاً منذ الأيام الأولى لظهور الشبكة العالمية (بالإنجليزية( World Wide Web وهي لغة مشهورة جداً لتطوير النهاية الأمامية (بالإنجليزية( Front-End وللتطوير في طرف الخادم )بالإنجليزية( Server-Side وتسمح جافا سكريبت لمطوري الويب بالقيام بكل شيء من تحسين تجربة مستخدم مواقع الويب وحتى بناء بناء تطبيقات ويب كاملة ، يوجد اليوم العديد من أطر العمل Frameworks الخاصة بجافا سكريبت والموجهة خصيصاً لمنصا تطوير الهواتف، مثل Ionic 2 وReact Native. من السهل جداً تطوير تطبيقات الهواتف متعددة المنصات بإستخدام هذه الأطر والمكتبات. هذا يعني أن عليك فقط كتابة نسخةً واحدة من التطبيق الخاص بك ، وسيعمل على iOS أو Android
تايب سكريبت (TypeScript)
تعتبر تايب سكريبت لغة حاوية لجافا سكريبت وتوفر المزيد من الحماية عن طريق إضافة إمكانية استعمال الأنواع بشكلٍ ثابت (Static Typing). كما توفر دعماً أفضل لتطوير التطبيقات واسعة النطاق. تطورها وتشرف عليها مايكروسوفت (Microsoft)، وتسمح للمطورين بكتابة تطبيقات هواتف متعدد المنصات بإستخدام أطر عمل مثل NativeScript.
لغات أخرى
سي شارب (C#)
سي شارب هي لغة ويندوز موبايل (Windows Mobile). هذه اللغة مشابهة جداً لسي بلس بلس (C++) ولجافا. وتبنت مايكروسوفت بعضاً من ميزات جافا لتبسيط معماريتها، مع الحفاظ على التصميم الشبيه بتصميم سي بلس بلس. تمتلك سي شارب أيضاً مجتمعاً ضخماً ونشطاً من المطورين .
سي (C)
مصممة من قبل دينيس ريتشي (Dennis Ritchie)، أثناء عمله في مختبرات بل (Bell Labs)، سي لغةٌ قوية ومعتمدة على نطاق واسع وتسمح لك بالتعامل مباشرةً مع العمليات منخفضة المستوى في الحاسوب. وإذا رغبت باستعمال حزمة التطوير الأصلية الخاصة بأندرويد (Android Native Development Kit)، فستحتاج لأن تكون عارفاً بلغة سي.
سي بلس بلس (C++)
تعتبر سي بلس بلس توسيعاً لسي، مع المزيد من الميزات عالية المستوى ودعم البرمجة كائنية التوجه. سي بلس بلس هي أيضاً واحدةٌ من اللغات المفضلة لمستخدمي حزمة التطوير الأصلية لأندرويد. يمكنك استعمال سي بلس بلس لتطوير تطبيقات ويندوز موبايل أيضاً. وسي بلس بلس تواجه جافا وجهاً لوجه في مجال تطوير البرمجيات .
بايثون (Python)
بايقون هي لغة أخرى مشهورة وسهلة التعلم وسهلة القراءة. بذل صانعو هذه اللغة مجهوداً إضافياً لإبقاء تركيبها اللغوي بسيطاً وواضحاً قدر الإمكان. يساعد هذا حقاً المطورين المبتدئين على الحفاظ على مستوىً عالٍ من الإنتاجية، من اليوم الأول. وإذا كنت مرتاحاً في كتابة كود بايثون ، يمكنك استعمال أطر عمل مثل Kivy لتطوير تطبيقات الهواتف متعددة المنصات.
روبي (Ruby)
روبي هي لغة برمجة كائنية التوجه ، متأثرة بلغات آدا (Ada)، سي بلس بلس C++ ، بيرل (Perl)، بايثون، وليسب (Lisp). ويعتبر RubyMotion اطارعملٍ رائع لتطوير تطبيقات الهواتف الأصلية ومتعددة المنصات في روبي. من السهل جدا تعلم روبي، والفضل في ذلك يعود إلى تركيبها النحوي الذي يركز على البساطة والإنتاجية.
بقلم: أ. ابراهيم عاشور
الهيئة العامة للتعليم التطبيقي والتدريب