78

قصتي مع تطوير برنامج TurboBird: برنامج لإدارة قواعد بيانات FireBird

السلام عليكم

في نهاية عام 2009 قررت بداية تطوير أداة لإدارة قواعد بيانات FireBird والتي كُنت استخدمها بكثرة في برامجي الخاصة، والهدف منها أن تكون مفتوحة المصدر، و متعددة المنصات وفيها كل اﻷشياء التي احتاجها للتعامل مع قواعد بيانات FireBird. استخدمت أداة التطوير لازاراس والتي تستخدم مترجم فري باسكال للغة أوبجكت باسكال، وينتج عنها برنامج تنفيذي Native لا يحتاج لمكتبات إضافية لتشغيله، ويمكن عمل ترجمة له في عدة منصات منها: وندوز، لينكس وماكنتوش. وتتميز برامجها بالسرعة في اﻷداء والخفة في التحميل وقلة استهلاك الذاكرة.

في أقل من عام درست معظم خصائص قواعد البيانات فيربيرد وقمت بتنفيذها (أي إتاحة الوصول والتحكم في تلك الخواص) في برنامج TurboBird مثل إضافة جداول، تعديلها، إضافة Views و stored procedures حتى اﻷشياء التي لا استخدمها درستها وقمت بتجربتها حتى يتسني لي إضافتها في ذلك البرنامج. وكُنت اخصص يوم السبت من كل إسبوع بإعتباره إجازة لتطوير هذا البرنامج.

بعد ذلك في نهاية عام 2010 قُمت بإصدار نُسخة Beta جاهز للإستخدام وقد لاقت تفاعل كبير في موقع Lazarus وقام بعضهم بمساعدتي في إكمال النواقص مثل آلية النسخ اﻹحتياطي وإسترجاع البيانات.

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

في بداية عام 2014 اصدرت النُسخة اﻷولى من البرنامج، لكن بعد ان استخدمها كثير من اﻷشخاص حول العالم وكانو يُراسلوني، وكُنت اجد اخبار عنها في اﻹنترنت بمختلف اللغات.

والآن يقوم مبرمج من هولندا بعمل تغييرات وإضافات ومراجعات يومية لها منذ حوالي شهر لإصدار نُسخة جديدة منها.

هذه صفحة برنامج TurboBird

http://code.sd/products/tur...

مادفعني للكتابة عنها اليوم اني وجدت في ويكيبيديا أنهم استخدموا واجهة TurboBird في التعريف عن قاعدة البيانات Firebird، وهذا جعلني في منتهى السعادة اليوم:

http://en.wikipedia.org/wik...

وهذا رابط أول إعلان لها في منتدى لازاراس:

http://forum.lazarus.freepa...

وقد عرفني هذا البرنامج بعدد كبير من المبرمجين النابغين حول العالم، واستفدت منهم كثيراً، واصبحت ايضاً اعرف نفسي به، اي اصبح دعاية لي.

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

16

ما شاء الله تبارك الله احييك اخي معتز على هذا العمل والمجهود الطيب منك. تجربة مجفزة للأخوة العرب اشكرك على مشاركتك إياها.

يُقال : لكل مجتهد نصيب

وأنت ما شاء الله اجتهدت اجتهاد طيب

فكان لك نصيب طيب

فجزاك الله خيراً عن كل منتفع خير الجزاء

بصراحة أنت شخص رائع ! وعملك متميز !

من المباديء: أنك إذا ساعدت الناس فستجدهم يساعدوك والغالب تحقق إستفادة منهم أكبر الجهد الذي بذلته لهم.

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

أحيك لعملك المتميز

في أقل من عام درست معظم خصائص قواعد .... حتى اﻷشياء التي لا استخدمها درستها وقمت بتجربتها ... وكُنت اخصص يوم السبت ... وقام بعضهم بمساعدتي في إكمال النواقص ... ثم اصبحت استخدمها في ... ثم اصبحت أطوعها .....

ما شاء الله تجربة شيقة أهنيك عليها

من زرع حصد ومن جد وجد بالمناسبة هذا شعارى فى الحياة

عمل رائع أخي العزيزي .

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

شكرا.

22

استخدمت قاعدة بيانات FireBird منذ عام 2000 تقريباً، وهي خفيفة وبسيطة، ويُعتمد عليها، ولا تحتاج لمخدمات مُكلفة، لم تحدث لي فيها مشاكل طوال هذه الفترة حتى مع زيادة كمية البيانات، وعملت بنجاح في ظروف قاسية (إنقطاع التيار أثناء التشغيل) حيث عملت برنامج تم توزيعه إلى 400 عميل في محلات إتصالات في مختلف ولايات السودان. واﻷهم من ذلك أنها مجانية ومفتوحة المصدر بالكامل، ليست كـ MySQL التي اصبحت مملوكة لأوراكل وتحتاج لترخيص منها للعمل التجاري، وليست كـ PostgreSQL المعقدة والتي توجد منها نُسخة تجارية أو تحتاج لدعم تجاري. وتوجد منها نُسخة Embedded لاتحتاج لتثبيت محرك قاعدة البيانات، فقط مكتباتها، وهذا مكنني من إصدار نُسخة من برنامج الحسابات به نُسخة سريعة التثبيت تحتاج حوالي دقيقة أو دقيقتين فقط لتكون جاهزة للعمل بها.

أما بالنسبة لأوبجكت باسكال فقد استخدمت دلفي حوالي 15 عاماً أي استثمرت فيها أغلب وقتي، لكنه محصور على وندوز فقط، وفري باسكال/لازاراس حررتني من الوندوز ومن شركة بورلاند التي فشلت في تسويق الدلفي أو جعله بسعر مقبول، لذلك كان خيار جيد لي للإستفادة من اﻹستثمار الذي استثمرته طوالي هذه الفترة مع لغة أوبجكت باسكال في الدلفي. والبرامج التي تنتج عنها اسرع وأخف من أي لغة برمجة أخرى ماعدا لغة السي، وهي مشابهة للغة السي++ من حيث أن البرامج Native إلا أنه لا يوجد فيها تعقيد لغة السي، وبها ميزة كبيرة وهي write once and compile every where وهو حل ممتاز للعمل في عدد من المنصات دون التضحية بالأداء أو الكفاءة كما حدث في جافا، كذلك من ميزاتها انها تستخدم المكتبات المتوفرة في نظام التشغيل، أي لا تحتاج لتثبيت أي مكتبة رسومية إضافية حتى تعمل برامجك، مثلاً لا تحتاج لتثبيت QT بل تستخدم GTK الذي يتوفر في نظام لينكس ومكتبة Win32/64 في وندوز، أي تستخدم المكتبات الطبيعية في أنظمة التشغيل المختلفة. بالإضافة إلى أن اللغة سهلة وواضحة ومقروءة وتدعم البرمجة الهدفية والإجرائية بطريقة نظيفة خالية من التعقيد، وأداة التطوير لازاراس هي أداة متكاملة مما يُساعد في التطوير السريع للبرامج بها.

أما في تطوير برامج الويب فأستخدم جافا Servlets مع مخدم Tomcat وبيئة التطوير NetBeans فهي مناسبة جداً للبرامج التي اعمل عليها وهي برامج إنترانت أي برامج ويب داخلية للمؤسسات غالباً ما يكون المخدم تحت تصرفنا لذلك نستطيع تثبيت البرامج التي تحتاجها الجافا للعمل بكل سهولة.

16

أريد أن اضيف أن اكبر مُنافس لتوربو بيرد هو Flamerobin وهو برنامج يحمل نفس اﻷهداف لكنه مكتوب بلغة C++ وعمره أكثر من 11 عام، إلا أن التطور فيه بطيء مع أنه تحت مظلة FireBird نفسها.

تقريباً FlameRobin و TurboBird متشابهان من ناحية اﻹمكانات اﻷساسية مع أن الأول عدد اﻷسطر فيه بلغ 111 ألف سطر في حين أن TurboBird وصل فقط إلى 14 ألف سطر، وهذا يدل على إمكانيات فري باسكال/لازارس في التطوير السريع للبرامج.

يمكن المقارنة بينهما في موقع Ohloh:

FlameRobin له قصة جميلة يمكن أن تقرؤها من هذا الرابط:

وقد استفدت منه كثيراً في بداية تطويري لبرنامج توربوبيرد

بارك الله لك في جهدك و عملك.

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

أسأل الله تعالي أن ينفع بك، و أن يرزقك الخير في الدنيا و الآخرة :)

المُشاركة في تطوير المصادر المفتوحة هي بمثابة ضريبة إزاء الفائدة التي استفدناها من البرامج المفتوحة المصدر اﻷخرى.

الله يوفقك اخي

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

أعترف بالجميل لأستاذي الذي لم أره ولم يرني معتز عبد العظيم ، فقد كان هو من أنار لي درب البرمجة وعرفني على لغة الأوبجكت باسكال على حقيقتها وليس كما يدعي الناس أنها مجرد لغة تعليمية

إنها لغة قوية تصل بك إلى حيث تريد حتى الويب يوجد إطار عمل لو لم ترد الخروج عن هذه اللغة

والذي يحز في نفسي دائما كذب وظلم بورلاند في تسميتها لغة الدالفي وما الدالفي إلا بيئة تطوير مثلها مثل لازاريس وeclipce و netbeans

صحيح أن شركة بورلاند غيرت إسم اللغة من أوبجكت باسكال إلى دلفي، مع أن دلفي هي أداة تطوير ومترجم وليست اللغة، في الكُتب التي كانت تتكلم عن الدلفي كانت تُسمى اللغة أوبجكت باسكال.

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

مبدع جداً احيك

ما شاء الله تبارك الرحمن أخي

يبدو أنك ذو خبرة كبيرة في البرمجة

وفقك المولى لما يحبه ويرضاه

جزاك الله خيراً على هذا العمل الرائع تحياتي لك.

بارك الله فيك :) وجزاك الله خيراً، رغم أنني ربما لن احتاج لهذه المكتبة لكن يكفيني أن مسلماً قد عمل هذا :)

جزاك الله خيراً على التشجيع، وهي ليست مكتبة إنما برنامج سطح مكتب

شكراً على التصويب :)

عمل موفق و مجهود مبارك.