אני לא יודע כמה מכם עובדים עם Silverlight או FLASH, אבל הינה משהו שיכול לחסוך לכם המון זמן והרבה כאבי ראש ואפילו התקפי לב...הסיפור הוא כזה, אני אומנם לא תוכניתן ולא מפתח, אבל מה לעשות שלפעמים גם אנשי UX כותבים קצת "קוד" או בעצם מתעסקים עם XAML וצוללים לקרביים של מערכות קיימות? קורה... מה גם קורה? שלפעמים עושים טעויות מטופשות למרות שאתה חושב שאתה סופרמן ושועל קרבות ותיק וחושב שלך זה לא יקרה, אז אתה מתעצל לעשות Check In ל-Source control וממשיך לעבוד כמה ימים בלי לעשות צ'ק-אין, עד ש... קורת איזו טעות ואתה דורס איזה קובץ ובום...אין גיבוי וכל מה שנשאר זה לרמוט שערות ולהתבכיין על אובדן זמן ועל הגרוע מכל - לעשות את אותה העבודה שוב!!! (אין אחד שזה לא קרה לו...)
אז במידה ואתם עובדים עם SILVERLIGHT יש נקודת חזור מאוד לא טריוויאלית ומאד לא צפוייה... כידוע אפליקציית סילברלייט מקומפלת לתוצר XAP (סוג של ZIP) המקבילה של קובץ SWF (בפלאש) רק שבסילברלייט יותר קל לעשות דקומפילצייה מאשר בFLASH... בגלל שמדובר בסופו של דבר בקובץ XAP (שהוא בעצם ZIP) אז נכון שיש היום כלים שעושים obfuscation (ערבול) לקוד שנמצא בXAP כדי שלא יוכלו לעשות דקומפילציה לפרויקט שלכם, אבל לטוב ולקע XAML לא נחשב כ"קוד" (נכון לעכשיו) ולכן הוא לא עובר ערבול... למה זה טוב חוץ מהעבודה שיוכלו לגנוב לכם את העיצוב אם לא את הקוד?
זה טוב כמו במקרה שאני חוויתי היום, בגלל שלא עשיתי צ'ק-אין יומיים שלמים, בגלל חוסר רכוז ומצב "טייס אוטומטי" עשיתי COPY לresource dictionary מאוד חשוב באפליקציה כולה ובלי כוונה דרסתי אותה (!!!!) ואני לא צריך לתאר את ההרגשה המגעילה שבאה בעקבות זה וחוסר האונים...
במזל נזכרתי בהרצאה על obfuscation שהייתי בה לפני חודש בערך (שחצי ממנה שיחקתי בפלאפון) ובמזל זכרתי שקוד כן עובר ערבול אבל הXAML לא... מיד נכנסתי לקבצי הTEMP של הדפדפן (למרות שלרוב אני מוחק אותם מיד בסיום הקימפול) ושלפתי בזהירות את הXAP וישר פתחתי אותו בREFLECTOR ונדהמתי לגלות שהXAML יושב שם כמו שהוא אמור להיות, ישר העתקתי אותו ודרסתי את הXAML שבאפליקציה, קימפלתי ו........ BOOM! האפליקציה מתקמפלת ורצה לה בסבבה... הרבה שערות לבנות ואובדן זמן נחסך לי במיוחד בתקופה שאני מוצף פרויקטים... אךךך איזה אדרנלין...
מקווה שעזרתי למישהו עם המידע, גם אם לא, שנה מצויינת לכולם