الرئيسية      أرشيف المقالات       المنتدى        المكتبة       إتصل بنا
  القائمة الرئيسية
  تسجيل الدخول
اسم المستخدم :

كلمة المرور :

تذكرني



هل نسيت كلمة المرور ؟

اشترك الآن !
  بحث
  أقسام المقالات
  آخر المشاركات
  كتب جديدة
  زوار هذه الصفحة
اليوم 34
أمس 75
الإجمالي 18201
  شريط إعلاني
  معلومات الموقع
مساحة إعلانية

دلفي -  FireMonkey مقابل VCL
بواسطة عروة عيسى في 2016/10/8 (496 قراءة)
دلفي

FireMonkey vs. VCL

هل انتهت صلاحية VCL
ما الأفضل FMX أم VCL
إذا أردت أن أبدء بتصميم تطبيق جديد , فهل الأفضل استخدام VCL ام FMX


كلا المكتبتين تعملات على كود دلفي نفسه والمشتق من باسكال , ولايوجد اختلاف في اللغة أو في كتابة الكود . ولكن التعامل مع مكتبة الادوات وخصائصها وخفاياها تعتبر من أهم الخبرات التي يكتسبها المطور أثناء عمله , فالبرمجة اليوم ليست مجرد رصف آلاف الأسطر من الكود الصرف , بل هي بمعظمها "تطوير" يعتمد على الاستفادة من المكونات والاشتقاق منها والتعامل مع خصائصها ومناهجها.

عند تغيير مكتبة الأدوات التي يتعامل عليها المطور يشعر في البداية وكأنه غريب عن بيئته وعن حيّه الذي عاش فيه , ولو أن الناس في الحي الجديد يتكلمون نفس اللغة بالنهاية, ولكنهم مختلفون ويفكرون بشكل مختلف وسماتهم وعاداتهم بحاجة للتعرف عليها واكتساب الخبرة بالتعامل معها. هذا هو حقيقة الارتباك في التعامل مع مكتبة أدوات جديدة على نفس البيئة وتستخدم نفس اللغة.

كبداية فإن مكتبة مكونات دلفي المرئية VCL ليست منتهية الصلاحية ولن تكون كذلك على المدى المنظور . طالما بقي وندوز وبقيت توابع API الخاصة به فأن VCL المعتمدة عليها في تكوينها سوف تبقى معها . وستبقى مكتبة مكونات VCL هي أفضل خيار من أجل تطوير تطبيقات مخصصة للعمل على ويندوز .
وحتى الآن لاتزال VCL تحصل على مكونات جديدة وميزات إضافية وإصلاحات بشكل دوري ومستمر مع كل إصدارة جديدة , ولكن وتيرة العمل عليها حاليا ليست بسرعة FireMonkey وهذا مؤكد لإن مكتبة VCL قد نضج تصميمها منذ فترة طويلة ولاتحتاج سوى لمسات قليلة لإبقائها متماشية مع تحديثات ويندوز الجديدة .
في حين أن FireMonkey في خضم عملية هيكلة وتطوير كبيرة منذ بضعة إصدارات وحتى الآن .

من الأفضل , وأي منهما نستخدم ؟ لايوجد جواب مباشر , ولكن يمكن ان الحديث بإيجاز عن مزايا كل منهما ويبقى اختيار المكتبة الأفضل لتكون بيئة تطبيقاتك هو خيار يعود إليك ببالنهاية حسب حاجتك وطبيعة البرامج التي تنتجها:



مكتبة مكونات دلفي المرئية Visual Component Library أو VCL :
أطلفت مع إول إصدارة من دلفي , تعتمد بعض مكوناتها على توابع API الخاصة بوندوز إلى جانب مكوناتها الخاصة بها (owner draw). تعتمد مثل تطبيقات وندوز التقليدية على المقابض (Handles) و الرسائل (messages) التي يعتمدها النظام . 

تتميز بأنها مستقرة ومجربة ومكتملة التطوير إلى حد كبير , وبني على أساسها سوق كبير وغني من آلاف الأدوات الخارجية المقدمة من أطراف أخرى تشكل إضافة هامة لتطوير التطبيقات باستخدام VCL .

سوف تحتاج VCL إذا احتاج تطبيقك العمل في الطبقات التحتية لنظام التشغيل وندوز , كالتعامل مع الرسائل والمقابض وتعليق الأحداث ك Hooks وغير ذلك من التقنيات الخاصة بنظام التشغيل والتي تمنح تطبيقك مزايا فريدة ومتقدمة بالعمل على وندوز.

فكرة اخرى هامة هي أن الفترة التي قضتها VCL في السوق منذ الإصدارات الأولى جعلت آلاف المستخدمين متآلفين معها وخبراء بالتعامل مع تقنياتها وموجودين على الفضاء الرقمي ويشاركون خبراتهم بفعالية ونشروا العديد من المقالات والمشاركات والإجابات حول أصغر التفاصيل في التعامل مع المكتبة, وبالتالي يسهل الحصول على المعلومات عنها والحصول على الإجابات والمساعدة بخصوص أي شيء فيها من قبل كمية كبيره من المستخدمين الذي اختبروها لوقت طويل .

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

هيكلية "القرد الناري" العابرة للمنصات FireMonkey Cross Platform Framework أو FMX :
وهي هيكلية جديدة أخذت تغطية أكبر مؤخرا , فيما لايزال العديدون يتعلمون كيفية استخدامها , وكيف يبنون باستخدامها تطبيقات تحتمل العمل على عدة منصات (أنظمة تشغيل) . وهذه هي الميزة الأهم ل FMX أنها صممت من الصفر لكي تكون متعددة المنصات ولكي تستطيع بناء تطبيقات يمكن ترجمتها على أكثر من نظام تشمل أنظمة Windows و iOS و macOS و Android. (للأسف Linux ليس بالقائمة حاليا).

تتميز FMX أيضا أنها مبنية على آخر إصدارة GPU التي تضمن OpenGL أو DirectX التي تضمن معالجة نماذج ثنائية البعد 2D وثلاثية الأبعاد 3D على حد سواء , فهي بالتالي قوية في مجال الغرافيكس وتأثيراته . فيما أنه يمكنك باستخدام VCL أن تركب مكتبات أو أدوات خارجية لمعالجة الرسوميات أو تركب محركات 3D قوية وفاعلة مقدمة من طرف ثالث , فإن الفرق أن التوجه نحو الرسوميات يبدو مدعوم في صلب FireMonkey القياسية .
بالمجمل FMS قوية بالرسوميات وبتصميم الواجهات والتأثيرات الخلابة وذات مظهر عصري ومتنوع أكثر من التطبيقات القياسية .

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

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

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

السبب الإضافي أنك تربما حتاج بعض المزايا الجديدة التي توفرها FMX لاستخدامها في برنامجك .

الخلاصة :
- VCL لاتزال مدهشة , ولاتزال قيد الدعم والتطوير , وهي الأداة الأساسية للتعامل مع تطبيقات وندوز القياسية (وفقط وندوز).
- FMX جديدة وبراقة , فيها أفكار خلاقة يجب الإطلاع عليها والتآلف معها للمستقبل , قوية بالرسوميات . 
وفائدتها الحقيقية هي بناء تطبيقات تعمل على منصات ونظم تشغيل إضافية (أندرويد وIOS و ماكنتوش ) وبالتالي تفتح الباب أمام بناء تطبيقات للأجهزة الكفية الذكية والموبايلات والتابلت وغير ذلك .

عن: Jim McKeeth 

التقييم: 0.00 (0 أصوات)
تحضير للطباعة أرسل هذه المقالة

مساحة إعلانية من موقع : Yllix.com

أضف هذه المقالة إلى المواقع التالية
إضافة إلى Blinklist إضافة إلى del.icio.us إضافة إلى Digg إضافة إلى Fark إضافة إلى Furl إضافة إلى Newsvine إضافة إلى Reddit إضافة إلى Simpy إضافة إلى Spurl إضافة إلى Yahoo مرجع إلى Balatarin مرجع إلى Faceboom مرجع إلى Twitter مرجع إلى Scripstyle مرجع إلى Stumble مرجع إلى Technorati مرجع إلى Mixx مرجع إلى Myspace مرجع إلى Designfloat _NW_BOOKMARK_TO_GOOGLEPLUS _NW_BOOKMARK_TO_GOOGLEREADER _NW_BOOKMARK_TO_GOOGLEBOOKMARKS
التعليقات تخص صاحبها ولا تخص ادارة الموقع
الكاتب الموضوع


عروة نت 2003-2016 . بالاعتماد على زوبس