|
أيهما أفضل
Visual Basic
أو
Delphi
؟
يزداد الطلب
يوماً بعد يوم على التطبيقات البرمجية والخدمية المتوافقة مع نظام التشغيل
Windows
ومختلف أنظمة التشغيل الأخرى . أدى هذا لزيادة حاجة المبرمجين والمطورين
لامتلاك لغات برمجة وأدوات برمجية متطورة تساعدهم على تقديم المطلوب بسرعة
أكبر وبأقل زمن ممكن . وأصبح التركيز على تطوير أدوات تطوير التطبيقات
السريعة
Rapid
Application Development ( RAD )
هو الهم الشاغل ونقطة الفصل لمجمع المؤسسات والشركات العاملة في حقل التطوير
البرمجي .
www.tartoos.com
الجيل الأول
من الأدوات البرمجية الخدمية
RAD
المتوافقة مع نظام التشغيل
Windows
. ضم تطبيقات أطر العمل
( framework )
مثل : OWL
و MFC
قادرة على الدمج بين قوة وفعالية المتصرفات التقليدية
( 3GL) 3GL
compilers
وميزات المتصرفات
4GL
من سهولة وسرعة في بناء التطبيقات .
www.tartoos.com
يقدم لنا
هذا المقال عرضاً توضيحياً للتقانات الجديدة المستخدمة في بناء التطبيقات
البرمجية والخدمية بواسطة لغات البرمجة
Microsofts
Visual Basic
و Delphi
والفوارق الأساسية بين هاتين اللغتين .
www.tartoos.com
التطور المرئي لنظام
Windows
www.tartoos.com
اعتمدت
المنهجية الأولى في برمجة التطبيقات المتوافقة مع نظام التشغيل
Windows
على الترميز المباشر باستخدام أوامر الاستدعاء
( call)
لتطبيقات الواجهات البرمجية
API
المدمجة مع نظام التشغيل
Windows
تقدم
تطبيقات
API
تقنيات وآليات أولية لبناء العديد من الأدوات مثل قوائم
الأوامر وأنواع النوافذ المختلفة . تاركة المطور يغوص في كم هائل من الرموز
حتى لو قام ببناء أسهل التطبيقات وأبسطها الأجيال الأولى من هذه البرامج كتبت
باستخدام اللغة
c
التي تعتبر بحد ذاتها لغة برمجة بدائية بالنسبة للغات والتقانات الموجودة في
أيامنا هذه . وكنتيجة حتمية لهذا ، نجد أن كل ما أنتجه المطورون المحترفون
بقي محدود وضعف الإمكانيات أيضاً . نجد أن التطبيقات الأولى وبأغلب مكوناتها
مستقلة عن التطبيقات الأخرى ، كما نجد عدم وجود تكامل وتوافق بين مختلف
التطبيقات . الأمر الذي أدى لعدم التمكن من المشاركة في البيانات والتخاطب
فيما بينها .
www.tartoos.com
مع التقدير
الكامل للجهود التي قدمها القائمون على نظام
Windows
إلا أن مجمع المطورين كان يطلب أدوات برمجية أفضل . بهدف دعم إنتاجهم وتسهيل
خلق وبناء تطبيقات أكثر تطوراً وتعقيداً . ومع تطور نظام
Windows
. ظهرت أدوات برمجية جديدة تلبي حاجة الاتصال بين التطبيقات مثل
DDE
و OLE
.
وتوالي
إنتاج العديد من الأدوات البرمجية القوية والفعالة من قبل العديد من الشركات
الأخرى مثل Borland,s
OWL
و Microsoft,s MFC
. كما ظهرت منتجات الجيل الثالث مثل
z APP
وIsland
Systems object – Menu
.
استخدمت هذه
المكاتب لتجميع الوظائف الأكثر شيوعاً من بين تطبيقات نظام
Windows
. كما توخت أيضاً توفير حجوم إضافية من أجل التطوير المستقبلي وهكذا يستطيع
المبرمجون وبسرعة بناء نوافذ وأطر ذات مواصفات وأنماط مختلفة ، وتتضمن العديد
من مفاتيح الأوامر . وطلبها وإظهارها بواسطة أمر بسيط أيضاً . ظهورمتصرف
c++
الموافق لنظام
Windows
سمح الخبراء البرمجة باستكشاف قوة وفعالية التقانة الغرضية التوجه
( Object-
Oriented Technology
) . وأصبح بإمكان المطورين الآن بناء تطبيقات معقدة بأزمان مقبولة .
www.tartoos.com
تسمح لغات
البرمجة غرضية التوجه للمطورين ببناء الصفوف
( Classes)
والهيمنة على وظائف افتراضية محددة . فاسحة المجال وبشكل مباشر لبناء مكاتب
حسب الطلب .
www.tartoos.com
إن هذا
التطور لاحقاً لإطلاق المرحلة التالية من مراحل تطوير نظام
Windows
وتطبيقاته ، واتسمت هذه المرحلة ببيئات التصميم المرئي4GL
( visual design environments
مثل
Microsoft Visual Basic
و Powersofts PowerBuilder
قدمت هذه البيئات خطوات أساسية نحو الأمام باتجاه تطور الأدوات البرمجية
الأمنية السهلة الاستخدام .
ومع تزايد
الطلب على تطبيقات نظام
Windows
وسع المطورون حدود التقانات المستخدمة بغية التمكن من بناء مشاريع برمجية
أكبر وأعتقد مثل تطبيقات المخدّم / زبون
( client/
server )
وتعددت المجموعات البرمجية المرئية التي تقدم التسهيلات والإمكانات لبناء
مختلف أنواع المشاريع مهما كانت درجة تعقيدها . وأصبح بدلاً من وجود ضوابط
وصفات تميز كل مجموعة برمجية وتحدد نقاط قوتها ونقاط ضعفها .
www.tartoos.com
في مقالنا
هذا سنقوم بعرض الفوارق بين اللغات البرمجية
Delphi
و Visual Basic
وفقاً للنقاط الأساسية التالية :
·
الأداء
( Performance )
·
تطوير التطبيقات السريعة
RAD
·
إعادة استخدام المكونات
( Component
Reuse )
·
قواعد بيانات قابلة للتوسيع
( Database
Scalability )
الأداء
يعتبر أداء التطبيقت المنتشرة في الأسواق وبين المستخدمين المفتاح الرئيسي
للتنافس بين الشركات البرمجية . وبالتحديد للتطبيقات الكبيرة مثل تطبيقات
المخدّم / زبون .
الدلفي
Delphi
هي لغة برمجية بنيت بالإعتماد على لغة البرمجة
Object Pascal
التي هي جيل متطور عن اللغة
Borland Pascal
7.0
بينما الفيجوال بيسيك
Visual Basic
يستخدم اللغة
Microsoft
Basic
كلغة قاعدية .
أداء الدلفي أفضل بسبب أنه يولد ملفات تنفيذية مكتملة . أما الفيجوال شفرة
نصف مترجمة . تطبيقات الدلفي تنفيذها أسرع بحوالي 10 إلى 20 مرة من تطبيقات
الفيجوال بيسيك وحجمها أصغر بحوالي 30 % مما يسمح بتحميل أسرع وأداء افضل .
كما أن
الدلفي يستطيع تصريف ملفات تنفيذية مستقلة
( EXEs)
فإنه أيضاً يستطيع توليد ملفات المكاتب المرتبطة ديناميكياً
( DLLs )
كما يقدم الدلفي أيضاً ميزة أخرى للمبرمجين المحترفين بتمكينهم من البرمجة
المباشرة بواسطة لغة التجميع
(Assembler)
للتحكم المباشر بالمالجات الصغرية
(
microprocessor )
www.tartoos.com
تطوير التطبيقات السريعة
RAD
جانب آخر من
جوانب ميزات الأداء يتعلق بسرعة تطوير التطبيق ، العنصر الحيوي جداً بالنسبة
للمبرمجين لتأكيد وجودهم وسرعة تطوير منتجهم في السوق . مزايا بيئة
RAD
هي مفتاح توطيد مدى سهولة استخدام المبرمجين لهذه البيئة لتطوير تطبيقاتهم
انطلاقاً من التصاميم والنماذج الأولية وانتهاءً بالتنفيذ والنشر .
كلا اللغتان الدلفي والفيجوال بيسيك منتسبتان لهذا المنهج العام . مما يجعل
المنتجات تبدو ظاهرياً متشابهة . ومع ذلك . هناك العديد من نقاط الدعم تقدمها
الدلفي لهذه العملية ، متضمنة :
·
مجموعة إضافية متعددة منفصلة من الأيقونات التحكمية الخدمية .
·
مجموعة متنوعة من نماذج المشاريع العادية ومشاريع الخبراء .
·
دعم ضبط لوائح خصائص المشروع .
·
المشاركة بوظائف الحدث .
·
نوافذ واجهات رسومية متكاملة لمنقح الأخطاء
( debugger )
والتفتيش الغرضي
( object
inspection )
) .
إعادة استخدام المكونات
أحد أكثر
حقول التطور أهمية في منهجية تطوير التطبيقات هو فكرة بناء تطبيق ما باستخدام
مكونات عالية المستوى
( high- level
components)
بواسطة ربط مكونات مبنية سابقاً . يحتاج المطور فقط لتعريف آلية الربط بين
المكونات التي تحد هوية هذه المكونات وهوية التطبيق المنتج .
نجد هنا أيضاً أن كلا من الدلفي والفيجوال بيسيك يوفران طرقاً مختلفة
للمشاركة ولإعادة استخدام المكونات والرموز : ويمتاز الدلفي مجدداً بأنه يقدم
حلولاً أرقى وأسهل .
موضوع إعادة استخدام المكونات يمكن أن يظهر ضمن ثلاث مناطق :
·
مشاركة وظائف الحدث .
·
إعادة استخدام الوظائف والمكاتب .
·
إعادة استخدام كتل البناء ( المكونات ) .
www.tartoos.com
مشاركة وظائف الحدث
هناك مشكلة
عامة ملاحظة في برمجيات
Windows
وهي كيف يمكن مشاركة وظيفة ما تم تنفيذها بعد حدوث عدة أحداث تابعة لنظام
Windows
. وعلى الرغم من تشابه الحلول بين الدلفي والفيجوال بيسيك . نجد أن الدلفي
يمتاز عن الفيجوال بيسيك ببعض الحلول .
www.tartoos.com
في الفيجوال
بيسيك يجب وضع الوظائف المشتركة ضمن الشفرة التابعة للملف أو ضمن الملف
العمومي
BAS
و المشكلة هنا أن الوظيفية أصبحت عامة للمشروع بشكل كامل .
على العكس ،
يسمح الدلفي بوضع الوظيفة ضمن الملف الخاص أو ضمن ملف وحدة باسكال
DCU
الذي يحجب تعريفه فقط ضمن الملف الذي سيستخدمه .
www.tartoos.com
إعادة استخدام الوظائف والمكاتب
في الفيجوال
بيسيك ، الوظائف أو المكاتب العمومية يتم إنجازها ضمن ملف عمومي
BAS
. حيث يمكن التعامل معها من أي ملف ضمن المشروع سيئة هذا الحل أن الوظائف
المشتركة يجب أن تكون عمومية لجميع ملفات المشروع . وبالمقابل . يقدم
الفيجوال بيسيك ميزة الاستفادة من الملفات المبنية بتقانة
DLL
.
لكن ملفات
DLL
يتم بناؤها باستخدام أدوات برمجية أخرى لا تنتمي للفيجوال بيسيك والتي تتطلب
معرفة إضافية لكيفية استخدام هذه البمجيات .
www.tartoos.com
جميع مكاتب
وأدوات الدلفي يمكن بناؤها ضمن محيط عمل الدلفي شفرة الباسكال تنظم ضمن وحدات
( Units
) .
والوظائف المشتركة يتم لدخول إليها ببساطة بالتوجه لوحدة الباسكال الخاصة
بهذه الوظيفة . يمكن أيضاً استخدام الدلفي لبناء ملفات
DLL
عالية الأداء مخصصة لنظام
Windows
.
www.tartoos.com
العناصر والمكونات
( Components )
العناصر
VBXS
يمكن أن تطور وظيفياً للفيجوال بيسيك بحيث يمكن استخدامها ضمن مختلف أنواع
المشاريع . لكن أسوأ مشاكل ال
VBXS
هي التعقيد الكبير في بناءها وعدم إمكانية بنائها ضمن محيط عمل الفيجوال
بيسيك . الطريقة الشائعة لبناء ال
VBXS
هي استخدام متصرفات
C/C++
لبناء ملفات
DLL
ثم تغليفها بصيغة
VBX
.
عناصر
الدلفي سهلة البناء على عكس الفيجوال بيسيك . حيث يتم بناء ال
VBXS
باستخدام متصرفات خارجية . يتم بناء عناصر الدلفي ضمن بيئة تطوير الدلفي نفسه
هذه ميزة هامة ، لأن المطورين المحترفين يفضلون العمل ضمن بيئة تضم مجموعة
أدوات متناسقة .
www.tartoos.com
لغة البرمجة
www.tartoos.com
الفرق
الواضح بين الفيجوال بيسيك والدلفي يتجلى بشكل أساسي بلغة البرمجة إن استخدم
لغة الباسكال الغرضية
( Object
Pascal )
له العديد من النقاط الهامة :
·
اللغة باسكال أقوى وأكثر هيكلية من البيسيك .
·
لغة باسكال الغرضية هي حقاً لغة برمجة غرضية التوجيه . توفر مزايا التوارث
(
inheritance)
)والتغليف
(
encapsulation)
وتعددية الأشكال
(
polymorphism)
.
·
باسكال لغة متصرفة داعمة للمهام التنفيذية عالية الأداء .
·
تنظيم الملفات كوحدات
DCUs
يوفر آلية نظيفة لخلق وبناء مكاتب الرموز التي يمكن إعادة استخدامها .
·
لغة باسكال الغرضية تستخدم أسرع تقنية متصرف تجارية موجودة عالمياً .
·
لغة باسكال الغرضية توفر إمكانية البرمجة باستخدام لغة التجميع للحصول على
أفضل أداء .
وكفارق أخير
. في الفيجوال بيسيك كل الملفات يجب أن تربط باستمارة عمل
( form )
ما عدا الملفات العام
BAS
. بينما في الدلفي ، نجد أن الملفات يمكن أن تكون مستقلة غير مرتبطة بأي
استمارة فاسحة المجال للتركيز الجيد على روح الوظيفية .
www.tartoos.com
منهجية التصميم البرمجي الغرضي التوجه
إن قوة
مرونة منهجية التصميم البرمجي الغرضي التوجه مطلوبة على نطاق واسع كحل مثال
للمعضلات البرمجية الحقيقية المعقدة . يقدم التصميم الغرضي التوجه القاعدة
الصلبة المتينة و فن البناء الرائع لمختلف أنواع التطبيقات . بعض مزايا
البرمجة الغرضية التوجه
OOP ( Object –
Oriented Programming)
:
·
أزمان تطوير قصيرة .
·
شفرة يمكن فهمها ومتابعتها بسهولة .
·
شفرة يمكن مشاركتها مع بنى برمجية أخرى ضمن المشروع .
·
تسهيل كبير لفريق البرمجة والتحكم بالإصدار .
·
باستخدام صفات التوارث وتعددية الأشكال ، عملية الترميز تصبح سهلة جداً
والشفرة بحد ذاتها تصبح واضحة وأكثر أنسجاماً .
·
يمكن أن تدمج التطبيقات العديد من الوظائف التي تبدو متشابهة ولكن كلاً منها
يملك صفة مميزة .
لغة باسكال الغرضية هي لغة هيكلية لغة برمجة غرضية التوجه . تقدم دعماً
كاملاً لبنية الصفوف . التوارث . الوظائف الإفتراضية والتعددية الشكلية .
بينما الفيجوال بيسيك ليست لغة برمجة غرضية التوجه .
لاحظ أنه على الرغم من أن المطورين والمبرمجين العاديين ليسوا بحاجة للتأقلم
مع مفاهيم اللغة الغرضية التوجيه لبناء تطبيقاتهم بواسطة الدلفي ، إلا أن
المحترفين منهم سيقدرون مزاياها كثيراً .www.tartoos.com
قابلية توسع
قواعد بيانات
البيئة
الجيدة لتطوير التطبيقات السريعة
RAD
يجب أن
تساعد على انتشار وبناء تطبيقات قواعد البيانات ، الفيجوال بيسيك والدلفي غير
مستثنيين من هذه القاعدة .
في الفيجوال
بيسيك ، يستطيع المطورون وضع عنصر قاعدة البيانات ضمن استمارة عمل يتحكمون من
خلالها خصائص هذا العنصر ليتمكن من التخاطب مع قواعد بيانات أخرى متوافقة مع
قواعد بيانات
ODBC
. عنصر قاعدة البيانات يمكن استخدامه كآلية أولية لتصفح قاعدة البيانات . كما
يمكن أيضاً استخدام تعليمات
SQL
أيضاً يمكن التعامل مع التقارير بواسطة أداة
Crystal
Reports
.
الدلفي يضم
دعماً كاملاً لقواعد البيانات شاملاً محرك قاعدة بيانات
( BDE) Borland
Database Engine
المخصص للتعامل مع قواعد بيانات
Paradox
و Dbase
وطبقات خاصة للتعامل مع
SQL
المحلية والبعيدة .
www.tartoos.com
تقدم هيكلية
قواعد قواعد بيانات
Borland
للمطورين
إمكانيات عالية للتعامل بيانات
ODBC
. يضم الدلفي العديد من عناصر التعامل مع قواعد البيانات وعناصر الاتصال مع
المستخدم لتقديم حلول فعالة وقوية لبناء تطبيقات قواعد البيانات . يضم أيضاً
أدوات التعامل مع
SQL
وأدوات بناء التقرير .
www.tartoos.com
الانتقال إلى الدلفي
www.tartoos.com
مطورو
تطبيقات الفيجوال بيسيك الراغبون بنقل تطبيقاتهم إلى الدلفي ، نقول لهم أنه
هناك بعض الجهد والعناء الذي يجب بذله لنقل التطبيقات الموجودة المبنية ضمن
بيئة الفيجوال بيسيك إلى بيئة الدلفي في حال الرغبة بالاستمرار بتطوير هذه
التطبيقات ضمن بيئة الدلفي . نقل المشاريع هو في الحقيقة عملية جميلة مباشرة.
نذكر هنا أداة تحويل متوفرة من
Earth Trek,
Inc
تقوم بمعظم عمليات التحويل بما فيها ملفات المشروع ، ملفات المستندات وتحويل
الشفرة . تتمم هذه الأداة جميع عمليات التحويل أتوماتيكياً تاركةً بعض
العناصر البرمجية الغامضة ضمن حقل خاص لنتائج التحويل ليتم تدقيقها ، العديد
من المشاريع يتم تحويلها ببساطة و سرعة ودون جهد يذكر ، بعضها ربما يحتاج
القليل من الوقت لإتمام عملية التحويل .
www.tartoos.com
الخاتمة
www.tartoos.com
عند اختبار
منتجات مختلفة من تطبيقات
RAD
موجودة في الأسواق ، نجد أن كلا من الفيجوال بيسيك والدلفي يبرزان ضمن أهم
الشركات الرائدة في هذا المجال . ونجد أن الدلفي يبرز بشكل واضح كبيئة تطوير
تنتمي للجيل القادم بأدائها العالي ، مقدرتها العالية على تبسيط التصميم
المرئي ( visual design)
أغناها بالعناصر والمكونات وقواعد البيانات التي يمكن توسيعها وإعادة
استخدامها ، أنجزت الدلفي هدفها بالوصول إلى المراتب الأولى كبيئة تطوير
تطبيقات قوية وفعالة بالدمج بين :
-
فن التصميم المرئي .
-
قوة ومرونة اللغة الغرضية التوجه .
-
أسرع متصرف موجود عالمياً .
-
تقانة قواعد بيانات رائدة .
وأكثر من ذلك . بواسطة لغة باسكال الغرضية ، منحت دلفي المطورين مزايا كاملة
لبيئة برمجية قوية فعالة دون التضحية بسرعة التطوير المرئية . و بالتالي سمحت
ببناء تطبيقات مخدم / زبون بالغة التعقيد ضمن أزمان قياسية .
|