fpGUI

מכירים את זה שאתם יוצרים תוכנה, וב Gnome היא נראת בצורה אחת, וב KDE היא נראת שונה לגמרי, למרות שהיא נכתבה ל GTK/QT במקור ?

ובכן fpGUI נולד בשביל לפתור את הבעיה הזו.

אז מה זה fpGUI בדיוק ?

fpGUI היא ספרייה גרפית חוצה פלטפורמות שכתובה בפסקל מונחה עצמים. היא נבנתה בתור תחביב של Graeme Geldenhuys, אבל מהר מאור ענתה על הצרכים של החברה בה הוא עובד, וכיום יש בה גם שימוש מסחרי, ואפילו חלק מהזמן ש Graeme משקיע בעבודה, הולך לתחזק את fpGUI. הקוד ד"א נשאר קוד פתוח.

מה כל כך טוב בספרייה אתם בטח שואלים. ובכן, אפשר לחלק את התשובה לשלושה חלקים:

  1. חוסר תלות בספריות צד שלישי
  2. תמיכה מרובת פלטפורמות בהן יש X11 ו Windows GDI.
  3. אפשרות להציג את התוכנה שלך בכל פלפטורמה בצורה שהכי מתאימה לך, בלי קשר לעיצוב המקורי של הסביבות.

דבר ראשון fpGUI מתהדר ישירות לקוד הריצה ולא לספרייה משותפת, מה שהופך את ההפצה של תוכנה הכתובה בו, לפשוטה יותר, עם פחות תלויות. התלויות הן תלויות מאוד בסיסיות, כדוגמת WinAPI שקיים בכל מקרה ב Windows, או ספריות של X, אשר קיימות בכל מקרה בהפצה גרפית. וזהו, שום דבר אחר.

הספרייה של fpGUI מספקת את האפשרות לכתוב קוד זהה הן עבור Windows והן עבור X11, מה שאומר שצריך לבצע הידור רק לפטלפורמה מסויימת, ואז המראה והתחושה יהיו זהים (אה, וכמובן גם הקוד).

בWindows לכפתורים יש מראה מסויים אחיד וקבוע ולא גמיש בעליל, בGTK/QT ניתן לשים תמונות על כפתורים, לשנות להם את צבע הרקע וצבע הטקסט. עם fpGUI אתם לא מתעסקים עם כל זה. בנוסף fpGUI מגיעה עם תמיכה ב"עורות", מה שאומר בשורה התחתונה, שאם אתם מספקים תוכנה, היא תמיד תראה אותו הדבר בכל מקום ובכל מצב.

כמו כן, הספרייה מגיעה עם מתכנן ui אשר מספק יכולת גרפית לבנות ממשק לספרייה. כמו כן, Graeme עושה מאמצים בנוסף גם להכניס תמיכה של fpGUI ללזרוס.

ישנה תמיכה ב UTF-8 בברירת מחדל. עוד הרבה יתרונות.

ישנו כלי אשר משתמש בספרייה ומספק פתרון mvp – model view presenter.

אנשים גם החליטו לקחת את הספרייה וליצור באמצעותה מנהל חלונות לX: מנהל החלונות Fpwm.

החסרון העיקרי מבחינתנו, היא שהמערכת כרגע לא תומכת ב דו כיווניות. Graeme אמר לי שזה נמצא ברשימת ה"לעשות" שלו, אבל בעדיפות מאוד נמוכה יחסית לכל דבר אחר.

רשומה זו פורסמה בקטגוריה קוד פתוח, תכנות. אפשר להגיע ישירות לרשומה זו עם קישור ישיר.

2 תגובות על fpGUI

  1. עודד הגיב:

    זאת אומרת – עוד toolkit גרפי מרובה פלטפורמות. היה לנו את ׂGTK, QT, wx, FLTK ועוד כמה, והנה עוד אחד. הפוקוס אתה אומר הוא שהתוכנה תראה אותו הדבר בכל מקום ? לא נראה לי כמו רעיון טוב.

    הגישה של כל המערכות שספרתי למלה היתה שיש להתחשב במראה הטבעי של סביבת העבודה שלך כדי שהתוכנה שאתה כותב תראה כחלק טבעי מהמערכת ולא כמשהו זר ומוזר, ולכן כשאתה מריץ תוכנת Qt בחלונות היא נראית כמו ישום של חלונות, כשאתה מריץ אותה על מק היא נראית כמו ישום Cocoa טבעי וכשאתה מריץ אותה על X היא נראית.. ובכן.. כמו ישום Qt. למי שחי רק בסביבת לינוקס, נראה שהבעיה הכי חמורה היא שישומי Qt נראים שונים לפי איזה Theme סביבת העבודה הפעילה (או לפעמים הפוך – שישום Qt נראה כמו ישום Qt ולא כמו Gnome על Gnome). הפתרון צריך להיות בדמות יותר תאימות הדדית בין ה-toolkitים ולא על ידי הוספת עוד אחד שיראה שונה מכולם.

  2. ik_5 הגיב:

    מה שאתה אומר נכון ברוב המקרים, אבל מה אם אתה מספק מערכת שלמה על מחשב ללקוח, נגיד מסך מגע, בשביל לבחור כרטיסי רכבת, ובמחשב אחד יש לינוקסו במחשב אחר יש windows, אבל המשתמשים משתמשים במסך עצמו בשביל לבחור את הכרטיסים שהם רוצים. האם בגלל שמדובר ב2 מערכות גרפיות שונות הם צריכים ממשק שנראה אחרת ? התשובה בד"כ כאן היא לא. אתה רוצה ממשק אחיד, בשביל שלא יהיה הבדל בין ממשק א' לב' גם אם מדובר ב2 מערכות שונות מאחורי הקלעים, עדיין חשוב לך שהמראה יהיה זהה בכל מקום, בשביל שגם אדם מבוגר עם טלסקופ על העיניים יוכל להשתמש בממשק באותה מידה כמוך. ככה שזה מאוד תלוי.

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s