به نام خدا
در این مقاله میخوام به طور مختصر و کوتاه به معرفی فریم ورک GTK بپردازم
اگر شما هم مثل من به نرم افزار های گرافیکی علاقه داشته باشید و کنجکاو باشید که بدونید یک نرم افزار (مثل فتوشاپ یا فایرفاکس و ...) به چه زبانی نوشته شدن, باید با مفهوم فریم ورک های گرافیکی(مثل GTK و Qt و غیره ) اشناتون کنم.
تعریف فریم ورک:
فریم ورک به کدهایی گفته میشو که به یک زبان خاص (مثلا c یا ++c یا جاوا و ...) و برای اهداف خاصی نوشته می شوند
برای ایجاد رابط کاربری یا همون GUI نرم افزارها ( یا به قول خودمون، ظاهر برنامه ها ), از فریم ورک های مختلفی استفاده میشه. یکی از معروف ترین اونها که اوپن سورس هم هست, فریم ورک GTK می باشد که اولین بار حین توسعه ی نرم افزار Gimp ساخته شد.
وریم ورک GTK به زبان C نوشته شده و دارای مجموعه ی غنی از ویجت هایی هست که برای طراحی GUI نرم افزار ها مورد نیاز هست, از جمله Button ها, Textbox ها, Label ها و کلی ویجت دیگه که توی رابط کاربری نرم افزار ها استفاده میشه.
یکی از معروف ترین نرم افزار هایی که رابط کاربری اون با GTK نوشته شده، نرم افزار firefox هست :) نرم افزار های معروف دیگری که رابط کاربریشون با gtk نوشته شده، vm ware و نرم افزار gimp هستش. و همچنین دسکتاپ gnome و xfce هم با GTK نوشته شدن :)
در عکس بالایی میتونید انواع ویجت هایی که در GTK وجود داره رو ببینید
چهار نکته ی مهم درباره GTK
1- کراس پلتفرم هست، ینی هم روی لینوکس، و هم مک و ویندوز قابل استفاده هست.
2- نکته ی مهمی دیگه ای که وجود داره اینه که شما میتونید ظاهر برنامه (یا همون رابط کاربری برنامه) رو با gtk بسازید ولی سایر کد های برنامه رو به هر زبان دلخواهی بنویسید. برای مثال من میتونم یک ماشین حساب بنویسم و رابط کاربری برنامه رو با gtk بسازم ولی سایر کد های مورد نیازم رو با جاوا بنویسم!! ینی یک برنامه گرافیکی که با جاوا نوشته شده ولی رابط کاربط کاربریش با gtk درست شده!! جالب نیست؟ :) یا مثلا میتونم یه برنامه گرافیکی به زبان پایتون بنویسم و رابط کاربری برنامه رو با gtk بسازم :)
این کار توسط لایبرری هایی که بهش اصطلاحا language bindings or Wrappers گفته میشه امکان پذیره و اجازه میده که شما از فری ورک gtk در هر زبان برنامه نویسی بتونید استفاده کنید.
3- میشه بدون کد نویسی و فقط بوسیله ی موس و drag & drop، رابط کاربری یک برنامه رو بوسیله ی GTK ساخت
بـــــــله :) درست خوندید، کافیه شما از نرم افزار glade استفاده کنید و بدون حتی یک خط کد نویسی، یک UI پیشرفته برای نرم افزارتون درست کنید. در واقع وقتی شما در نرم افزار glade، یک فرم درست میکنید و روی این فرم ویجت های مختلف ( مثل textbox، label، و ...) میزارید، خود glade یک سری کد بصورت xml تولید میکنه و این کد ها بعدا توسط توابعی، بصورت runtime به کدهای gtk تبدیل میشن. ساده تر بخوام بگم، شما میتونید GUI برنامه رو هم با کد نویسی بسازید، هم میتونید با فایل های xml بسازید.
4- تغییر تم برنامه های gtk بوسیله ی CSS :)
احتمالا همه ی شما با CSS در طراحی وب اشنا هستید، جالبه بدونید که در نرم افزار هایی که با GTK نوشته شدن هم میشه با استفاده از CSS ظاهر برنامه رو دست کاری کرد :)
این نشون دهنده قدرت فریم ورک gtk هست.
خب، فک کنم مقاله ی خیلی کوتاهی بود ولی امیدوارم مفید باشه مخصوصا برای کسایی که تازه با این فریم ورک اشنا میشن :) برای کسب اطلاعات بیشتر هم میتونید در گوگل (و مخصوصا یوتوب) جستجو بکنید
در زیر هم به چندتا لینک درباره GTK میزارم
سایت اصلی پروژه GTK (برای اطلاعات جامع تر، میتونید به سایت اصلی پروژه برید)
لینک به نرم افزار glade
اسکرین شات از چند نرم افزار که با GTK توسعه داده شدن
https://www.gtk.org/screenshots/index.php
سلام
چه مطلب و وبلاگ خوبی که سعی کرده به زبان فارسی بنویسه
لطفا سعی کنید واژه فارسی تر رو هم بجای انگلیسی ها بنویسید.