التطبيقات الأصلية والتطبيقات الهجينة

مستقبل التطبيقات.. إلى أين؟


تاريخ الإضافة:

17-05-2020

نص المقالة:

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


التطبيقات الأصلية والتطبيقات الهجينة

وأمام التحدي السابق كان لا بد من البحث عن وسيلة أو حل يجعل إمكانية التكويد لمرة واحدة بدلاً من عدة مرات ومن ثم استخدام هذا الكود لبناء تطبيقات تعمل على منصات مختلفة, للوهلة الأولى يبدو حلاً صعباً جداً أو خيالياً نوعاً ما ولكنه تحقق وأبصر النور فما هي الوسيلة التي تم اعتمادها؟! صفحات الويب, أمر منطقي اليس كذلك؟ وخاصة باعتبار صفحات الويب من الممكن معاينتها عبر أي جهاز كان. إذا بعد اقتراح كتابة التطبيقات كصفحات ويب للحل لم يبدو الأمر في البداية على النحو الصحيح عندما دخل حيز التطبيق وهنا يكون التساؤل الرئيسي ما هو السبب في ذلك؟! السبب الرئيسي لذلك هو أن هذه التطبيقات لم تكن تشبه التطبيقات الأصلية (والتي أطلق عليها native والتي تكود باللغة البرمجية المناسبة لكل منصة مثل الجافا للأندرويد مثلاً) هذا من ناحية أولى ومن ناحية ثانية كانت هذه التطبيقات بطيئة وبعض السلبيات الأخرى, أمر محزن حقيقة كبداية ولكنه سرعان ما تغير كيف؟!

تمت عمليات السعي لاستخدام لغة برمجة موحدة لكل التطبيقات الأمر الذي سيتيح استخدامها على عدة منصات وسارعت الشركات إلى العمل ضمن هذا الإطار للمساعدة الفعالة وخاصة شركة آبل وبقي سؤال وحيد أمامنا وهو: ما يه اللغة البرمجية المناسبة؟! الجواب ببساطة كان الجافا سكريبت لما تتمتع به من المرونة وقابلية العمل على جميع المنصات عبر اعتماد إطار العمل React ليصبح لدينا ببساطة نوع جديد من التطبيقات أطلق عليه اسم التطبيق الهجين (أو Hybrid).

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

إذا أصبح بإمكاننا القول الآن أنه يمكن تصنيف التطبيقات بشكل عام إلى تصنيفين رئيسيين في أيامنا هذه وهما:

  1. التطبيقات الأصلية (وتسمى Native): وهي التطبيقات التي تصمم باللغة البرمجية الأم المناسبة للعمل على منصة محددة وكنا قد طرحنا مثال عن الجافا والأندرويد وكذلك Objective-c ونظام IOS من شركة آبل.
  2. التطبيقات الهجينة, (وتسمى Hybrid): وهي استخدام لغات برمجة محددة لتصميم تطبيقات متنوعة تعمل على أكثر من منصة وكنا قد ذكرنا مثالين مهمين جداً ويتعاظم الاهتمام يهما يوماً بعد يوم وهما إطار عمل Cordova وكذلك إطار عمل React.

ماذا عن المستقبل؟!

يمكن القول بأن المستقبل وفق نظر القائمين على عملية تطوير تطبيقات الهواتف المحمولة يلخص بالاختصار التالي: PWA والذي هو اختصار للعبارة Progressive Web App وهو الحل الذي يعتمد على الويب اعتماداً أساسياً في بناء التطبيقات ويسمح ايضاً للتطبيقات المصممة بالاعتماد عليه بالحصول على نفس الميزات الموجودة في التطبيقات الأصلية (مثل الوصول بدون انترنت إلى التطبيق).


إذا خلاصة القول إن كان اهتمامك بمنصة محددة تريد أن تبرمج تطبيقات تعمل عليها فقط كمنصة الأندرويد مثلاً أو نظام IOS من شركة آبل فيمكنك تعلم لغة برمجة واحدة ومحددة والبدء ببرمجة تطبيقاتك بالاعتماد عليها لتصبح مبرمج لهذا النوع من التطبيقات فقط, أما إن أحببت أن تبرمج تطبيقات تعمل على اكثر من منصة وليست مقيدة بإحداها فتستطيع الاتجاه إلى مبدأ cross-platform programming أو البرمجة بالاعتماد على إطارات العمل التي تساعدك على استخدام لغات برمجة محددة لبرمجة تطبيقات تعمل على عدة أنواع من الأجهزة المحمولة, النوع الذي يسمى بالتطبيقات الهجينة, الأمر الذي يفتح أمامك العديد من الأبواب وفرص العمل المتعددة عوضاً أن تبحث عن مسمى وظيفي واحد كما في الحالة الأولى, وفي كلتا الحالتين الأمر عائد لك فقد انتهت مهمتنا عند هذه النقطة بعد ان وضحنا لك الحالات الممكنة وأنت صاحب القرار.