Firemonkey من البسيط إلى المعقد. ما هو فايرمونكي؟ نقص الدعم لتخصيص الطبقات الأصلية

ما هو فايرمونكي؟


FireMonkey (FMX) هو إطار عمل للتطوير عبر الأنظمة الأساسية لكل من أنظمة سطح المكتب (Windows وMac OS + ومن المقرر دعم الخادم على Linux في المستقبل القريب) والهواتف المحمولة (iOS وAndroid) باستخدام لغة Delphi/C++.

الخصائص:

  • قاعدة كود واحدة لجميع المنصات؛

  • أي عنصر تحكم (مكون مرئي) يمكن أن يكون حاوية (أصل) للمكونات الأخرى؛

  • وجود ترتيب نسبي متقدم جدًا (20 نوعًا) للمكونات في النموذج؛

  • يتيح لك LiveBinding توصيل أي نوع من البيانات أو المعلومات بأي واجهة مستخدم أو كائنات رسومية؛

  • وجود أنماط النموذج/المكونات؛

  • تسمح لك ميزة Multi-Device Preview بتخصيص العرض التقديمي المرئي لكل نظام أساسي؛

  • FireUI Live Preview - يعرض مظهر التطبيق على الأجهزة الحقيقية في الوقت الفعلي.

الاحتمالات:

  • استخدام واجهة برمجة التطبيقات الأصلية لكل نظام أساسي، بالإضافة إلى القدرة على الاتصال بالمكتبات الأصلية التابعة لجهات خارجية؛

  • التفاعل مع جميع أجهزة الاستشعار (GPS، ومقياس التسارع، والبوصلة، والبلوتوث (بما في ذلك LE) وغيرها)؛

  • ودعم إشعارات الدفع وإنترنت الأشياء؛

  • دعم طلبات HTTP غير المتزامنة؛

  • دعم معظم قواعد البيانات (MsSQL، MySql، Oracle، PostgreSQL، MongoDB، وما إلى ذلك)؛

  • العمل مع الخدمة السحابية (Amazon، وAzure)؛

  • دعم خدمة أندرويد.

سلبيات (حاليا):

  • نقص الدعم لتخصيص الطبقات الأصلية؛

  • تنفيذ أشياء محددة إما مستحيل (الأدوات، الملحقات (iOS)، وما إلى ذلك) أو مطلوب رقصة مع الدف (خدمة الخلفية، رسالة البث، وما إلى ذلك)؛

  • تخصيص شاشة Splash (الشاشة الأولية) غير موجود، بعبارة ملطفة؛

  • تستخدم عناصر تحكم FMX العرض الخاص بها (التصور، الرسم)، والذي يشبه بصريًا تمامًا العرض الأصلي؛

  • استخدام الضوابط الأصلية ينطوي على حركات الجسم الكبيرة؛

  • عندما يكون هناك الكثير من التداخل بين المكونات، تحدث أشياء لا تصدق: يتعطل التطبيق في أماكن مختلفة، ويفقد التركيز، ويتجمد، وما إلى ذلك؛

  • محتوى المعلومات الخاص بتصحيح أخطاء أحد التطبيقات على الأنظمة الأساسية للجوال هو صفر؛

  • يتم تقليل أوصاف الأخطاء على الأنظمة الأساسية المحمولة إلى "خطأ 0x00000Х" عديم الفائدة ؛

  • وقت التجميع يريد أن يكون الأفضل للمشاريع المتوسطة والكبيرة؛

  • الحاجة إلى استخدام ملف لتلميع تطبيقات الهاتف المحمول لكل منصة؛

  • لا يوجد دعم لهندسة Intel Atom؛

  • سعر غير مناسب مقارنة بالمنافسين.

الايجابيات:

  • التطوير النشط للغاية لكل من المنتج والمجتمع مؤخرًا، ودعم المزيد والمزيد من التقنيات الجديدة؛

  • وجود عدد كبير من المكونات الحرة والتجارية؛

  • سرعة التطبيق قريبة جدًا من السرعة الأصلية؛

  • محرر مرئي وبيئة متقدمة جدًا بشكل عام، ووجود الأنماط؛

  • القدرة على اختبار التطبيق على نظام Win، وبعد ذلك فقط نشره على الأجهزة، مما يؤدي إلى تسريع عملية التطوير بشكل كبير؛

  • تغيير الوضع/المنصة بنقرة من المعصم؛

  • يوفر PAServer تفاعلاً سهلاً مع أنظمة MacOs عند التطوير لنظام التشغيل Apple OS؛

  • دعم الرسومات ثلاثية الأبعاد خارج الصندوق.

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

تم إصدار Delphi XE2 في سبتمبر من العام الماضي، ويحتوي على عدد قياسي من الابتكارات.
لقد تم بالفعل نشر لمحات عامة مختصرة عن قدرات دلفي XE2 على حبري. ولكن من الواضح أن الابتكار الأكثر لفتًا للانتباه هو منصة FireMonkey، وهنا أود أن أولي القليل من الاهتمام لها.
لقد قمت باختيار مجموعة صغيرة من الروابط للمواد التي آمل أن تساعدك في الحصول على فكرة أكثر أو أقل ملاءمة عن هذه المنصة. لكن أولاً، بالنسبة لأولئك الذين لا يعرفون، سأخبركم بإيجاز ما هو FireMonkey.
تضع شركة Embarcadero Technologies FireMonkey كمنصة لإنشاء تطبيقات أعمال غنية لأنظمة التشغيل Windows وMac وiOS. علاوة على ذلك، فإن هذه المنصة أصلية لكل نظام تشغيل، أي. عند تشغيل تطبيق تم إنشاؤه باستخدام FireMonkey، لا يتم استخدام أي وظائف إضافية.
يرتبط FireMonkey مباشرةً بمكتبة رسومات أصلية (من منظور نظام التشغيل) مثل OpenGL أو DirectX. وبالتالي، يتم اقتراح الحل الأفضل من وجهة نظر GPU.
جوهر بنية FireMonkey هو مكتبة قوية من الفئات (بما في ذلك المكونات المرئية).
يتم تحديد النظام الأساسي المستهدف أثناء عملية التجميع.
الإصدار الأول من FireMonkey يدعم فقط Win32 وWin64 وMacOSX وiOS، لكن Embarcadero تخطط لنقله إلى العديد من المنصات الأخرى في المستقبل.

ما الذي يجب أن تفكر فيه؟

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

آمل أن تساعدك الروابط أدناه على فهم الميزات الرئيسية للمنصة الجديدة.
صفحة المنتج الرسمية على موقع Embarcadero (بالروسية)

من بين المواد باللغة الإنجليزية أود تسليط الضوء على السلسلة (الإنجليزية)

ماذا ترى؟

بخصوص احدث اصداردلفي، هناك المزيد من مواد الفيديو المخصصة لقدرات المنتج وكيفية العمل معه أكثر من أي وقت مضى. كلاهما رسمي من Embarcadero ومن مطورين مستقلين. هناك الكثير من مقاطع الفيديو حول FireMonkey على YouTube، يمكنك فقط استخدام البحث. من بين هذه الوفرة من المواد، سأسلط الضوء على سلسلة من ثلاثة مقاطع فيديو من الصفحة المقصودة لـ Marco Cantu - RAD in Action، مما يمنح بحثي اتجاهًا مفيدًا.

ربما تكون على علم بأن شركة Embarcadero تعمل بنشاط على الترويج لرؤيتها الجديدة المتمثلة في إنشاء واجهة مستخدم رسومية مشتركة بين الأنظمة الأساسية - FireMonkey ( يسمونه إطارًا، لكن بالنسبة لحالته الحالية يبدو رائعًا جدًا). يتم الإعلان عن مسابقة تلو الأخرى على RuNet، ويتم عقد ندوات عبر الإنترنت، وعلى الرغم من أن جودة هذه الأخيرة تترك الكثير مما هو مرغوب فيه، إلا أن النشاط مشجع. الآن، في الواقع، إلى الموضوع. كجزء من المنافسة الأخيرة، تم اقتراح تطوير نوع من التطبيقات للتعلم. وبالأمس ظهر عمل آخر من تأليف يفغيني شميل ( لا أعرف إذا كان هذا اللقب يميل أم لا). على عكس الأشكال البسيطة "ذات الشكل الواحد" التي رأيناها سابقًا، جرت هنا محاولة لسحب القرد من جميع أطرافه: الأسلوب، ثلاثي الأبعاد، تأثيرات التظليل ( يحب المبشرون في Embarcadero التحدث عن الرسومات المتسارعة بواسطة وحدة معالجة الرسومات :))). دعونا نرى ما جاء منه. بالنسبة لأولئك الذين لم يشاهدوا الندوات عبر الإنترنت، سأقوم باستطراد بسيط. في إحدى الندوات عبر الإنترنت، روى مبشر Embarcadero Vsevolod Leonov قصة مفجعة حول كيفية اضطراره إلى "إعادة تشغيل الكمبيوتر، على وجه التحديد، بقوة" (هذا اقتباس) نظرًا لحقيقة أن Silverlight SDK و محاكي ويندوزهاتف 7 "لم يعمل" (هذا اقتباس) على جهاز الكمبيوتر الخاص به بسبب... لم يعجبهم محول الفيديو أو إعدادات GPU. لكن التطبيقات التي تم تطويرها باستخدام FireMokey، كما يقول Vsevolod، ليست متطلبة على الإطلاق المعدات. دعونا نرى كيف كذب علينا. سيكون Process Explorer v15.05 من Mark Rusinovich شاهدًا محايدًا لنا. لذلك، قم بتنزيل تطبيق Evgeniy وقم بتشغيله ( لا أقدم لقطات شاشة لتطبيق Evgeniy، فهي متاحة على الرابط الخاص بعمله. لاحظ الخطوط الضبابية).

أطلقت التطبيق. لننظر إلى الاستهلاك:

غير محتشم، ولكن يمكنك أن تسامح" التكنولوجيا المتقدمة" انتقل إلى قسم "الدروس" واختر "الدرس الخامس". يبدأ التحضير للمرحلة. هذه العملية طويلة ( استغرق الأمر أكثر من دقيقة بقليل، على معالج Phenom II رباعي النواة بتردد 3.3 جيجا هرتز)، كن صبوراً. تم بناء المسرح. لننظر إلى الاستهلاك:

كان القرد يتغذى جيدًا. جيد جدا. حاول الآن تحريك الماوس فوق أزرار خيارات الإجابة. يبدو الأمر وكأن واجهة المستخدم الرسومية تتفاعل ببطء شديد، أليس كذلك؟ انظر إلى الرسم البياني لاستخدام وحدة المعالجة المركزية ( أعني أنه يجب عليك تجربتها بنفسك، على جهاز الكمبيوتر الخاص بك) – في هذه اللحظات يقترب حمله من 100% ( كان لدي ~ 21.5% للمعالج رباعي النواة، وهو ما يعادل 86% للمعالج أحادي النواة). لكن أخبرنا أحدهم عن الرسومات المتسارعة بواسطة وحدة معالجة الرسومات. حسنا، دعونا نمضي قدما. نجيب على جميع الأسئلة في الدرس. لننظر إلى الاستهلاك:

هل اتسعت عيناك؟ انظر الآن، للمقارنة، إلى أي مدى يستهلك مطلق النار ثلاثي الأبعاد FarCry أثناء اللعب النشط ( المستوى يسمى المصنع، إذا كان أي شخص مهتما) يعمل في وضع ملء الشاشة 1440x900:

ارسم استنتاجاتك الخاصة.

لقد مرت أكثر من ثلاث سنوات منذ أن أصبح قسم CodeGear، المسؤول عن إنشاء الأدوات المشهورة عالميًا مثل Delphi وC++Builder وJBuilder، بالإضافة إلى نظام إدارة قواعد البيانات Interbase، جزءًا من شركة Embarcadero Technologies، المعروفة بأدواتها. لتصميم وإدارة قواعد البيانات، وبعد عامين ناقشنا على صفحات مجلتنا ما يمكن توقعه في تطوير الأدوات التي تحظى بشعبية كبيرة المطورين الروس. لقد طلبنا من ديفيد إنترسيمون، نائب رئيس علاقات المطورين وكبير المبشرين في شركة Embarcadero Technologies، وكيريل رانيف، رئيس المكتب التمثيلي لشركة Embarcadero Technologies، التحدث عن الجديد الذي تم إنجازه في هذا المجال على مدار العامين الماضيين وما يمكن توقعه في المستقبل القريب روسيا. بالنسبة لقرائنا الصغار، سنبلغكم أن هذه ليست المقابلة الأولى التي يجريها ديفيد وكيريل مع ComputerPress - فتعاوننا مستمر منذ العقد الثاني. وعلى نفس العدد من السنوات تقريبًا، قمنا بنشر مراجعات لأدوات إدارة قواعد البيانات بشكل دوري، حيث يتم إيلاء الكثير من الاهتمام لمنتجات Embarcadero.

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

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

يعد إصدار RAD Studio XE 2، الذي نخطط لعرضه في موسكو، أكبر إصدار لهذا المنتج بقدرات هائلة وعدد كبير من الأنظمة الأساسية المدعومة منذ الإصدار الأول من Delphi، الذي تم إنشاؤه لإصدار 16 بت من Windows و والذي كان منتجًا مبتكرًا يجمع بين نهج المكونات والتجميع في كود الآلة. الآن نحن ندعم التطوير ليس فقط لنظام التشغيل Windows، ولكن أيضًا لنظام التشغيل Macintosh، ناهيك عن تطوير الويب وإنشاء التطبيقات لـ أجهزة محمولة، ويمكن أن تحتوي هذه التطبيقات المخصصة لمنصات مختلفة على رمز واحد.

تعد منصة التطوير الجديدة - FireMonkey - بمثابة جهد مشترك بين Embarcadero والشركة الروسية KSDev التي تم الاستحواذ عليها مؤخرًا من UlanUde، وهي شركة مصنعة لمكونات الرسومات المتجهة وDirectX وOpenGL وتقنيات تأثيرات الرسومات و مكونات دلفياستخدام GPUمع بكسل شادر 2.0. لقد استحوذنا على شركة KSDev (انظر ksdev.ru) منذ عام وبدأنا التعاونلإنشاء أداة تطوير متعددة المنصات تتضمن منصة تطوير التطبيقات FireMonkey مع مكونات Delphi وC++Buider لإنشاء واجهة مستخدم التطبيق، وتكامل قاعدة البيانات، ومعالجة رسومات GPU، وتكامل نظام التشغيل.

باستخدام FireMonkey، يمكنك إنشاء تطبيق يعمل على وحدة المعالجة المركزية ووحدة معالجة الرسومات معًا، ثم استخدام مترجمين مختلفين ومكتبات وقت التشغيل (RTLs) لتجميعه لنظام التشغيل Windows أو Mac OS أو iOS. بدلاً من تعلم البرمجة باستخدام مكتبات رسومات مختلفة، وتعلم واجهات برمجة التطبيقات لمنصات مختلفة تحتوي على أنظمة إحداثيات مختلفة وقدرات مختلفة، يمكن للمطورين الذين يستخدمون Delphi وC++Builder استخدام نفس النهج القائم على المكونات، وتحرير النماذج بصريًا والاتصال بقواعد البيانات عن طريق تحريك المكون بالماوس. هذه طريقة جديدة بشكل أساسي لإنشاء التطبيقات التي تعمل على منصات مختلفة، وهي المستقبل. إذا كنت ترغب في إضافة دعم لأنظمة التشغيل والأنظمة الأساسية الأخرى إلى تطبيقك، فلن تحتاج إلى تصميمه وتطويره مرة أخرى - كل ما تحتاجه هو إعادة ترجمته.

نقوم بإنشاء مترجمين جدد يقومون بإنشاء كود أصلي. يوجد اليوم مترجمون دلفي لـ 32 و 64 بت إصدارات ويندوز، إصدارات 32 بت من نظام التشغيل Mac OS 10. ونحن نعمل على الجيل التالي من برامج التحويل البرمجي لـ Delphi وC++Builder التي ستسمح لك بإنشاء كود جهاز عالي الأداء لكل من هذه الأنظمة الأساسية وغيرها مثل Android أو Linux، و احتفظ بنفس التصميم ونفس المكونات ونفس الكود باستخدام مترجمين مختلفين ومكتبات وقت التشغيل.

كما ترون، لدي أسباب كافية للحماس. والمطورون الذين أقابلهم حول العالم يعرفون أن شركة Embarcadero تستثمر بكثافة في Delphi وC++Builder، بالإضافة إلى أدوات تطوير PHP.

كب:ما هي النجاحات التي حققتموها في دمج أدوات الشركتين خلال العامين الماضيين؟ ما هي خطط إمباركاديرو للمستقبل في هذا المجال؟

دي.:في الوقت الذي أصبحت فيه CodeGear جزءًا من Embarcadero، كان لدى الشركة فرق تطوير في تورنتو ومونتيري ورومانيا، وكنا ولا نزال موجودين في وادي سكوتس وفي روسيا، في سانت بطرسبرغ. كان لدى Embarcadero أدوات للمطورين ومسؤولي قواعد البيانات، وكان لدى CodeGear أدوات لتطوير التطبيقات، لكن الأخير يستخدم قواعد البيانات أيضًا. اندماج الشركات هو مزيج من الخبرة والمعرفة في مجال قواعد البيانات وتحسين التعليمات البرمجية، بما في ذلك رمز الخادم. أدى اندماج الشركات أيضًا إلى إنشاء منتج جديد، AppWave، وهي تقنية خاصة لتحويل تطبيق Windows العادي إلى شيء سهل الاستخدام للغاية (مثل تطبيقات iPhone أو الأجهزة الأخرى). يسمح لك AppWave بعدم تثبيت تطبيق ما، ولكن ببساطة تحديده وتشغيله من خادم تخزين التطبيقات المُجهز (التطبيق)، وسيتم تنفيذه على كمبيوتر المستخدم دون إجراء تغييرات على السجل الخاص به ومنطقة النظام نظام الملفات. بالمناسبة، متصفح تطبيق AppWave مكتوب في دلفي. تستخدم Embarcadero Dephi لتطويرها وخبرتنا في تطوير التطبيقات.

تطبيق iPhone (iOS) تم إنشاؤه بواسطة
باستخدام منصة FireMonkey

يمكنك أيضًا استخدام التكامل بين أدوات التطوير الخاصة بنا وDB Optimizer لتحسين استعلامات SQL عند إنشاء التطبيقات. من خلال تمرير تعليمات برمجية SQL مباشرة إلى DB Optimizer، يمكنك إنشاء ملف تعريف لها واختبارها وإرجاع إصدار محسّن مرة أخرى إلى بيئة التطوير الخاصة بك. كما أدت خبرة Embarcadero في قواعد البيانات إلى تحسين تقنية DataSnap. بفضل المطورين من تورونتو، اكتسبنا الكثير من المعرفة حول بنية الأنظمة وقواعد البيانات متعددة المستويات. لدينا الآن خبرة مشتركة في إنشاء كود الخادم والإجراءات المخزنة في كلا الشركتين. لدينا أدوات مثل RapidSQL وDB Change Manager، بالإضافة إلى بيئات التطوير التي تعمل على تبسيط عملية إنشاء تعليمات برمجية للخادم - على سبيل المثال، أتاحت تقنيات Code Insight وCode Completion إنشاء تقنيات SQL Insight وSQL Completion. تسمح لنا أساليبنا المشتركة لإنشاء تعليمات برمجية للعميل والخادم، وفلسفتنا المشتركة، بإعطاء ميزات مشتركة لأدوات إدارة قواعد البيانات وأدوات تطوير التطبيقات.

كيريل رانيف:أريد أن أضيف شيئا مهما. من وجهة نظر تجارية، تعد كيفية تقديم أدواتنا أمرًا مهمًا للغاية. على سبيل المثال، إصدار جديديتضمن RAD Studio XE 2 Ultimate مجموعة كاملة من أدوات DB Power Studio. هذه مجموعة قوية جدًا من الأدوات، بما في ذلك بيئة تطوير استعلام RapidSQL، وأداة إدارة التغيير DB Change Manager، وأداة تحسين استعلام DB Optimizer، مما يسمح لك بتنفيذ جزء مهم من عملية التطوير والنشر من خلال إدارة التغييرات على نموذج البيانات وقاعدة البيانات والتعليمات البرمجية وما إلى ذلك. هذا مزيج جيد جدًا وصحيح من التقنيات.

دي.:ولكن، إذا لزم الأمر، يمكن للمطورين استخدام Subversion للتحكم في الإصدار مصدر الرمزومدير تغيير قاعدة البيانات لإصدار بيانات التعريف. يمكنك استخدام ملفات تعريف التعليمات البرمجية وDB Optimizer لتحسين تعليمات برمجية الخادم، وRapidSQL لإنشاء تعليمات برمجية للخادم وتصحيح أخطائها، وبيئات التطوير الخاصة بنا لإنشاء التطبيقات وتصحيح أخطائها. يوضح هذا المزيج من التقنيات في RAD Studio XE Ultimate Edition أوجه التشابه بين نماذج تطوير قاعدة البيانات والتطبيقات. يعمل معظم المطورين الذين يقومون ببناء تطبيقات الأعمال باستخدام Delphi وC++Builder مع قواعد البيانات ويحتاجون إلى هذه الأدوات، ويعد RAD Studio XE Ultimate Edition مزيجًا رائعًا لهؤلاء المطورين.

كب:لم يعد المستخدم الحديث مستخدمًا لمنصة Windows وحدها. نحن نستخدم الأجهزة المحمولة، iPhone، iPad، والأجهزة القائمة على نظام Android الأساسي. وهذا يعني أن المطورين يجب أن يبدأوا في استهداف منصات مختلفة دون زيادة الاستثمار في التدريب بشكل كبير - وهذا يعني أن هناك حاجة إلى أدوات عالمية. من الواضح أنه من غير الواقعي أن نتوقع ظهور أدوات عالمية من الشركات المصنعة للمنصة، وفي هذا الشأن لا يمكننا الاعتماد إلا على الشركات المصنعة للأدوات المستقلة. كيف يمكننا الاعتماد على إمباركاديرو؟

دي.:لا يزال أمامنا الكثير لنفعله فيما يتعلق بدعم النظام الأساسي. نقدم اليوم دعمًا لمنصة iOS لأجهزة iPhone وiPad، ثم ستتلقى الهواتف الذكية المعتمدة على منصة Android وWindows 7 وBlackberry دعمنا. في RAD Studio XE 2، بدأنا ببناء منصة FireMonkey لنظام التشغيل iOS وسنقوم بعد ذلك بإحضار FireMonkey إلى منصات أخرى.

وفي الوقت نفسه، هناك عدد كبير من أنظمة التشغيل التي تدعم شاشات اللمس للهواتف، أجهزة الكمبيوتر اللوحيةوأجهزة سطح المكتب، وسنستمر في إضافة الدعم لها. بالإضافة إلى ذلك، هناك الصوت والحركة، أنظمة القياسات الحيويةومقاييس التسارع، لذلك يجب علينا الاستمرار في توسيع FireMonkey حتى يتمكن جميع المطورين من الاستفادة من الأنظمة الأساسية الجديدة. على سبيل المثال، تم تصميم جهاز Microsoft Kinect لجهاز Xbox 360، والآن يوجد SDK (مجموعة تطوير البرامج) المقابلة لنظام التشغيل Windows. ولدينا بالفعل أمثلة حيث نستخدم الحركة للتحكم في أحد التطبيقات بنفس الطريقة التي يتم بها استخدام الماوس أو لوحة المفاتيح عادةً.

عندما تقوم بإنشاء تطبيقات تحتوي على الكثير من الرسومات المعقدة، فإنك تولد عالمًا كاملاً من واجهات المستخدم الجديدة. إذا كنا نتعامل مع غرفة العمليات نظام ويندوز، نحن نغلف تطبيقه واجهة البرنامج Windows API في مكتبة VCL (مكتبة المكونات المرئية - مكتبة المكونات المرئية التي تعد جزءًا من أدوات تطوير Delphi وC++Builder. - ملحوظة إد.)، والتي، بالمناسبة، يمكن استخدامها أبعد من ذلك. وفي FireMonkey نقوم بتغليف واجهة برمجة تطبيقات نظام التشغيل. لكننا اليوم نتعامل مع الأشكال والرسومات على نطاق أوسع. يمكنك أيضًا إضافة خصائص فيزيائية إلى المساحة للرسوم المتحركة والمؤثرات الخاصة. بالإضافة إلى ذلك، هناك عدد كبير من الإمكانات الإضافية الأخرى لإنشاء واجهات المستخدم التي سنقوم بتنفيذها في السنوات القليلة المقبلة لمختلف المنصات والأجهزة المحمولة والأجهزة اللوحية.

أعلنت مايكروسوفت مؤخرا معلومات مفصلةحول Windows 8، والذي من المقرر أن يصدر في غضون عام. سندعم هذه الابتكارات في مكتبة VCL ومنصة FireMonkey. لكن دلفي هي أداة تطوير مصممة ليس فقط لنظام التشغيل Windows، ولكن أيضًا لأجهزة Macintosh وiPhone وiPad. نقوم أيضًا بتطوير منتجات PHP الخاصة بنا، ودعم jQuery Mobile، واستخدام iOS API لتطوير تطبيقات عميل الهاتف المحمول، وإنشاء تطبيقات PHP من جانب الخادم باستخدام المعالجات والأدوات لإنشاء JavaScript وHTML وأوراق الأنماط المتتالية من جانب العميل. يمكننا إنشاء حزم من تطبيقات PHP وتطبيقات العميل ذات التعليمات البرمجية الأصلية لجهاز iPhone iOS، وسيتم التواصل مع هذا العميل خادم PHP. وهو بدوره سيتواصل مع خادم قاعدة البيانات ومع خدمات الويب - بكل ما هو مطلوب للعمل.

بيئة تطوير RadPHP XE2. إنشاء تطبيق ويب للجوال
باستخدام مكونات jQuery Mobile لجهاز iPhone 3G

بمعنى آخر، نحن نخطط لتوسيع قدرات FireMonkey وVCL، بما في ذلك دعم منصات الأجهزة المحمولة.

كب:هل يمكن أن تخبرنا المزيد عن منصة FireMonkey؟

دي.:كما أشرت بالفعل، ستستمر مكتبة VCL التي تم إنشاؤها لنظام Windows في التطوير والتحسين. لكن اليوم، إذا كنت تريد تطوير تطبيقات أعمال حقيقية، فيجب عليك إنشاؤها لمنصات مختلفة. هذا هو ما تم تصميم منصة FireMonkey من أجله. وهو يدعم إنشاء واجهات مستخدم عالية الدقة وعالية الأداء رسومات ثلاثية الأبعادومعدل إطارات مرتفع، والأهم من ذلك، يستخدم معالج رسومات لهذا الغرض.

يمكنك استخدام هذه الإمكانيات عند إنشاء التطبيقات العلمية والهندسية والتجارية. يمكن لمثل هذه التطبيقات الاتصال بقواعد البيانات باستخدام تقنية dbExpress، مع الاستمرار في استخدام المكونات غير المرئية المألوفة للمطورين، مثل ClientDataSet أو DataSource، واستخدام تقنية DataSnap، والاتصال بأي قاعدة بيانات، وخوادم SOAP وREST. يمكنك إنشاء عناصر تحكم جذابة وأزرار بمربعات وجداول غير عادية وعناصر واجهة أخرى، سواء في البعدين أو الثلاثة أبعاد. يمكنك تحميل نموذج ثلاثي الأبعاد نهائي في التطبيق وتوصيله بشكل ثنائي الأبعاد حيث يمكنك تدويره وعرضه من زوايا مختلفة. يمكنك إنشاء مكعب بيانات أو مخطط أعمال ثلاثي الأبعاد وتدويره باستخدام الماوس أو لوحة المفاتيح أو حتى جهاز Kinect، أو يمكنك الدخول داخل المكعب وإلقاء نظرة على أسطحه المختلفة من الداخل. ويمكن القيام بكل هذا باستخدام وحدة معالجة الرسومات عالية السرعة. ويمكن بعد ذلك تجميع نفس التطبيق لمنصة أخرى، مثل نظام التشغيل Mac OS.

تطبيق يحتوي على مكعب بيانات دوار،
وضعت على حوافها

أو يمكنك إنشاء شكل ثلاثي الأبعاد من الصفر واستخدام الكاميرات والأضواء لإضاءة أجزاء من واجهة المستخدم وتدويرها. يمتلك مصمم النموذج بالفعل بيئة مضمنة لدعم واجهة المستخدم ثلاثية الأبعاد أثناء التصميم.

على نظام التشغيل Windows للعمل مع الرسومات ثنائية الأبعاد دقة عاليةيمكنك استخدام مكتبات Direct2D، وللرسومات ثلاثية الأبعاد - Direct3D. في نظام التشغيل Mac OS، يتم استخدام مكتبات Quartz وOpenGL لنفس الأغراض. بالنسبة لنظام التشغيل iOS، يتم استخدام مكتبات Quartz وOpenGL ES. لكن كل هذا مخفي عن المطور - فهو يستخدم منصة FireMonkey ونظام الإحداثيات الخاص بها وواجهة برمجة التطبيقات، دون التفكير في هذه المكتبات، ويمكنه تجميع نفس التطبيق لمنصات مختلفة.

دعونا نتذكر ما هو VCL. VCL عبارة عن غلاف مكون حول Windows API. نحن نتعامل مع الموارد والقوائم ومربعات الحوار والألوان والأنماط ورسائل Windows. كونه مجمعًا متعدد المنصات، على عكس VCL، يحتفظ FireMonkey بنفس نماذج الأحداث والمكونات، مما يسمح لك بالتفكير في الأحداث (على سبيل المثال، أحداث OnClick وOnHasFocus وonMouseDown وonKeyDown)، ولكنه يتعامل مع أحداث Macintosh أو iPhone.

تأتي منصة FireMonkey أيضًا مع نظام كاملالرسوم المتحركة لعناصر واجهة المستخدم. إنه بالتأكيد ليس نظامًا شاملاً للرسوم المتحركة على طراز Pixar، ولكنه يسمح بتأثيرات مثل الرسوم المتحركة للصور النقطية، وتسليط الضوء على التركيز على عنصر واجهة المستخدم، والعمل مع رسومات فيكتور. يتوفر للمطور أكثر من 50 مؤثرًا مرئيًا: التمويه، وتحويل الصورة إلى أبيض وأسود، والذوبان، والانتقالات، والانعكاس، وإنشاء الظلال - جميع أنواع التأثيرات المتوفرة في معالجات الرسومات الحديثة، والتي توجد الآن في أي جهاز كمبيوتر تقريبًا. يرسل التطبيق الذي تم إنشاؤه باستخدام منصة FireMonkey الأوامر إلى وحدة معالجة الرسومات، التي تقوم بكل أعمال عرض الرسومات وإنشاء واجهة المستخدم. حيث وحدة المعالجة المركزيةمجانًا لإجراء العمليات الحسابية والمكالمات إلى نظام التشغيل. يمكن للمطور فقط وضع المكونات بشكل صحيح.

إن أهم شيء في منصة FireMonkey هو الطريقة التي تبني بها واجهة المستخدم. هناك مرافق الإقامة الرسومات النقطيةعلى عناصر الواجهة مثل القوائم والأزرار وأشرطة التمرير. في FireMonkey، نستخدم رسومات متجهة مدعومة بوحدة معالجة الرسومات لهذا الغرض. من وجهة نظر برمجية، لا تزال هذه هي نفس عناصر التحكم، ولكن يتم تنفيذ جميع أعمال عرضها بواسطة معالج الرسومات. يمكننا تطبيق الأنماط على عناصر التحكم، وجعل التطبيق يبدو كتطبيق لنظام التشغيل Mac OS أو Windows، وإنشاء النمط الخاص بنا، وتطبيق الأنماط الخاصة بنا على عناصر الواجهة (على سبيل المثال، إنشاء زر مستطيل أو مستدير عن طريق تغيير نمطه في محرر النماذج ) - لهذا يوجد محرر أسلوب في بيئة التطوير. يمكنك إنشاء نمطك الخاص، أو يمكنك تغيير نمط تطبيق تم الانتهاء منه بالفعل.

منصة FireMonkey - أدوات التطوير
والمنصات المدعومة

إذا كنت تتذكر، فإن مكتبة VCL لديها عدد محدود من عناصر التحكم - الحاويات (أي، مما يسمح لك بوضع عناصر أخرى فيها)، وفي FireMonkey، كل عنصر تحكم عبارة عن حاوية. وهذا يعني أن كل عنصر تحكم يمكن أن يحتوي على أي عنصر تحكم آخر. على سبيل المثال، قد تحتوي عناصر القائمة المنسدلة على صور وأزرار وحقول تحرير وعناصر تحكم أخرى. يمكنك أيضًا وضع المكونات في طبقات.

يعد نظام عرض FireMonkey مرنًا للغاية - حيث يمكنه استخدام مكتبات Direct2D وDirect3D وOpenGL، وإرسال الأوامر إلى وحدة معالجة الرسومات. لتحقيق نفس الشيء في VCL، كان عليك إنشاء مخزن مؤقت منفصل خارج الشاشة، وإنشاء صورة فيه عن طريق استدعاء وظائف مكتبة الرسومات المناسبة، ثم عرضها في النموذج.

أمثلة على التأثيرات الرسومية التي يدعمها FireMonkey

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

ميزة أخرى لـ FireMonkey هي نظام جديدربط عناصر الواجهة بالبيانات، بشكل مفتوح ومرن. هناك نوعان من عناصر الواجهة في VCL: مرتبطة بالبيانات وغير مرتبطة بالبيانات (على سبيل المثال، TDBEdit وTEdit). في FireMonkey، يمكن ربط كل عنصر تحكم ببيانات من أي نوع. يمكن أن يكون هذا تعبيرًا بسيطًا، أو حقلاً من مجموعة بيانات، أو بيانات من كائنات أنشأها المطور، أو نتائج استدعاءات الأساليب.

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

أمثلة على تغيير أنماط التطبيق

كب:ما هي تنسيقات النماذج ثلاثية الأبعاد المدعومة حاليًا؟

دي.:في هذا الإصدار، ندعم تحميل النماذج من AutoCAD وCollada (أداة تصميم ثلاثية الأبعاد مفتوحة المصدر. - ملحوظة يحرر.) Maya، وهو تنسيق OBJ مدعوم من قبل العديد من بائعي الرسومات ثلاثية الأبعاد.

كب:ما هي التنسيقات الأخرى التي تخطط لإضافتها؟

دي.:نخطط لإضافة 3DS (3D Studio MAX)، SVG (عادةً ما يتم استخدام هذا التنسيق للرسومات المتجهة ثنائية الأبعاد، ولكن في بعض الأحيان للرسومات ثلاثية الأبعاد)، وGoogle SketchUp. ربما سندعم التنسيقات الأخرى.

كب:هل يتطلب استخدام النماذج ثلاثية الأبعاد في التطبيقات المبنية باستخدام FireMonkey ترخيصًا لأداة النمذجة ثلاثية الأبعاد المناسبة؟

دي.:لا، لا يتطلب ذلك. كل ما نقوم به هو قراءة ملف النموذج. نحن نقوم باستيراد النموذج، ولكن لا نقوم بتصديره (على الرغم من أنه يمكنك بالطبع كتابة تطبيق يحفظ النموذج بتنسيقك الخاص). نحن لا نتظاهر بأننا شركة مصنعة لأدوات النمذجة ثلاثية الأبعاد - ولهذا يمكنك استخدام AutoCAD أو 3D Studio Max أو Maya أو أي أداة أخرى للنمذجة ثلاثية الأبعاد، واستيراد النماذج التي تم إنشاؤها إلى تطبيقاتنا.

كب:ما مدى أداء التطبيقات التي تم إنشاؤها باستخدام FireMonkey على منصات الأجهزة الحديثة؟

دي.:الإنتاجية عالية جدًا. على سبيل المثال، تقديم شكل ثلاثي الأبعاد بثلاثة مجالات وثلاثة مصادر للضوء ماك بوك برويمكن تنفيذها بسرعة 100 إطار في الثانية. أو يمكن أن يصل إلى 600 - يعتمد ذلك على ما نقوم به بالضبط. مرة أخرى، كل هذا يتوقف على قوة وحدة معالجة الرسومات.

كب:هل هذا يعني أنه يمكنك إنشاء ألعاب حديثة باستخدام FireMonkey؟

دي.:نحن لا نضع أدوات التطوير الخاصة بنا كأدوات للألعاب. ومع ذلك، مع الاستفادة من الأداء العالي لوحدات معالجة الرسومات الحديثة، يمكنك إنشاء ألعاب باستخدام FireMonkey - بعد كل شيء، يتم إنشاؤها باستخدام Direct3D أو OpenGL.

كب:ما العمل الذي تقوم به حاليًا في مجال دعم التعرف على الإيماءات والأشياء الجديدة الأخرى؟ فهل هذا الدعم متاح؟

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

ميخائيل فيليبينكو، مدير شركة Fast Reports, Inc.

ك.ر.:لقد قلنا بالفعل أن تكنولوجيا FireMonkey لها جذور روسية - تم إنشاء أسسها في بلدنا، ثم انضمت التكنولوجيا نفسها ومطوروها إلى Embarcadero. بشكل عام، إنه لمن دواعي السرور أن نرى نمو المكون الروسي في RAD Studio وDelphi. ويشمل ذلك أنشطة مركز التطوير الخاص بنا في سانت بطرسبرغ ومساهمة المطورين الروس المستقلين. على سبيل المثال، يتضمن Rad Studio XE2 منشئ تقارير FastReport - المعروف في جميع أنحاء العالم ويحظى بشعبية كبيرة في بلدنا. هو في الأصل من روستوف على نهر الدون.

كب:أود أن أتحدث عن المترجمين. ما نوع المترجم المستخدم عند إنشاء تطبيقات iOS؟

دي.:ليس لدينا مترجم دلفي خاص بنا لأجهزة iPhone أو iPad، ولم نقم بعد بتطوير مترجمات لمعالجات ARM المستخدمة في تلك الأجهزة. بالنسبة لنظام التشغيل iOS، نستخدم مؤقتًا مترجم Free Pascal ومكتبة وقت التشغيل. لكننا نعمل على الجيل التالي من المترجمات، بما في ذلك معالجات AWP. ولكن هناك مترجمين لنظامي التشغيل Windows وMac OS، نظرًا لأن كلا النظامين الأساسيين للأجهزة يعتمدان على معالجات Intel.

كب:ما الذي تم إنجازه في مجال إنشاء المترجمين في العامين الماضيين؟

دي.:لدينا مترجمات دلفي 32 و64 بت لنظامي التشغيل Windows وMac OS. ونحن نعمل على جيل جديد من مترجمات دلفي وC++. لا يزال العمل قيد التقدم، ولكن عندما ينتهون، سيكون لدينا مجمعات دلفي لمعالجات ARM، ومنصات Android، وLinux، وكل شيء بينهما. وسيكون لدينا مترجمات C++ 64 بت لنظام التشغيل Windows والأنظمة الأساسية الأخرى، متوافقة مع أحدث معايير لغة C++ التي تم اعتمادها للتو من قبل ISO.

كب:ما الذي يحدث مع دعم الحوسبة السحابية في أدوات تطوير Embarcadero اليوم؟

دي.:في RAD Studio XE 2، ندعم نقل التطبيقات إلى سحابة Microsoft Azure أو Amazon EC2 باستخدام Platform Assistant. ولدينا مكونات خادم للتخزين السحابي لـ Azure وAmazon S3 لتخزين الجداول والبيانات الثنائية وقوائم انتظار الرسائل. في إصدار سابقباستخدام RAD Studio XE، قمنا أيضًا بدعم نشر التطبيقات على Amazon EC2، لكنه كان يفتقر إلى دعم التخزين.

دعم الحوسبة السحابية في RAD Studio XE 2

كب:لقد تحدثت قبل عامين عن حل All-Access الجديد. ما مدى شعبيتها؟ ما هي فوائدها لتكامل الأنظمة والمطورين؟

دي.:يتم استخدام حل All-Access وأداة AppWave السحابية على نطاق واسع في جميع أنحاء العالم. وهي مصممة لتسهيل استخدام تطبيقاتنا وتطبيقات الطرف الثالث. في الواقع، إنه حل لإدارة التراخيص واستخدام التطبيقات، وهو مناسب لـ الشركات الكبيرة. يمكن للشركات الصغيرة التي ليس لديها فرق مخصصة من الأشخاص المسؤولين عن إدارة التطبيقات وضع التطبيق في مستودع، واختيار أسماء المستخدمين من قاعدة البيانات، وإتاحة هذه التطبيقات دون الحاجة إلى تذكر مكانها. مفتاح الترخيصوكم عدد التراخيص المتاحة. تم تصميم All-Access ومتصفح AppWave لإدارة كل من الإصدار والتحكم في الوصول.

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

لا يزال العمل على تجميع أدوات التطوير في مجموعات فعالة للمستخدمين مستمرًا. لدينا All-Access - مجموعة شاملة تجمع بين جميع منتجات Embarcadero. إذا قام العميل بشراء All-Access Platinum، فسيحصل على جميع الأدوات الموجودة في Embarcadero. لكن في بعض الأحيان يتبين أن هذه المجموعة زائدة عن الحاجة، على سبيل المثال، بالنسبة لمتخصصي قواعد البيانات، قمنا بإنشاء مجموعتين أخريين - DB Power Studio Developer Edition وDB Power Studio DBA Edition. الفرق بينهما هو أننا نقدم للمطور RapidSQL - أداة لتطوير كود الخادم، وبالنسبة للمسؤول، هناك DBArtizan مدمج - أداة لإدارة قاعدة البيانات، وهو منتج أوسع من RapidSQL. بالنسبة للمحترفين، لدينا مجموعات All-Access التالية: مجموعة تتضمن جميع المنتجات، وDB Power Studio للمطورين، وDB Power Studio للمسؤولين، وER Studio Enterprise Edition للمهندسين المعماريين وأي شخص مشارك في تصميم النماذج. هناك مجموعات لتطوير التطبيقات وللمسؤولين. دلفي هي أداة للمطورين، ومن المنطقي جدًا إضافة أدوات تطوير وتحسين SQL إليها. وأخيرًا، يعد DB Change Manager أداة منطقية لإدارة تعقيد التغييرات التي تحدث لقواعد البيانات أثناء دورة حياتها.

وبالتالي، فإن All-Access هو رأس عائلة كبيرة من مجموعات المنتجات المختلفة.

كب:إذا لم يكن سرا، فمن في روسيا يستخدم All-Access؟

ك.ر.:لدينا عملاء اشتروا All-Access استنادًا إلى دلفي. يقوم العديد منهم بإنشاء أنظمة خادم عميل معقدة باستخدام خادم قاعدة البياناتوOracle، وقد أعجبوا على الفور بأدوات قاعدة البيانات عبر الأنظمة الأساسية الخاصة بنا. لدينا شركة عميلة تعمل مع دلفي منذ الإصدار الأول، وقبل عام تحولت من باستخدام دلفيإلى مجموعة الوصول الشامل. هناك أداتان يضمن استخدامهما جميع المطورين في هذه الشركة وهما Delphi وDBArtisan. وهناك عملاء أتوا إلى All-Access من جانب قاعدة البيانات. وتتمثل مهمتهم الرئيسية في إدارة قواعد البيانات، لكنهم يقومون أيضًا في بعض الأحيان بتطوير التطبيقات. يشمل العملاء الذين يستخدمون All-Access شركات الإعلام والشركات الهندسية والصناعات الأخرى.

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

يعد Delphi Architect منتجًا يتم تسويقه بكثافة ويتضمن أدوات النمذجة والبرمجة. ومع ذلك، فإن عدد النسخ المباعة أقل من إصدار Delphi Enterprise، ولكنه كبير أيضًا. أود أن أشير إلى أنه في عام 2010 تبين أننا أفضل دولة من حيث حجم المبيعات، على الرغم من حقيقة أن جميع البلدان شهدت أزمة. لم يكن هذا النمو مرتبطًا بالعوامل الاقتصادية بقدر ما يرتبط بحقيقة أن إصدار RAD Studio XE، الذي تم إصداره في نهاية عام 2009، أصبح شائعًا للغاية. وفي الوقت الحالي نتوقع المزيد من نمو المبيعات.

لقد اتخذنا خطوة معقولة أخرى تحظى بشعبية كبيرة في روسيا. تختلف درجة تقنين الإصدارات المختلفة من منتجاتنا: كلما كان الإصدار أعلى، كلما كان أكثر تقنينًا، لأنه في وقت سابق برمجةلم يتم شراؤها بنشاط. بدءًا من RAD Studio XE، يغطي الترخيص الإصدارات 2010 و2009 و2007 وحتى Delphi 7، وهو منتج مستخدم على نطاق واسع.

اليوم، يواجه المطورون حقيقة أن لديهم مشاريع ومشاريع جديدة داعمة. تم نقل عدد كبير من المشاريع من الإصدارات السابقةدلفي إلى الإصدار 7 ويبقى ضمن هذا الإصدار، ويستمر في العمل على موارد صغيرة نسبيًا. لا أحد ينقلها إلى الإصدارات الأحدث، ولكن يتم الاحتفاظ بها في حالة قابلة للحياة. والآن نسمح لك بالحصول على RAD Studio XE وDelphi 7 مقابل القليل من المال (أقل من سعر ترخيص Delphi 7) - أي أننا نقوم بإضفاء الشرعية على المطور لتنفيذ المشاريع الجديدة ومشاريع الدعم.

كب:كيف تقيم الوضع الحالي لمجتمع إمباركاديرو؟

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

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

كب:إذا قامت إحدى الشركات بإنشاء جهاز جديد وأرادت دعمه في FireMonkey، فهل سيكون ذلك ممكنًا؟

دي.:مع الجيل الجديد من المترجمين، الذين سيكون لديهم واجهة أمامية مستقلة عن النظام الأساسي وواجهة خلفية تعتمد على النظام الأساسي، سيكون هذا ممكنًا تمامًا. في هذه الأثناء، لكل نظام تشغيل، نقوم بإنشاء مترجم ومكتبة وقت تشغيل من البداية.

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

كب:هل تغير شيء في سياسة العمل مع الشركاء؟ ما الذي يتم فعله لزيادة حصة مستخدمي منتجاتك؟ ما الذي يجري في روسيا؟

دي.:نظامنا البيئي الشريك واسع النطاق - هناك المئات من الشركات المصنعة للأدوات والمكونات غير الموجودة في منتجاتنا، ولدينا برنامج شراكة تكنولوجية. ولذلك، تتوفر للمطورين مجموعة واسعة من المكونات والتقنيات والأدوات. والحلول التي يبتكرونها لعملائهم أفضل مما لو كانوا يستخدمون منتجاتنا فقط. وبالنسبة للمبيعات لدينا مكاتب في العديد من البلدان، والبائعين والموزعين.

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

لدينا شركاء عمل استثمروا بجدية في Embarcadero كخط أعمال - لقد قاموا بتدريب متخصصين وتسويق منتجاتنا وموظفين متفانين مسؤولين عن هذا الخط ومراقبة ما يحدث لمنتجاتنا وقائمة الأسعار والتسويق. وبطبيعة الحال، فإنهم أكثر نجاحًا من حيث مبيعات منتجاتنا من الشركات التي تبيع منتجاتنا من حين لآخر.

كب:ديفيد، كيريل، شكرًا جزيلاً لك على المقابلة المثيرة للاهتمام. اسمحوا لي، نيابة عن منشوراتنا وقرائنا، أن أتمنى لشركتكم المزيد من النجاح في إنشاء أدواتكم الرائعة التي يحتاجها المطورون كثيرًا!

الأسئلة التي طرحتها ناتاليا المانوفا

FireMonkey هي التقنية الأساسية لـ "New Delphi". من فضلك أخبرنا عن الأهداف والقدرات والجوانب التقنية لهذه المكتبة الجديدة بشكل أساسي. بعد فترة من الوقت، بالنظر إلى الوراء، ما مدى صعوبة ومبرر رفضك مواصلة تطوير VCL ذو الشعبية الكبيرة؟

تم اختياره باعتباره الاتجاه الرئيسي لتطوير تقنية دلفي لتحقيق هدف محدد - تطوير متعدد المنصات من بيئة واحدة، بناءً على قاعدة كود مصدر واحدة، دون الحاجة إلى إعادة تدريب جذرية للمطورين. في إطار VCL الكلاسيكي الذي أصبح الآن يتمتع بشعبية كبيرة، كان هذا مستحيلًا؛ فقد كان ارتباطه بـ WinAPI وثيقًا جدًا، "على المستوى الجيني"، كما يمكن للمرء أن يقول.

لم تحتوي مكونات VCL على طبقة "مجردة" بين المستوى الوظيفي من حيث الواجهة وآليات عرضها. المستوى الوظيفي- كيف يتصرف كعنصر تحكم، وما هي الأحداث التي يتفاعل معها، ونوع تفاعل المستخدم الذي يوفره. عرض- استدعاء أساليب التصور الموجهة نحو النظام الأساسي كصورة معينة مكونة من كائنات نقطية وأوليات متجهة. نفذ FireMonkey في البداية مبدأ التقسيم الصارم للتحكم إلى عنصرين: "السلوكية" و"المرئية".


فسيفولود ليونوف، إمباركاديرو تكنولوجيز

الأول لن يكرر بشكل عام حتى أساسيات VCL، بل جوهر البرمجة الموجهة للكائنات. المكون هو فئة؛ تشكل فئات المكونات تسلسلاً هرميًا حيث يمكن التمييز بين العائلات والوحدات النمطية. ترتبط فئة المكون بشكل فضفاض بكيفية تقديمه.

يتم تشكيل "الصورة" المرئية بشكل ديناميكي، ولا تتم كتابتها بشكل صارم في فئة المكونات. يتم تحميل الصورة أو "النمط" في FireMonkey إلى المكون عند بدء تشغيل التطبيق. لدينا نوع من الإطار الوظيفي للمكون، ويمكن تغيير "الجلد" أو "الكسوة"، ولكن لماذا؟ وذلك بحيث تبدو تطبيقات FireMonkey أصلية على أي نظام أساسي - Windows 7 وWindows 8 وMac OS وiOS وفي المستقبل القريب Android. وهذا شيء لا يمكن للبنية الطبقية التقليدية المتجانسة لـ VCL توفيره.

وهنا يلعب النهج التكنولوجي دورا خاصا. من حيث المبدأ، يمكنك أخذ مكتبة VCL و"ملؤها" بـ WinAPI وجميع استدعاءات النظام الأساسي الممكنة الأخرى. لا يزال من الممكن القيام بذلك على مجموعة فرعية محدودة جدًا من المكونات، لكن VCL يحتوي على عدة مئات من المكونات، لذلك يمكن لهذا الأسلوب ببساطة "قتل" VCL. تقرر عدم لمس VCL، ولكن تطوير إمكانيات جديدة على منصة جديدة - FireMonkey. هذه التكنولوجياحتى أنه يتمتع بأناقة فنية معينة - في وقت تجميع المشروع لمنصة معينة، يقوم Delphi IDE بتوصيل المترجم المطلوب، وتتلقى مكونات الواجهة نمط النظام الأساسي.

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

عندما أصبح من الواضح أنه سيتم تقديم FireMonkey كمنصة جديدة منفصلة، ​​كان لا بد من اختيار استراتيجية التعايش الصحيحة: لم ترغب Embarcadero في التأثير سلبًا على مستخدمي VCL بأي شكل من الأشكال. لذلك، اخترنا الخطة التالية: يظل VCL مستقرًا فكريًا ومعماريًا لضمان أعلى توافق ممكن، مما يسهل ترحيل المشاريع إلى الإصدارات الحديثة. سوف يتبع تطوير FireMonkey مسارًا طبيعيًا ومتوازيًا، بغض النظر عن VCL.

نقطة الضعف في هذا الحل هي الترحيل الإشكالي من VCL إلى FireMonkey داخل نفس المشروع. ولكن بالنسبة لمشروع جديد، يمكن للمطور اختيار FireMonkey لضمان تعدد المنصات للتطبيق الناتج. بعد إصدار XE4 مع دعم iOS، يمكننا بالفعل التحدث عن المزايا التنافسية المشرقة لدلفي كبداية تطوير المحمولفي بيئة الشركة، والتي سيتم زيادتها بعد تنفيذ دعم Android المخطط له.

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

في المقابلة، ناقشنا بالفعل دعم iOS، دعنا نخبر قرائنا عن دعم أحدث التقنيات الأخرى من أحدث RAD Studio XE4، على سبيل المثال، مثل Windows 8 وWinRT وأنظمة 64 بت وMacOS وما إلى ذلك. هل يمكنك سرد ما يمكنك تقديمه للمبرمج الحديث الذي أفسدته الابتكارات؟

على الأرجح، لا "يفسد" المبرمج الحديث الابتكارات. ل المشاريع الكبرىغالبًا ما يؤدي أي "ابتكار" إلى قدر هائل من العمل.

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

وهنا - كلما كان المشروع أكبر، مقاسًا، على سبيل المثال، بعدد أسطر الكود المصدري، كلما كان المبرمجون أكثر حرصًا وتوازنًا مع أنواع مختلفة من الابتكارات بدءًا من ظهور "زر" في الواجهة إلى "السكر النحوي" في المترجم.

أحد هذه الإنجازات "الإشكالية" كان إصدار Windows 8. شخصيًا، كمستخدم للكمبيوتر الشخصي ومجرد متخصص حديث في تكنولوجيا المعلومات، أنا سعيد بنظام Windows 8. لكن بالنسبة للمطورين الذين تم إرسال مجموعة من أجهزة الكمبيوتر التي تعمل بنظام التشغيل Windows 8 مع مواصفات التطوير لنظام التشغيل الجديد كحمل، فهذا يعني بعض الصعوبات.

لقد حاولنا تقديم الدعم التطويري للواجهة الجديدة لنظام التشغيل هذا بشكل مريح وغير مؤلم قدر الإمكان. لذلك، تم تقديم أنماط خاصة لكل من VCL وFireMonkey، ويمكن للمبرمج إما إعادة بناء واجهة التطبيق أو إنشاء تطبيق جديد لا يمكن تمييزه عن التطبيق "الأصلي" لنظام التشغيل Windows 8. مظهر. بالطبع، هناك حاجة إلى الدعم "الأصلي" لنظام التشغيل Windows 8 من خلال WinRT. ولكن هذا يتأثر بتحديد أولويات الأهداف في الظروف الحديثة. لا يسمح لنا نظام التشغيل Mac OS وiOS وAndroid في المستقبل القريب بالحديث عن الدعم الكامل لـ WinRT في المستقبل القريب.

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

يتضمن ذلك مصممًا مرئيًا جديدًا ودعمًا مدمجًا لعوامل الشكل المختلفة ومكتبات الوصول إلى البيانات، بما في ذلك تقنية FireDAC الجديدة وتقنية LiveBindings للربط المرن والديناميكي مع بيانات الشركة. تصل كل هذه الابتكارات في وقت واحد - لنظام التشغيل Windows، وMac OS، وiOS. نظام التشغيللا يتطور نظام التشغيل Mac بهذه السرعة، لذلك لا توجد مشاكل مثل الانتقال من Windows 7 إلى Windows 8. لكنهم ظهروا يعرض شبكية العين، وهذا يتطلب اهتماما خاصا. الآن يتضمن أي تطبيق MacOS تم إنشاؤه في Delphi XE4 نمطين تلقائيًا - "عادي" و"عالي الوضوح".

الذي - التي. يمكن أن يتمتع نفس التطبيق بنفس الواجهة "الأصلية" عالية الجودة على أي تطبيق كمبيوتر سطح المكتبمن أبل.

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

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

ستجد معنا دائمًا التطوير المرئي، واللغات الكلاسيكية، والرموز "الأصلية"، وستجعل الأنظمة الأساسية المستهدفة لتطبيقاتك، التي تم إنشاؤها بنفس الطريقة الكلاسيكية المثبتة، جديدة.




قمة