מה זה Sidebar ומה אלה גאדג'טים
אחד החידושים היפים והחשובים ביותר ב Windows Vista למשתמש הסופי אלה ה Sidebar
והגאדג'טים שהולכים יד ביד. בתמונה פה ליד, אתם רואים את ה Sidebar. מבחינה ויזואלית, ה Sidebar הוא רק פס שחור אנכי, עם איזשהו אפקט של שקיפות. כוחו של ה Sidebar לא נמצא בצד הויזואלי שלו עצמו, אלא בשימוש האמיתי שלו - סביבת זמן-ריצה שמארחת סוג מסויים של אפליקציות המכונות Gadgets (גאדג'טים). הללו הן כמעט-אפליקציות לכל דבר. "כמעט" מהסיבות הבאות:
- הם לא מתקמפלים. בסופו של יום, לא נוצרים לנו פה קבצים בינאריים.
- הם לא רצים על Process נפרד, ולא מערכת ההפעלה היא זאת שמארחת אותם. הם מופעלים ע"י ה Sidebar והוא זה ש"מארח" אותם. אין להם קיום ללא ה Sidebar
- הם מוגבלים בגודל, לא מוצגים בחלון ה Alt+Tab וכו' - חלק מההשלכות של העובדה שה Sidebar הוא זה שמארח אותן והן לא אפליקציות לכל דבר.
כשה Sidebar כן מכיל גאדג'טים, הוא נראה הרבה יותר יפה ויעיל כפי שאתם רואים פה. הגאדג'טים יכולים להיות במצב Docked - שהם דבוקים לסיידבאר, או Undocked כשהם צפים. במצב שהם צפים, הם יכולים להיות יותר גדולים. הגאדג'ט של השעון הוא דוגמא ל Docked והמזג אוויר הוא Undocked.
היתרון העיקרי בגאדג'טים, הוא שהם יכולים ללוות את המשתמש לכל אורך העבודה במחשב. ה Sidebar יכול "לצוף" כל כל שאר התוכנות (הן מתאימות את גודלן בהתאם) וככה לאפשר זמינות גבוהה לגאדג'טים כל העבודה. לכן, ניתן ליצור כל מיני גאדג'טי-עזר כאלה, שיוכלו לשמש את המשתמש כל הזמן. כמו פתקיות לזיכרון דברים, השערים היציגים של המטבעות השונים בעולם וכדומה.
אפשר ליצור גאדג'טים שהם אפליקציות שלמות (לאו דווקא עזרים, או לאו דווקא דברים שמשתלבים עם אפליקציות אחרות) שרצות ב Sidebar. למשל: IRC Client שיפעל כגאדג'ט ויאפשר את כל הדברים של Client IRC רגיל. פה, אנחנו כבר רואים דוגמא לאפליקציה מלאה, לא כזאת שרק מקלה על המשתמש או משתלבת בתוכנות אחרות - אלא אפליקציה עצמאית לחלוטין שלמעשה בנוייה כגאדג'ט ותהיה זמינה למשתמש כל הזמן.
בתור מפתחים, אנחנו יכולים ליצור גם גאדג'טים שמשתלבים בלוגיקה של האפליקציה שלכם, וישתלבו בתשתיות שלה כמו COM ו WebServices. ככה, המשתמש יוכל לקבל נתונים מחלקים שונים באפליקציה שלנו לכל אורך העבודה במחשב, גם אם הללו לא פתוחים אצלו, ואפילו אם האפליקציה סגורה בכלל. כך, למשל, יוכל רופא לראות את הפגישות הבאות שלו גם כשהוא משחק סוליטר, ומנהל תחנת משטרה יוכל לראות לכל אורך העבודה מפת GPS שתציין לו איפה נמצאת כל ניידת (דוגמאות שחשבתי עליהן הרגע). גם גאדג'ט שנבנה שמציג, נניח, את הפגישות הבאות באאוטלוק גם כשהאאוטלוק סגור, למעשה ישתמש בתשתיות שלו בשביל להקל על המשתמש.
אנחנו יכולים גם להשתלב בתשתיות של מערכת הפעלה, באמצעות שימוש ברכיבי הCOM שלהן, או לחלופין, באמצעות שימוש ב Gadgets Object Model. מדובר בספרייה של מחלקות שמאפשרות גישה לניהול הריצה של הגאדג'ט (מידע שהוא ישמור, הגדרות ויזואליות וכדומה) וגם קבלת מידע ממערכת ההפעלה, גך שאפשר יהיה ליצור גאדג'ט שישתלב בצורה הזאת במערכת הפעלה (ויציג בקלות כמה פריטים יש בסל מיחזור, יתנה ביצוע פעולה מסויימת בכמות הRAM הפנוייה, או סתם יציג כל הזמן נתונים על המחשב).
הדוגמאות לגאדג'טים הן כמעט בלתי מוגבלות. יש כ"כ הרבה דברים שאפשר לעשות, דברים שאפשר "להנגיש" למשתמש, דברים שאפשר לשלב כדי שיהיה לו קל לבצע פעולות שכיחות גם בלי להיות כל הזמן עם איזשהו חלון של אפליקציה פתוח ובלי לפתוח את כל האפליקציה, דברים שיקלו וייעלו את העבודה.
המונח גאדג'ט משמש את מיקרוסופט בעוד מקומות, וכדאי לדעת על מה מדובר - כדי לא להתבלבל:
Windows Vista Gadgets - מה שדיברנו עליו עכשיו.
Windows Live Gadgets - גאדג'טים שמיועדים לרוץ ב Live.com
Windows SlideShow Gadgets - גאדג'טים שאמורים לרוץ על מסך חיצוני של מחשב נייד.
בפרק הבא - ניגש לכתוב את הגאדג'ט הפשוט הראשון שלנו, כזה שיאפשר לעשות חיפוש ממספר מנועי חיפוש ישירות מה Desktop בתור דוגמא לקלות שבה אפשר לבנות גאדג'ט.