جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

معرفی +GTK

27 فروردین 1400
ارسال شده توسط فرشید نوتاش حقیقت
گنو/لینوکس، چیست

GTK+ یا GIMP toolkit کتابخانه‌ای آزاد و متن‌باز شامل ابزارهای ویجت برای ساخت رابط گرافیکی کاربر (GUI) است که به زبان C نوشته شده. این کتابخانه در ابتدا به عنوان مجموعه ابزاری برای توسعه نرم‌افزار ویرایش تصویر گیمپ ساخته شد.

اما بعد از مدتی از پروژه گیمپ جدا شد و رفته رفته به یکی از ابزارهای محبوب ساخت رابط کاربری تبدیل شد و هم اکنون توسط بنیاد گنو نگهداری می‌شود. امروزه واسط کاربری بسیاری از نرم‌افزارهای متن‌باز و تجاری با استفاده از + GTK یا Qt ساخته می‌شوند. این کتابخانه در درجه اول لینوکس و سامانه پنجره X را هدف قرار داده، اما می‌توان از آن بر روی بسترهای دیگر مانند ویندوز مایکروسافت و OS X هم استفاده کرد. همچنین +GTK قادر است با بسیاری از زبان‌های برنامه‌نویسی از جمله ++ C، پایتون، پرل، جاوا، #C و… کار کند.

GTK+ برای طراحی رابط کاربری، ابزارک‌های بسیاری مانند دکمه‌ها، جعبه متن، چک‌باکس و … را در اختیار برنامه‌نویسان قرار می‌دهد که با استفاده از آن‌ها می‌توانید رابط کاربری گرافیکی کاملی برای نرم‌افزارهای خود طراحی کنید، همچنینGTK+  از یک ویژگی استایل‌دهی همانند CSS برای شخصی‌سازی ظاهری این ابزارک‌ها پشتیبانی می‌کند که با استفاده از آن می‌توانید هر یک از این ابزارک‌ها را شخصی‌سازی کرده و رابط گرافیکی کاربری مختص خود را بسازید. میزکارهای گنوم و Xfce و بسیاری از نرم‌افزارهای مطرح از جمله ویرایشگر تصاویر گیمپ، مسنجر Pidgin، نرم‌افزار گرافیک برداری Inkscape و بسیاری دیگر با استفاده از +GTK ساخته شده‌اند.

اجزای اصلی GTK+

در طول توسعه، +GTK به کتابخانه‌های مختلفی تقسیم شد و برخی کتابخانه‌ها نیز به +GTK اضافه شدند که امروزه +GTK به آن‌ها وابسته است. این کتابخانه‌ها عبارتند از Cairo ،GdkPixbuf ،GDK ، ATK و Pango.

GLib کتابخانه‌ای سطح پایین و چندسکویی است که به زبان C نوشته شده است و امکانات بسیاری را برای توسعه نرم‌افزار ارایه می‌دهد. این کتابخانه شامل قسمت‌های غیرگرافیکی پروژه +GTK است که از آن جدا شده و به برنامه‌نویسان اجازه می‌دهد از توابع و عملکردهای غیرگرافیکی بدون وابسته بودن به کلGTK+  استفاده کنند.

تاریخچه

GTK+ در آغاز برای استفاده در نرم‌افزار گیمپ که نرم‌افزاری آزاد/متن‌باز برای ویرایش تصاویر است طراحی شد و از این رو GTK یا GIMP Toolkit نام گرفت و پس از مدتی به دلیل بهبودها و بهینه‌سازی‌های انجام شده در GTK نام آن به +GTK تغییر کرد. برنامه‌نویسی GTK در سال ۱۹۹۶ توسط «اسپنسر کیمبال» و «پیتر ماتیس» آغاز شد و پس از حدود دو سال و در ۲۸ آوریل ۱۹۹۸ اولین نسخه پایدار آن تحت عنوان GTK 1.0 منتشر شد. برای این نسخه ۹۳ هزار خط کد به زبان C نوشته شده بود و شامل ابزارک‌های اساسی مورد نیاز پروژه گیمپ بود. نسخه پایدار بعدی با شماره 2/1 در فوریه ۱۹۹۹ با اضافه شدن تعداد زیادی از ابزارک‌های جدید منتشر شد و + GTK را به بستری مناسب برای توسعه نرم‌افزارها تبدیل کرد و دیگر گیمپ، محور توسعه GTK+  نبود. نسخه 2/1 همچنین اولین نسخ های بود که شامل یک کتابخانه مجزای GLib بود.

بعد از نگارشGTK+  نسخه 2/1،  به یک چرخه طولانی توسعه وارد شد که در طی آن کارهای بسیاری به انجام رسید؛ پردازش متن به Pango سپرده شد که باعث شد زبان‌های بین‌المللی به خوبی پشتیبانی شوند. Object System توسعه و تعمیم یافت و با عنوان کتابخانه GObject زیر مجموعه کتابخانه GLib شد. مجموعه نگارش‌های 2/0/GTK 0 به همراه خود، ویژگی‌های جدیدی داشت. یک موتور پوسته جدید، دسترسی‌پذیری بهینه شده با استفاد از ATK ، انتقال کامل به یونیکد و استفاده از UTF-8 و تعدادی API های انعطاف‌پذیر دیگر اضافه شدند و همچنین از نسخه 2/8 به بعد، کتابخانه گرافیکی Cairo برای ارایه تصاویر برداری (vector) مورد استفاده قرار گرفت.

در طی مدت سه سال پروژه گنوم مشتاقانه منتظر آماده شدن +GTK نسخه 2/0 بود و گنوم از نسخه 0/2 به صورت عمده از +GTK استفاده می‌کند. یکی از درس‌های آموخته شده توسط گروه +GTK از چرخه توسعه 0/ این است که سعی کنید چرخه‌های توسعه و انتشار نسخه‌های پایدار کوتاه‌تر از ۹ تا ۱۲ ماه باشد. +GTK برای همه نسخه‌های 2.x به این هدف نرسید اما از نسخه 0/2 به بعد با موفقیت از افتادن در چرخه‌های چند ساله توسعه و برنامه‌نویسی اجتناب کرد.

در نگارش GTK 3.0.0 بازنگری‌هایی درباره مدیریت ورودی‌های دستگاه صورت گرفت، طراحی قالب‌های پوسته با دستور زبانی مشابه CSS پشتیبانی شد و توانایی دریافت اطلاعات از دیگر نرم‌افزاهای متن‌باز طراحی شده با + GTK نیز اضافه شد.

GTK+ و زبان‌های برنامه‌نویسی

برای ایجاد اتصال بین +GTK که به زبان C نوشته شده و دیگر زبان‌های برنامه‌نویسی، کتابخانه‌هایی منتشر شده‌اند که با ارایه یکسری توابع نقش واسط را میان زبان برنامه‌نویسی و کتابخانه +GTK بازی می‌کنند. این کتابخانه‌ها به شما اجازه می‌دهند بدون استفاده از زبان برنامه‌نویسی دیگری کتابخانه +GTK را در کد خود مورد استفاده قرار دهید و به آسانی رابط کاربری نرم‌افزار خود را طراحی کنید.

کتابخانه‌های PyGTK و PyGObject برای زبان برنامه‌نویسی پایتون، PHP-GTK برای زبان، PHP کتابخانه gtkmm برای زبان ++C و به همین صورت برای بسیاری از زبان‌های برنامه‌نویسی دیگر نیز کتابخانه واسط در دسترس است و به وسیله این کتابخانه‌ها + GTK می‌تواند با بیش از ۳۰ زبان برنامه‌نویسی کار کند.

منبع: نشریه «سلام دنیا»، شماره دوم – نوشته میثم صالحی
برچسب ها: GIMP toolkitGTK+پایتونمحتوای باز
درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی مدیاگابلین بستر رسانه آنلاین آزاد
بعدی مدل مرجع OSI

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

شما ممکن است در دو حالت تمایل به نشر ویدئو خود را داشته باشید: یا آن را رایگان در اختیار عموم قرار دهید و یا اینکه در قبال فروش آن از خریدار وجه مربوطه محصول را اخذ نمایید.

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

از قرار دادن موسیقی متن، در بک‌گراند دوره آموزشی شدیدا پرهیز کنید. این کار موجب حواس‌پرتی مخاطب و ضعیف شدن صدای مدرس می‌گردد.

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

مدرس، هنگام تدریس نباید تپق زده، سرفه یا عطسه کند یا صدای قورت دادن بزاقش شنیده شود و بایستی با صدای رسا، دوستانه و پرانرژی به تدریس بپردازد.

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری