فايرمونكي
FireMonkey (يُختصر إلى FMX ) هو إطار عمل واجهة مستخدم رسومية متعدد المنصات، طوّرته شركة Embarcadero Technologies للاستخدام في Delphi أو C++Builder أو Python ، باستخدام Object Pascal أو C++ أو Python لبناء تطبيقات متعددة المنصات لأنظمة Windows و macOS و iOS و Android . تُمكّن مكتبة FMX Linux ، وهي مكتبة خارجية ، من بناء تطبيقات FireMonkey على نظام Linux .
تاريخ
يعتمد FireMonkey على VGScene، الذي صممه يوجين كريوكوف ( توفي عام 2024) [ 1 ] من شركة KSDev في أولان أودي ، روسيا [ 2 ] كجيل جديد من واجهات المستخدم الرسومية المتجهة . في عام 2011، بيعت VGScene لشركة Embarcadero Technologies الأمريكية. واستمر كريوكوف في المشاركة في تطوير FireMonkey. إلى جانب مكتبة المكونات المرئية (VCL) التقليدية الخاصة بنظام Windows، يُدمج إطار عمل FireMonkey متعدد المنصات كجزء من Delphi وC++Builder وRAD Studio منذ الإصدار XE2. بدأ FireMonkey كإطار عمل لواجهة المستخدم المتجهة، لكنه تطور ليصبح إطار عمل لواجهة المستخدم النقطية [ 3 ] لمنح تحكم أكبر في المظهر ليتناسب مع متطلبات النظام الأساسي المستهدف.
في عام ٢٠٢١، أطلقت شركة إمباركاديرو برنامج FireMonkey للغة بايثون، والذي صممه لوكاس مورا بيلو. يُعد FireMonkey للغة بايثون وحدة بايثون مُجمّعة أصلاً، مدعومة بمكتبة Python4Delphi . يتيح هذا البرنامج لمطوري بايثون الوصول إلى إطار عمل واجهة المستخدم الرسومية FireMonkey، وهو قابل لإعادة التوزيع مجاناً. يدعم البرنامج تطوير واجهات المستخدم الرسومية لأنظمة ويندوز، وماك أو إس، ولينكس، وأندرويد بشكل كامل.
ملخص
FireMonkey هو إطار عمل لواجهة المستخدم متعدد المنصات، يسمح للمطورين بإنشاء واجهات مستخدم تعمل على أنظمة Windows و macOS و iOS و Android. وقد صُمم لاستخدام وحدة معالجة الرسومات (GPU) كلما أمكن ذلك، وتستفيد التطبيقات من ميزات تسريع الأجهزة المتوفرة في Direct2D على أنظمة Windows Vista و Windows 7 و Windows 8 و Windows 10 ، و OpenGL على macOS، و OpenGL ES على iOS و Android، أما على منصات Windows التي لا يتوفر فيها Direct2D ( مثل Windows XP )، فيتم اللجوء إلى GDI+ .
تُصنّف التطبيقات والواجهات المطوّرة باستخدام FireMonkey إلى فئتين: عالية الدقة (HD) وثلاثية الأبعاد (3D) . [ 3 ] تطبيق HD هو واجهة ثنائية الأبعاد تقليدية، أي عناصر واجهة المستخدم على الشاشة. يُطلق عليه اسم HD لأن FireMonkey يستخدم صورًا نقطية متعددة الدقة في نظام الأنماط الديناميكي الخاص به للاستفادة من شاشات العرض عالية الدقة (DPI). أما النوع الثاني، وهو واجهة ثلاثية الأبعاد، فيوفر بيئة مشهد ثلاثية الأبعاد مفيدة لتطوير التصورات. يمكن دمج النوعين بحرية، مع عناصر ثنائية الأبعاد (عناصر تحكم واجهة المستخدم العادية مثل الأزرار) في مشهد ثلاثي الأبعاد، إما كطبقة فوقية أو في الفضاء ثلاثي الأبعاد، ومشاهد ثلاثية الأبعاد مدمجة في واجهة "HD" ثنائية الأبعاد العادية. يدعم إطار العمل التأثيرات (مثل التمويه والتوهج، وغيرها) والرسوم المتحركة بشكل مدمج، مما يسمح ببناء واجهات سلسة حديثة على غرار WPF بسهولة. كما يدعم السمات الأصلية، بحيث يبدو تطبيق FireMonkey قريبًا جدًا من التطبيق الأصلي على كل منصة. يمكن استخدام عناصر التحكم الأصلية على أنظمة التشغيل Windows و macOS و iOS و Android من خلال مكتبات الطرف الثالث [ 4 ] وخاصية ControlType. [ 5 ]
لا يُعد FireMonkey مجرد إطار عمل مرئي، بل هو إطار عمل متكامل لتطوير البرمجيات، ويحتفظ بالعديد من الميزات المتوفرة في VCL . وتتمثل الاختلافات الرئيسية فيما يلي: [ 6 ]
- التوافق عبر المنصات
- يمكن أن يكون أي عنصر مرئي تابعًا لأي عنصر مرئي آخر، مما يسمح بإنشاء عناصر هجينة
- دعم تصميم مدمج (متوفر الآن أيضًا في VCL)
- استخدام أرقام الفاصلة العائمة أحادية الدقة للموضع، وما إلى ذلك، بدلاً من الأعداد الصحيحة.
- دعم المؤثرات البصرية القائمة على تظليل وحدة معالجة الرسومات (مثل التوهج ، والتوهج الداخلي ، والضبابية على سبيل المثال) وتحريك المكونات المرئية
بفضل توافق إطار العمل مع مختلف المنصات، يمكن استخدام نفس شفرة المصدر وتصميم النماذج لنشره على مختلف المنصات التي يدعمها. يدعم الإطار بشكل أصلي الملفات التنفيذية 32 بت و 64 بت على أنظمة ويندوز، و32 بت على أنظمة ماك أو إس، و32 بت و64 بت على أنظمة آي أو إس، و32 بت و64 بت على أنظمة أندرويد. [ 7 ] يتضمن FireMonkey خدمات منصة تُكيّف واجهة المستخدم لتتوافق مع السلوك والمظهر الصحيحين على كل منصة مستهدفة.
منذ إطلاقه في XE2، شهد إطار العمل تحسينات عديدة في مختلف جوانبه، ويجري تطويره وتحسينه باستمرار. على سبيل المثال، تم دمج تطوير macOS بسلاسة في بيئة التطوير المتكاملة، مما يتطلب جهاز Mac فقط للنشر. كما أُضيفت مكونات عديدة، مثل أجهزة الاستشعار واللمس ونظام تحديد المواقع العالمي (GPS)، وهي مفيدة بشكل خاص لمطوري تطبيقات الجوال. وشهدت البيئة أيضًا تحسينات كبيرة في الأداء والجوانب التقنية الأساسية.
سمات
الرسومات
يستخدم FireMonkey تسريع الأجهزة عند توفره على أنظمة Windows و macOS و iOS و Android. يمكن استخدام Direct2D أو OpenGL على أنظمة Windows Vista و Windows 7 و Windows 8 و Windows 10. أما على أنظمة Windows التي لا يتوفر فيها Direct2D ( مثل Windows XP )، فيتم اللجوء إلى GDI+ . يُستخدم OpenGL على نظام macOS، بينما يُستخدم OpenGL ES على نظامي iOS و Android .
الأنماط
جميع عناصر التحكم في FireMonkey قابلة للتخصيص عبر نظام التنسيق. يتم ذلك عن طريق ربط TStyleBook بالنموذج، ثم تحميل نمط معين وتطبيقه عليه. في بعض الأنظمة، يمكن ضبط بعض عناصر التحكم لاستخدام تطبيق نظام التشغيل بدلاً من تطبيق FireMonkey المُصمم خصيصًا. قد يُضيف هذا أحيانًا ميزات إضافية، بينما يُزيل بعض الميزات التي يوفرها تطبيق FireMonkey نفسه.
خدمات المنصة
بالإضافة إلى المكونات المرئية، يوفر FireMonkey طريقةً مرنةً للوصول إلى ميزات خاصة بكل منصة، بغض النظر عن المنصة نفسها. ويظهر هذا أيضًا في سلوكيات المنصة الافتراضية. على سبيل المثال، تحتوي خاصية TabPosition في عنصر TTabControl على قيمة PlatformDefault ، مما ينقل علامات التبويب إلى الأعلى في نظام Android وإلى الأسفل في نظام iOS تلقائيًا، بما يتوافق مع إرشادات التصميم الخاصة بهاتين المنصتين.
مراجع
- ↑ باركر، إيان (19 أغسطس 2024). "يوجين كريوكوف، 'أبو فايرمونكي'، ومطور موهوب بشكل لا يصدق" . تم الاطلاع عليه بتاريخ 10 أكتوبر 2025 .
- ↑ "تطوير التطبيقات متعددة المنصات على طريقة FireMonkey" . دلفي بيسترو . تم الاطلاع عليه بتاريخ 8 أكتوبر 2016 .
- 1 2 "FireMonkey - RAD Studio" . docwiki.embarcadero.com . Embarcadero Technologies . تم الاطلاع عليه بتاريخ 17-05-2017 .
- ↑ برنامج TMS. "برنامج TMS" . www.tmssoftware.com . تاريخ الاسترجاع: 17-05-2017 .
- ↑ "FMX.Controls.Presentation.TPresentedControl.ControlType - RAD Studio API Documentation" . docwiki.embarcadero.com . تم الاطلاع عليه بتاريخ 17-05-2017 .
- ↑ "VCL vs. FireMonkey" . بودكاست على موقع Delphi.org . 5 أكتوبر 2016. تم الاطلاع عليه بتاريخ 25 يوليو 2017 .
- ↑ "متطلبات منصة FireMonkey" . docwiki.embarcadero.com . تم الاطلاع عليه بتاريخ 2020-09-05 .
- مكتبات الحاسوب
- واجهات المستخدم الرسومية
- مكتبات لغة البرمجة باسكال
- برنامج مبرمج بلغة باسكال
