25

لماذا يتم تجاهل دلفي ولازاروس والتركيز علي فيجوال بيسك نت من ناحية برمجة تطبيقات سطح المكتب؟

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


بالرغم من أنها جيدة في بناء تطبيقات سطح المكتب وأراها ممتازة.



23

الدلفى رائع للغاية, و هو يقدم بيئة تطوير سريعة و قوية و احترافية, و مكتبة هى مازالت تعتبر تحفة فنية VCL, بالاضافة الى لغة قوية لا تقل فى قوتها أو سرعتها عن السى++ (كما يمكنك الحصول على قوة السى++ لو تريد مع نفس بيئة تطوير دلفى من خلال C++ Builder).

يحمل دلفى لواء الnative application حاليا, حيث تشدد Embarcadero ان الnative apps هى الاسرع و الاقوى, و هذا صحيح, برامج الدلفى توازى فى ادائها برامج الفيجوال سى++, بينما تقترب فى سرعة التطوير من السى#, مكتبة VCL منسقة جيدا بعكس مكتبات MFC من مايكروسوفت.

هذا بالاضافة الى جهود Embarcadero الطيبة لدخول عالم تطوير تطبيقات الMAC OS و الموبايل Android و IOS, و قد نجحت فى ذلك الى حد كبير. ففى بيئة تطوير واحدة و لغة واحدة تستطيع ان تستهدف أربعة أنظمة تشغيل Windows و MAC OS و IOS و Android. كما تخطط Embarcadero لاستهداف Windows Phone.

بهذا يمكن للمبرمج ان يكتب كودا واحدا و ينشره على ثلاثة أنظمة للهواتف المحمولة مرة واحدة! و بدون اى نوع من الruntime libraries أو الemulation, بل ان دلفى أو سى++ بيلدر يقوم باعادة ترجمة برنامجك الى المنصة المستهدفة.

هذا التوجه بصراحة جديد و مبتكر, جهود الcross platform كلها فشلت تقريبا, لأنها كانت تركز على الألات الافتراضية التى تقوم بتشغيل ملف موحد لكل المنصات (نعم عن الجافا أتحدث), كان الجميع يقولون Write Once,run anywhere!

Embarcadero أتت بحل سحرى, و هو Write Once, Compile for everywhere!

رغم كل ذلك, لماذا لا تتمتع الدلفى بشهرة Visual Studio؟

أعتقد ان الأسباب بسيطة للغاية, و ليس من بينها عيوب للدلفى,

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

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

بسم الله الرحمن الرحيم

بحكم تجربتي البسيطة في انجاز برامج ادارة قواعد البيانات، انجزت بعضها ببيئة لازاريس لكوني استعمل لينكس، و الحمد لله قد انجزت للمديرية التي اعمل بها برنامجا لإدارة البنزين (بما فيها طباعة الفاتورات) رغم اني طورت برامج للينكس و ويندوس و حتى ويندوز فون عن طريق cross platform، لكن كانت امكانتياتها محدودة و لم تتجاوب مع متطلبات الواقع اليوم، و لما بدأت اجرب البرمجة بلغة الجافا على الاندرويد قلت لما لا ابرمج ايضا بها على الحاسوب و فعلا كانت لي بها عدة برامج و لاحظت التالي:

  • السرعة في الاداء : باستعمال jpa و الواجهات المبرمجة تلقائيا يمكنك عن طريق بيئة netbeans اتمام برنامج ادارة في اسبوع. و تصبح تفكر بمنهجية و تركز على نموذج المشروع (uml) لا على الكود.

  • متعدد المنصات : و مع اضافة installjammaer يمكنك انجاز برنامج بمثبت للويندوز و لينكس باستعمال منصة لينكس فقط اي تعمل بأدوات مجانية.

  • توفر العديد من المكتبات الداعمة : فمثلا في مشروعي الذي انجزته لادارة عتاد المديرية بفروعها كان يجب عليا استعمال مكتبة تقرأ QR code و تطبعه ايضا فوجتها و كانت مشتركة بين برنامج الاندرويد و برنامج سطح المكتب. و قد اعطني هذا البرنامج الثقة في البرامج الحرة المفتوحة المصدر فالمشكل ليس في الاداة لكن فينا. و خلاصة المشروع برنامجية واحد على اللوحي يعطيك معلومات عن العتاد الماثل امامك و برنامج سطح المكتب يطبع لك حالة العتاد و هناك العديد من الميزات لا يسعني الحديث الان عليها.

  • عالمية المشاريع: بحكم استعمالك لادوات مجانية يتغير تفكيرك و تصبح تفكر في بيع منتجك أو على الاقل وضعه في موقع للتحميل فانت لم تستعمل برامج مقرصنة.

خلاصة الامر: توجه نحو الجافا و استعمل لينكس و سينفتح عليك عالم كبير جدا من الامكانيات و الابداع.

انا اركز الان في جافا وباسكال و ممارسة لينكس واتخلي ببطء عن البرامج المدفوعة المقرصنة

صديقى,

أقدر دعوتك الى التوجه نحو لينكس لكن هذا الموضوع لا يتعلق بلينكس من قريب أو بعيد, بل يتعلق بادوات Embarcadero و دلفى.

Embarcadero أتت بحل سحرى, و هو Write Once, Compile for everywhere!

هذه المعلومة ليست صحيحة. لا يُمكنك استخدام دلفي في لينكس أو يونكس أو سولاريس، فقط وندوز وماكنتوش وأندرويد و IOS، ولا يمكن تثبيت أداة التطوير في بيئة ماكنتوش، فقط في وندوز. في رأيي موضوع تعدد المنصات مازال في في بدايته.

بالمناسبة هل تم حل مشكلة اﻷحرف العربية المتقطعة في EX6 في أندرويد؟

نعم لا يمكن الترجمة للينكس أو يونكس او سولاريس, و هذا منطقى,

MAC OS أكثر شعبية من اللينكس و سائر أنظمة يونيكس حيث تبلغ نسبته ما يقرب من 7% من الحواسيب المكتبية, لذا فان دعمه أولا هو شىء منطقى, بينما نسبة اللينكس و اليونيكس مجتمعة لا تتعدى ال1.5%.

أنظمة يونيكس كانت شعبية فى الماضى فى مجال الاعمال, لكن بعد ظهور ويندوز NT لم تعد كذلك.

مشكلة دعم الاحرف العربية موجودة فى Firemonkey, لكنها غير موجودة فى مكتبات VCL.

أنا أعرف أنها غير موجودة في الـ VCL فقد استخدمت دلفي لمدة تزيد عن ١٥ عاماً، لكن قصدي أن هناك مشكلة في اللغة العربية في برامج الموبايل وهي معتمدة على Firemonkey كانت هذه المشكلة في XE5 هل تم حلها في XE6؟ ايضاً كانت هُناك مشكلة حجم البرامج الكبيرة في اندرويد مقارنة بالجافا مثلاً

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

نظام لينكس اﻵن بدأ يحتل مكان نظام يونكس في مجال اﻹتصالات الذي اعمل فيه، وهو مجال كبير ومن اﻷهمية بمكان، حيث أنه يستخدم المخدمات بشراهة. لذلك وندوز NT ليس له أي مجال للمنافسة هُنا. أنظمة ماك في رأيي هي أكثر أنظمة يمكن اﻹستغناء عنها، لا يمكننا إنكار نظام وندوز في سطح المكتب ولا إنكار لينكس في المخدمات، لكن يمكننا اﻹستغناء عن ماكنتوش في المخدمات وفي اﻷجهزة الطرفية، كعتاد أو كبرامج.

لا اعرف اذا كان ما تم حل المشكلة فى XE6 أو لا, نسخة XE6 لا تزال حديثة. سوف نرى لكن طبعا Firemonkey لا تزال حديثة بعض الشىء و سوف تأخذ بعض الوقت كى تستقر و تصبح بلا أخطاء.

مجال الاعمال ليس معتمدا على الويب كما تعتقد, بل مازال يعتمد بشكل كبير على تطبيقات سطح المكتب, و انا اعمل فى مجال البرامج الصناعية و 99% من برامجنا تطبيقات سطح المكتب, خاصة ان الامر يحتاج الى التوصيل بأجهزة خارجية و هذا غير ممكن فى برامج الويب! و الويب يستخدم فقط لعرض نتائج, و فى كل الاحوال, فانه فى مجال الاعمال الويندوز سرفر هو المسيطر, بحسب اخر الاحصائيات, فان 75% من الشركات ال500 الاغنى تستخدم ويندوز سرفر.

الويب هو واجهة عرض فقط, فكيف مثلا يمكنك توصيل جهاز خارجى لقياس ضغط تفاعل كيميائى ما على الويب؟!! هناك عدد كبير من التطبيقات التى يستحيل معها الويب. ناهيك عن أن تناقل المعلومات بين الserver و الclients لا يكون غالبا عبر بروتوكول HTTP البطىء و الساذج, و لكن عادة ما يتم تطوير بروتوكول خاص و يبرمج السرفر و الclient داخل الشركة نفسها.

فمثلا نحن نقوم بنقل المعلومات من الclients الى السرفر عبر بروتوكول خاص بنا طورناه كله بواسطة الc++ builder (سرفر و client).

و عموما لغات Object Pascal و سى++ هى لغات سطح مكتب و ليست لغات تستخدم عادة فى برمجة الويب, الا انه يمكن استخدامها لبرمجة الويب.

الويب هو واجهة عرض فقط, فكيف مثلا يمكنك توصيل جهاز خارجى لقياس ضغط تفاعل كيميائى ما على الويب

أنت تتكلم كأننا لا نفهم البرمجة أو البرامج. وفي الحقيقة لا نحتاج لبرامج سطح مكتب لقياس ضغط تفاعل كيميائي. فقط برنامج console يكفي.

في أنظمة اﻹتصالات لا توجد برامج سطح مكتب كثيرة، معظم الواجهة ويب، والبعض اﻵخر واﻷهم هي خدمات الويب، وكثير من الـ application services.

الواجهة لازمة لعرض النتائج و معالجتها, و عموما برنامج الconsole أيضا يبرمج بالدلفى أو السى++.

انت تعرف انه لا يمكن التحكم بالhardware من خلال الويب,

حتى لو هتقرا من الجهاز من خلال console يقوم بارسال النتائج الى سيرفر, ثم يقوم السرفر بعرض هذه النتائج على الclients, فأنت مازلت تحتاج الى دلفى أو سى++ لمعالجة هذه النتائج و توصيلها الى السرفر, و يأتى الويب فى النهاية فقط لعرض النتائج.

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

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

لازاروس يدعم كل الذي ذكرت بنفس الكود

بارك الله فيك اخي الكريم على الرد

بصراحة وجهة نظرك مقنعة جدا....

'' ان امكنك وجهنا لاهم المصادر لهذه اللغة من فضلك ''

تحياتي الخالصة لك

17

للدلفى :

هذا Tutorial سهل جدا و مجانى للمبتدئين فى الدلفى :

هذا كتاب شهير جدا للدلفى, يمكنك البحث عنه و تنزيله (الرابط من أمازون):

و طبعا كتب SAMS الرائعة دائما :

هذا Tutorial حول تطوير برامج IOS و Android بواسطة دلفى :

اما بالنسبة لC++ Builder, و هو بيئة تطوير سى++ و لكن تستخدم نفس مكتبات دلفى VCL و Firemonkey :

هذا اروع كتاب للسى++ بيلدر , قديم بعض الشىء لكنه مازال رائعا :

هذا Tutorial لتطبيقات الموبايل بواسطة الدلفى او السى++ بيلدر :

هذا Tutorial لمكتبة Firemonkey, و هى المكتبة التى تستخدم لتطبيقات الWindows و الMac OS و الIOS و الAndroid,

اذا كنت تريد تطوير تطبيقات سطح المكتب للويندوز, فيمكنك تطويرها بVCL, أما اذا كنت تستهدف عدة أنظمة تشغيل, فعليك بFiremonkey :

تحياتى لك.

غريبة أول مرة تتخلى عن الدفاع عن مايكروسوفت, م. فادى!!!.

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