استعراض إطر عمل أنظمة الأجهزة المحمولة

بعد اتساع سوق الأجهزة المحمولة وكثرة مصنعيها اتجه معظم المبرمجين إلى صنع تطبيقات متنوعة للأجهزة المحمولة. ولكن واجهت المطورين مشكلتان، الأولى: هي تعدد الأنظمة الخاصة بالأجهزة المحمولة كالأندرويد والـ iOS والويندوز وغيرها. والثاني: هو عدم إيجاد الوقت الكافي لتعلم لغات برمجة جديدة وأنظمة جديدة. ولحل هاتين المشكلتين تم إيجاد أطر العمل الخاصة بالأجهزة المحمولة Mobile Framework.

ما هي أطر العمل إذاً؟ يختلف كل إطار عمل عن آخر ولكن الهدف الرئيسي منها هو توحيد عملية البرمجة أي أنك تبرمج مرة واحدة لعدة أنظمة مختلفة (أحياناً تحتاج لإضافات بسيطة لتلائماً نظاماً دون آخر). والهدف الآخر من أطر العمل الخاصة بالأجهزة المحمولة Mobile Frameworks هو توظيف الخبرة التي يملكها المبرمج (خصوصاً مطوري الويب) لاستعمالها للقيام بتطبيقات للأجهزة المحمولة.

ومع أن أستعمال أطر العمل الخاصة بأنظمة الأجهزة المحمولة يسهّل عملية كتابة الكود وبرمجة التطبيق لعدة أنظمة إلا أنه يأتي مع بعض المشاكل:

  1. معظم أطر العمل تأتي ببناء برمجي Syntax خاص بها. قد لا يكون ذلك البناء معقداً وفي أحيان كثيرة يكون مبنياً على لغات أخرى تعلَمتها في السابق، ولكن يبقى عليك أن تتعلم البناء البرمجي الجديد.
  2. قد يؤثر استعمال أطر العمل على سرعة التطبيق. حيث أن هناك نوعان من أطر العمل، الأول يقوم بتحويل ما تكتبه إلى اللغة الأصلية المستعملة في الأنظمة المختلفة كالجافا والـ C-Objective، والثاني: يقوم بوضع إطار برمجي حول تطبيقك يكون باللغة الأصلية أما تطبيقك فيبقى كما هو. في الحالة الثانية يكون التطبيق أبطئ لأنه لا يستعمل أوامر النظام بشكل مباشر وإنما يقوم إطار العمل بتحويل الأمر من التطبيق إلى النظام وبالعكس، مما يضيف طبقة أخرى من المعالجة قبل أن يتمكن المستخدم من استعمال التطبيق.
  3. من الصعب بناء تطبيقات معقّدة وتعتمد على الذاكرة بشكل كبير من خلال أطر العمل هذه كالألعاب والتطبيقات ذات الجرافيك العالي.
  4. بعض أطر العمل لا تدعم كل الأنظمة، وبعضها لا يدعم نفس الخصائص في الأنظمة التي يدعمها. فمثلاً قد يدعم استعمال البوصلة COMPASS في نظام دون آخر، وهذا قد يبرز بعض المشاكل للمطور والمستخدم.

ملاحظة أخيرة هي أن معظم أطر العمل هذه مجانية والأغلب منها مفتوح المصدر أيضاً.

وبعد هذه المقدمة سوف استعرض أطر العمل المتوافرة للأجهزة المحمولة، وسيكون ترتيبها من الأفضل برأيي إلى الأدنى.

Sencha Touch 2


أولى أطر العمل هذه وأفضلها هو Sencha Touch. يعتمد إطار العمل هذا على لغة HTML5 لبرمجة التطبيقات، ويدعم حالياً نظام الـ iOS والأندرويد 2.3+ والبلاك بيري. يحتوي Sencha على الكثير من الأدوات المساعدة للقيام بالوظائف المختلف والإستفادة بشكل أقصى من مميزات الأنظمة التي يعمل عليها. يمكن رؤية المميزات من هنا: http://dev.sencha.com/deploy/touch/examples/production/kitchensink/

إطار العمل هو مدفوع ولكن يمكن تجربته لمدة 30 يوماً.

PhoneGap


في المرتبة الثانية يأتي إطار العمل PhoneGap وهو يحمل العديد من المميزات ويدعم العديد من الأنظمة. يدعم PhoneGap سبعة أنظمة مختلفة فبالإضافة إلى الأندرويد والـ iOS يقوم بدعم البلاك بيري والسيمبيان والـ WebOS والـ W7 وأيضاً البادا Bada (وهو النظام الخاص بالسامسونج). ويدعم الكثير من الخصائص المشتركة بين تلك الأنظمة كالبوصلة والتحديد الجغرافي والكاميرا وغيرها. يمكن الإطلاع عليها من هنا: http://phonegap.com/about/features. ما يميز إطار العمل هذا هو الواجهة البرمجية API التي يقدمها فهي سهلة القراءة بشكل مميّز فعلاً ويحتوي على الكثير من المقالات والشروحات التي تساعد المبتدئ في البداية في تعلم البرمجة لإطار العمل هذا. بالإضافة إلى الأدوات المساعدة في تسريع عملية البرمجة.

وما يميزه عن إطار العمل السابق هو أنه مجاني بالكامل ومفتوح المصدر.

Titanium

TITANIUM_logo

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

Rhomobile

من أهم ميزات إطار العمل هذا هو دعمه لمعظم أنظمة الأجهزة المحمولة كالأندرويد والـ iOS والبلاك بيري والـ WebOS وغيرها. والميزة المهمة الأخرى أنه يقوم بتحويل التطبيقات إلى اللغة البرمجية الرئيسية للنظام لكي تعمل بسرعة وسلاسة. يحتوي إطار العمل على الأدوات المطلوبة والواجهة البرمجية API المميزة وله مستقبل واعد. ما ينقص إطار العمل هو الدعم المطلوب.

jQuery Mobile


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

Sproutcore Touch

إطار العمل هذا مبني على مكتبة Sproutcore وهو مخصص للأجهزة المحمولة أو أجهزة اللمس. وكما هي مكتبة jQuery Mobile تقوم هذه المكتبة بالإبقاء على كود الجافا سكربت والهتمل ولا يقوم بتحويلها إلى الكود الأصلي. يدعم إطار العمل بشكل رئيسي نظام الـ iOS،

iUI


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

XUI

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

iWebkit

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

Ignition

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

أتمنى أن تكون أطر العمل هذه مفيدة ونافعة، وأرجو سماع تعليقاتك وآرائكم.

تعليق

  1. خالد

    شكراً جزيلاً لك اخي عبدالقهار
    ما هو افضل هذه المواقع من حيث السهولة في عمل التطبيقات ؟
    انا اريد عمل تطبيق واريد ان ابتعد عن البرمجه .. اي اعمل التطبيق عبر الويب وبلا برمجه مثل موقع “androdom” هل احد هذه المواقع يقدم هذه الخدمه ؟

    • عبد القهار الحسني

      هل تقصد أنك تريد عمل التطبيق باستعمال تقنيات الويب كالهتمل 5 والجافا سكربت؟ أنا أفضل PhoneGap واعتقد أنه الأفضل من جميع أطر العمل التي وضعتها في هذه التدوينة. في أي من الأحوال يجب أن تقوم بالبرمجة .. ما يفرق أطر العمل هذه عن الطريقة العادية هو أنك لا تستعمل الجافا أو الـ C-Objective مباشرة، وإنما تستعمل لغات قريبة ممما تعلمته في تصميم تطبيقات الويب.

      الموقع الذي وضعته “androdom” لا يعمل، يمكنك وضع الرابط بالكامل حتى أرى ما هو الموقع.

  2. خالد

    شكرا لك
    هذا هو الموقع
    http://www.andromo.com/
    من خلاله لا احتاج لكتابة اي كود برمجي .. فقط عن طريق الخدمات الموجوده فيه .. وقد قمت بعمل هذا التطبيق من خلاله :
    https://play.google.com/store/apps/details?id=com.andromo.dev74122.app76052&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5hbmRyb21vLmRldjc0MTIyLmFwcDc2MDUyIl0.

    • عبد القهار الحسني

      موقع جميل، ولكني أعتقد أنه لا يمكن من خلاله برمجة تطبيقات معقدة، وإنما تكون معظمها بسيطة في المجمل، كأن تعمل واجهة معينة أو غير ذلك.

      • خالد

        نعم وهذا ما يقوم به هذا الموقع
        ولكن اتمنى ان وجدت موقع آخر بنفس هذه الطريقه ان تعطيني اياه

  3. خالد

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

اترك تعليقاً

الحقول المطلوبة موسومة بالعلامة *.