إعداد وترجمة: فهد السعيدي ، احصل على المقال منسق بصيغة PDF من هنا QT
هي منصة عمل لتطوير تطبيقات تعمل على عدة أنظمة التشغيل ، تستخدم بشكل واسع في تطوير البرامج التي تحوي واجهة رسومية للمستخدم GUI ، وأيضا تستخدم لتطوير البرامج غير الرسومية مثل أدوات الطرفية و الخوادم. أنتجتها الشركة النرويجية Trolltech ، و المطلعون على ترولتك ينطقون Qt مثل "cute". QT تستخدم لغة ++C مع عدة ملحقات غير قياسية تعد بواسطة توجيهات إضافية قبل الترجمة ﻹنتاج كود ++C قياسي قبل بناء البرنامج. ويمكن أن تستخدم Qt بواسطة عدة لغات برمجية بواسطة ما يعرف بالجسور، اللغات التي تملك جسورا مع QTهي python و Ruby و PHP و Pascal و#C و Perl و Java و Ada. تاريخ موجز عن QT منصة العمل Qt أصبحت متوفرة للعامة في مايو 1995.
لقد طورت مبدئيا من قبل هافارد نورد (المدير التنفيذي لشركة Trolltech) و إيريك شامبنج ( رئيس شركة Trolltech ) . هافارد و إيريك اجتمعا في معهد النرويجي للتكنولوجيا في تروندهايم ، حيث تخرج كلاهما بشهادة الماجستير في علوم الحاسوب. يعود اهتمام هافارد في تطوير واجهة المستخدم الرسومية GUIباستخدام ++C لعام 1988 عندما كلف بواسطة شركة سويدية بتطوير منصة عمل GUI متوافقة مع ++C. بعد سنتين وفي صيف 1990 عمل هافارد وإيريك معا في تطبيق قاعدة بيانات ++C لصور الأشعة فوق السمعية. النظام تطلب أن يكون قادرا أن يعمل بواجهة رسومية للمستخدم ويعمل على منصات اليونكس والماكنتوش و الويندوز. في أحد أيام ذلك الصيف ذهب هافارد وإيريك للخارج للاستمتاع بشروق الشمس و لما كانا جالسين مقعد الحديقة ، قال هافارد : " نحن بحاجة إلى نظام عرض كائني المنحى." نتيجة النقاش خلصت إلى قاعدة عقلانية لمنصة عمل رسومية متعددة الأنظمة وكائنية المنحى يجب أن يبدؤوا حالا في بناءها.
في عام 1991 ، بدأ هافارد بكتابة الصفوف التي في النهاية أصبحت Qt ،بالتعاون مع إيريك في التصميم. في السنة اللاحقة، أتي إيريك بفكرة " signals and slots" بالعربي " الإشارات والمستقبلات" ، بسيطة و لكن نموذج برمجة واجهة رسومية GUI قوية ، والتي تبنتها عدة أدوات برمجية أخرى. أخذ هافارد الفكرة و أنتج تطبيق مكتوب.
في عام 1993 هافارد وإيريك طوروا أول نواة رسومية و استطاعوا إعداد مكوناتهم الخاصة. مع نهاية السنة ، اقترح هافارد بأن يدخلوا في العمل معا لبناء " أفضل منصة عمل رسومية مكتوبة باستخدام ++C في العالم".
بدأ عام 1994 بشكل عاثر مع مبرمجين صغار يريدون دخول سوق راسخ ، من دون زبائن ومنتج غير مكتمل و بدون أموال. لحسن الحظ ، كانتا زوجاتهما تعملان ، ولذا استطاعن أن يدعمن أزواجهن للسنتين التي توقعهما إيريك وهافارد بأنهما بحاجة لهما لتطوير المنتج و البدء باكتساب عائدات. حرف " Q" اختير كبادئة للصف بسبب أن الحرف يظهر جميلا في خط إيماكس هافارد. وحرف "t" أضيف لاختصار " toolkit" اشتقاقا من Xt والتي تعني X Toolkit . أعلن عن الشركة في 4 مارس من عام 1994، في الأصل كـ Quasar Technologies ثم كـ Troll Tech و اليوم كـ Trolltech. في أبريل 1995 ، يعود الفضل إلى أحد أساتذة هافارد الجامعيين إلى حدوث تواصل بالشركة النرويجية Metis التي أعطتهم عقد لتطوير برمجيات معتمدة على Qt. في ذلك الوقت ، استأجرت ترولتك أرنت جولبراندسن الذي خلال ست سنواته في ترولتك أبدع و أعد نظام توثيق مبتكر ، بالإضافة إلى المشاركة في كود Qt.
في 20 مايو 1995 رفعت Qt 0.90 إلى سيرفر sunsite.unc.edu. بعد ستة أيام ، أعلن عن اﻹصدارة على comp.os.linux.announce. كانت هذه أول إصدارة عام من Qt. كيوتي يمكن أن تستخدم لتطوير كلا النظامين الويندوز واليونكس و تقدم نفس الدوال API في كلا المنصتين. Qt توفرت تحت ترخيصين من اليوم الأول: الترخيص التجاري والذي يستخدم للتطوير التجاري و نسخة البرنامج المجانية تحت ترخيص FreeQt للتطوير البرمجيات مفتوحة المصدر. العقد مع شركة Metis ترك ترولتك عائمة ، خلال عشرة أشهر طوال لا أحد اشترى الترخيص التجاري لـ Qt.
في مارس 1996 ، أصبحت وكالة الفضاء الأوربية الزبون الثاني لدى Qt بشراء عشرة تراخيص تجارية. مع رباطة الجأش ، استأجر إيريك وهافارد مطور آخر. أطلقت اﻹصدارة Qt 0.97 بنهاية مايو وفي 24 سبتمبر 1996 ظهرت Qt 1.0 إلى النور. مع نهاية السنة ، وصلت Qt إلى اﻹصدارة 1.1 و ثمانية زبائن جدد ، كل من بلاد مختلفة اشتروا 18 ترخيصا تجاريا فيما بينهم. وفي هذه السنة ظهر تأسيس مشروع KDE بقيادة ماتثياس إيتراك. أصدرت Qt 1.2
في أبريل 1997. كان قرار ماتثياس إيتراك باستخدام Qt لبناء KDE ساعد Qt لأن تصبح معيار واقعي لتطوير الواجهات الرسومية باستخدام ++C في اللينكس. اﻹصدارة 1.3 ظهرت في سبتمبر 1997.
في عام 1998 انفجر خلاف بعدما أصبح واضحا أن KDE ستكون المسيطرة على أسطح المكتب في اللينكس ﻷن رخصة FreeQt لم تكن تتوافق مع فلسفة المصادر الحرة مع أنها كانت مفتوحة المصدر ، وبما أن KDE مبنية على Qt ، فإن الكثير من الناس في حركة المصادر الحرة قلقوا بأن الجزء اﻷساسي من نظامهم التشغيلي يمكن أن يكون مملوكة وليست حرة. وهذا أعطى دافعا ﻷمرين : مشروع مكتبة Harmony toolkit والتي هدفت إلى إنتاج نسخة مطابقة لمكتبة Qt تحت ترخيص البرمجيات الحرة، و الأمر الثاني و اﻷكثر أهمية مشروع سطح مكتب GNOME والذي هدف أساسا ﻹنتزاع مكانة KDE. سطح مكتب جنوم استخدم مكتبة أدوات GTK+ والتي في اﻷصل كتبت لبرنامج GIMP و تستخدم بشكل أساسي لغة السي للبرمجة. في هذه اللحظة ارتكبت شركة ترولتك خطأ بعدم تعديل رخصة FreeQT لتكون متوافقة مع رخصة غنو العمومية ، وهي غلطة تمنى رؤساء ترولتك لو لم يقعوا فيها، ﻷنهم ضيعوا فرصة السيطرة على سطح المكتب في اللينكس و ظهر جنوم الذي دعمته شركة ردهات في اﻷساس ثم انتشر بشكل واسع حتى أصبح سطح المكتب المفضل لجمهور واسع من مستخدمي اللينكس وخاصة بعد صدور توزيعة أوبنتو الشهيرة.
انضم ماتثياس إلى ترولتك في عام 1998، وآخر إصدارة رئيسية من Qt 1 ، الاصدارة 1.40 صنعت في سبتمبر من ذلك العام. أطلقت Qt 2.0 في يونيو 1999. Qt 2 امتلكت ترخيص مفتوح المصدر جديد ، ترخيص Q العام QPL ، والذي يتوافق مع تعريف المصادر المفتوحة، بعد إصدار QPL اختفى مشروع مكتبة Harmony toolkit ﻷنه لم يكن له داعي.
في أغسطس 1999 ، فازت Qt بجائزة عالم اللينكس لأفضل مكتبة أو أداءة. و في ذلك الوقت ، أسست Trolltech Pty Ltd فرع أستراليا. أطلقت ترولتك نواة Qtopia ( ثم أطلق عليها Qt المضمنة ) في عام 2000. لقد صممت للعمل في أجهزة اللينكس المضمنة ولتقدم نظام النوافذ الخاص بها كبديل خفيف عن X11 . كلا المنتجان Qt/X11 و نواة Qtopia قدّما تحت استخدام رخصة غنو العمومية ( GPL) بالإضافة مع الترخيص التجاري.
مع نهاية 2000 ، أسست ترولتك فرعها في الولايات المتحدة الأمريكية و أطلقت أول إصدارة من Qtopia منصة التطبيق إلى الهواتف النقالة و المساعدات الشخصية PDA. فازت نواة Qtopia بجائزة عالم اللينكس كـ"أفضل حل لينكس مضمن" في عام 2001 و 2002 و حقق هاتف Qtopia نفس النتيجة في 2004.
في عام 2001 أطلقت Qt 3.0. توفرت Qt لمنصة الويندوز و الماكنتوش Mac OS X و اليونكس واللينكس ( سطح المكتب و المضمن ). قدمت Qt 3 24 صفا جديدا و تجاوز كودها 500000 سطر. كانتQt 3 خطوة كبيرة للأمام من Qt2 ، احتوت بشكل كبير تحسين التوطين و دعم اليونيكود، وأداة جديدة بالكامل لعرض النصوص وتحريرها، و صف للتعابير الاعتيادية المماثلة لبيرل. فازت Qt3 بجائزة " جولت الإنتاجية" لتطوير البرمجيات في عام 2002.
في صيف 2005 أطلقت Qt 4.0. بحوالي 500 صف و أكثر من 9000 دالة وظيفية ، Qt4 أكبر و أغنى من أي إصدارة سابقة، وقد قسمت إلى عدة مكتبات لذا المطورين يحتاجون ربط برامجهم بالأجزاء التي يحتاجونها من Qt فقط. Qt4 متقدمة جدا على الإصدارات السابقة بتحسينات اشتملت على مجموعة جديدة فاعلة وسهلة الاستخدام من حاويات القوالب، و أدوات عرض ووحدات متقدمة ، و منصة رسم 2D سريعة ومرنة ، و صفوف تحرير وعرض النصوص اليونيكود قوية، وبدون ذكر الالآف من التحسينات الصغيرة في كل نطاق صفوف Qt.
كانت اﻹصدارة Qt 4 أول إصدارة من Qt تتوفر بترخيصين التجاري ومفتوح المصدر لكل المنصات التي تدعمها. أيضا في 2005 ترولتك فتحت مكتب ممثل لها في بكين لتقديم خدمات البيع و التدريب و الدعم الفني لـ Qtopia للزبائن في الصين و تلك المنطقة. في هذه السنة وصلت أرباح الشركة ولأول مرة 6.7 مليون دولار. وبعدها في السنوات التالية أصبحت نسبة النمو في إيرادات الشركة 40 % وبشكل متوالي في سنوات 2006 و 2007 .
تملك ترولتك اﻻن أكثر 5000 زبون و تملك علاقات تجارية مع أكثر من 2000 شركة عالمية من بينها IBM و Adobe و Skype و Google و Shell وغيرها من الشركات. في عام 2007 وصل عدد موظفي شركة ترولتك إلى 250 موظف في جميع أفرع الشركة في النرويج و ألمانيا و أمريكيا و الصين و أستراليا.
منذ انطلاق ترولتك، نمت شهرت Qt بدون انقطاع واستمرت في النمو لهذا اليوم. هذا النجاح انعكاس لكل من جودة Qt ومدى الاستمتاع أثناء استخدامها. في العقد الأخير ، نمت Qt من منتج يستخدم بواسطة فئة محددة تعرفه إلى منتج يستخدم بشكل يومي بواسطة الآلاف من الزبائن و عشرات اﻵﻵف من مطوري البرامج الحرة في كل أنحاء العالم. تشكيلات مكتبة QT بشكل واضح تصدر شركة ترولتك QT للمنصات التالية:
- Qt/X11 — Qt لنظام نوافذ X (Unix / Linux)
- Qt/Mac — Qt لنظام Apple Mac OS X
- Qt/Windows — Qt لنظام Microsoft Windows
- Qt/Embedded — Qt للأنظمة المضمنة (PDA, Smartphone, ...)
- Qt Jambi — Qt الموجهة إلى Java
وهناك أربع نسخ من كل إصدارة:
- Qt Console — النسخة للتطوير غير الرسومي non-GUI.
- Qt Desktop Light — كامل نسخة GUI ما عدا لا يوجد دعم الشبكات وقواعد البيانات.
- Qt Desktop — نسخة كاملة.
- Qt Open Source Edition — كامل النسخة مع استثناءات لمطوري البرامج مفتوحة المصدر أو الحرة
أسعار تراخيص QT لقد ذكرنا أن مكتبة QT تتوفر تحت ترخيصين التجاري و المفتوح المصدر، الترخيص المفتوح المصدر مجاني بشكل كامل ويمكن أن تستخدم كامل قدرات مكتبة Qt ولكن يلزمك بأن يكون تطبيقا مفتوح المصدر ويخض لأحد تراخيص التي تتوافق مع فلسفة المصادر الحرة مثل GPL . الترخيص التجاري يسمح لك بأن ترخص برنامج بأي رخصة تريدها و أيضا يسمح بإغلاق مصدر تطبيقاتك وتضع الرخصة التي تريدها. يأتي الترخيص التجاري مع دعم فني لمدة عام من تاريخ الشراء و يرخص لمطور واحد مع كل ترخيص. سعر الترخيص ( لكل مطور ) المنصة Console Edition Desktop Light Edition Desktop Edition منصة واحدة $3300 $1780 $1990 منصتان $4950 $2990 $2670 ثلاث منصات $6600 $3980 $3560 الذي يلاحظ على الترخيص التجاري بأن سعره مرتفعا قليلا، بالنسبة إلى الشركات الصغيرة ، ولكن هذا في مقابل المميزات الهائلة التي تقدمها QT يعتبر مبلغا زهيدا عند الكثير من الشركات. وقد أدركت شركة ترولتك مدى ضخامة المبلغ بالنسبة للشركات الصغيرة فأطلقت برنامج خاص للشركات الصغيرة حتى تساعدها على الحصول على آخر تقنية بطرق ميسرة. مميزات QT بنية QT تتلخص في المخطط التالي:
و نلخص مميزات QT بالتالي:
- توفر أكثر من 500 صف و أكثر من 9000 دالة تغطى كافة متطلبات السوق البرمجي.
- التوثيق الممتاز ، لكافة الدوال والصفوف ، وسهل الاستخدام والبحث معا.
- الدعم الفني الرائع الذي يركز على الجودة المنتج.
- تعمل على جميع المنصات من دون الحاجة إلى تعديل الكود لكل منصة.
- كلا الترخيصين يوفر سورس مكتبة Qt بالكامل مما يسمح لك بالتعديل فيها لتتناسب احتياجاتك البرمجية المختلفة
- وفرة البرامج مفتوحة المصدر المكتوبة بها مما يوفر لك مادة برمجية هائلة للتعلم والاستفادة منها.
تطبيقات بنيت بواسطة QT هناك الكثير من التطبيقات التي بنيت بواسطة مكتبة Qt ، و هذه بعض أشهر الأمثلة:
- Adobe Photoshop Album برنامج لإدارة وترتيب الصور
- Doxygen منتج توثيق API
- Google Earth برنامج ثلاثي الأبعاد للخرائط العالم
- KDEسطح المكتب المشهور في عالم اللينكس
- KDELibs المكتبة التي بنيت عليها الآلاف من تطبيقات KDE مثل Amarok و K3b و KDevelop و KOffice
- Last.fm Player عميل سطح المكتب لإذاعة الإنترنت و موقع مجتمع الموسيقى
- Motorola A760 يستخدم Qtالمضمنة في واجهته الرسومية
- Operaمتصفح الإنترنت
- Psiعميل الرسائل اللحظية لـ XMPP
- Scribusبرنامج للنشر المكتبي
- Skype تطبيق للتحدث عبر الويبP2P VOIP
- TOra أداءة للتحكم بقواعدة البيانات وخاصة أوراكل
- VirtualBoxبرنامج لمحاكة اﻷجهزة يستخدم في العمليات التخيلية
- Xconfig أداءة إعداد نواة اللينكس
المراجع:
A Brief History of Qt from book "C++ GUI Programming with Qt 4"
http://en.wikipedia.org/wiki/Qt_(toolkit)
http://trolltech.com