تفاوت بین GTK+ و QT
زبانها و ابزارهای برنامه نویسی موضوعات پیچیده هستند. شما احتمالا مدت طولانیه که دارین از سیستمتون استفاده میکنید و اصلا به این موضوع دقت نکردین.
اما وقتی به لینوکس مهاجرت کردین ،ناگهان این مسئله مهم میشه. به همین دلیله که نحوه ی درست ادغام و سازگار شدن یک برنامه با بقیه دسکتاپ ذهن شما رو به سمت یک سوال میبره :
آیا این در GTK + ساخته شده یا Qt ؟
چی هستن اصلا؟
GTK + و Qt هر دوی آن ها مجموعه ابزار توسعه دهندگان هستن که برای ساختار چگونگی ظاهر و احساس یک برنامه استفاده می شوند.
این ابزار مجموعه دکمه ها، Toolbar، sliders و منوهایی را برای شما در هنگام استفاده از یک برنامه فراهم می کند.
این بسته های نرم افزاری در وقت توسعه دهندگان خیلی صرفه جویی میکنه . به جای اینکه خودشان برای اندازه، شکل و ظاهر هر دکمه کد بزنن،کل طراحی اون رو به دست این ابزار ها می دن،
این کار به آنها اجازه میدهد تا درگیر جزییات ریز نشوند و تمرکز اصلیشون روی قابلیت های اصلی برنامه باشه .
Qt چیست؟
کیوت مجموعهای از کتابخانهها و سرآیندهای نوشتهشده به زبان سی++ است که به برنامهنویس امکان توسعه آسان نرمافزارهای کاربردی را میدهد.
کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه، ابزارهای پایگاهداده، شبکه و … است.
نرمافزارهای نوشته شده با ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان سیپلاسپلاس برای طیف وسیعی از سیستمعاملها از جمله گنو/لینوکس (نسخههای رومیزی و وسیلههای قابل حمل)، ویندوز، ویندوز CE، مکاواس و … همگردانی شوند.
بدین ترتیب حمل نرمافزار نوشته شده بدون تغییر در متن کد نوشته شده امکانپذیر است. از کیوت در زبانهای برنامهنویسی متعددی مانند سی++ و جاوا و پایتون میتوان استفادهکرد.
GTK+ چیست؟
جیتیکی+ یک ابزار ویجت برای ایجاد واسط گرافیکی کاربر است.
این کتابخانه تحت پروانه گنو الجیپیال منتشر میشود که هم به نرمافزارهای آزاد و هم به نرمافزارهای انحصاری اجازه میدهد از این کتابخانه استفاده کنند.
جیتیکی+ به همراه کیوت، از محبوبترین ابزارهای توسعه واسط گرافیکی کاربر برای سامانه پنجره اکس به حساب میآید.
نام جیتیکی+ از نام قدیمیتر جیتیکی میآید. علامت + به این خاطر است که نشان دهد این کتابخانه نسخه بهبودیافته و بهینه شده جیتیکی است.
دسکتاپ و نرم افزار های مبتنی بر GTK
اگر اخیرا به لینوکس مهاجرت کردین این شانس رو دارین که از یک دسکتاپ مبتنی بر GTK استفاده کنید. چرا که بسیاری از بهترین محیطهای دسکتاپ لینوکس از GTK + استفاده میکنند
GNOME رو در نظر بگیرید، گزینه پیش فرض در چنین سیستم عامل های برجسته و معتبر لینوکس مانند اوبونتو، فدورا و دبیان است. سپس گزینه هایی مانند MATE و Xfce هم هستن که هر دو رابط های سبک تر و سنتی تری رو ارائه می دهند.
بسیاری از محبوب ترین برنامه های منبع باز با دسکتاپ مبتنی بر GTK بهتر کار میکنن. مثل برنامه هایی مانند فایرفاکس، تاندربرد، لیبره آفیس و GIMP می شود اشاره کرد.
برنامه های مبتنی بر GTK زیادی موجود است که در وهله اهمیت پایین میشود به AbiWord، Inkscape و Pidgin اشاره کرد.
در برنامه های GTK + میزان تنوع در حال افزایش است. نرم افزاری که به طور خاص برای یک GNOME طراحی شده است ممکن است حتی بر روی دیگر دسکتاپ های مبتنی بر GTK ظاهر متفاوتی داشته باشد . به این دلیل که دستورالعمل طراحی رابط انسانی گنوم، استفاده از منو بارها را محدود می کند و سایر تغییرات معمول را نیز معرفی می کند.
دسکتاپ و نرم افزار های مبتنی بر QT
دسکتاپ KDE پلاسما قدیمی ترین محیط دسکتاپ کامل برای لینوکس است. در سال 1996، Qt کاملا باز شد، ممکن بود گنوم حتی وجود نداشته باشد. بیش از دو دهه بعد، انجمن KDE شروع ارائه یک دسکتاپ لینوکس با بیشترین امکانات را کرد.
با استفاده از چندین دسکتاپ دیگر مبتنی بر Qt، بسیاری از برنامه های Qt به طور خاص برای دسکتاپ پلاسما طراحی شده و حتی ممکن است به اجزای مختلف KDE بستگی داشته باشند. به همین دلیل یکپارچه سازی نرم افزار، KDE از بهترین دسکتاپ هاست.
Plasma تنها سیستمی نیست که از Qt استفاده می کند. LXQt یک جایگزین است که بر ساده تر و سبک بودن و تمرکز دارد.
در حالی که برخی از نرم افزار KDE کراس پلت فرم است، این برنامه ها در خارج از جامعه لینوکس شناخته نشده اند. البته استثنا هم داریم که از مهمترین استثناها میشود به Krita و digiKam اشاره کرد .
همه برنامه Qt به طور خاص برای KDE طراحی نشده است. به عنوان مثال برنامه هایی مانند پخش کننده رسانه VLC و برنامه چاپ دسک تاپ Scribus.
این تفاوت چقدر مهم است ؟
تفاوت های فنی بین GTK + و Qt وجود دارد، اما بسیاری از آنها برای توسعه دهندگان بیشتر جنبه نظر شخصی و علاقه رو داره.
امروزه محدودیت ها سخت شده ولی با تشکر از طراح های عالی، بسیاری از برنامه های GTK + در حال حاضر بر روی دسکتاپ پلاسما مبتنی بر Qt به درستی کار میکنن.
بعضی از این برنامه ها در Plasma حتی بهتر از GNOME دیده می شوند.
در همین حال، شما همچنین می توانید Scribus یا VLC را بر روی دسکتاپ مبتنی بر GTK نصب کنید بدون آنکه متوجه شوید تفاوتی در پشت صحنه وجود دارد.
اما ناسازگاری های کوچک بعضا اتفاق می افتد. برنامه های کاربردی می توانند پنجره file browser های مختلف را باز کنند، در حالی که شما دنبال یک file browser دیگر برای باز کردن هستید.
ممکنه تم های سیستم به برنامه های خاصی اعمال نشه، اما هرچه بیشتر با دسکتاپتان ور برین، احتمالا بیشتر ظاهر می شن.
در نهایت، این سوال که آیا GTK + یا Qt را ترجیح می دهید واقعا به انتخاب رابط کاربری دسکتاپ مورد علاقه و برنامه های مورد علاقه ی لینوکس شما بستگی دارد.