October 28, 2006

Flex builder טיפ למפתחים על

בואו, אני אבהיר לפני: מדובר על מפתחים ב-Builder עצמו ולא בפלאג-אין, אוקיי? סבבה.
יש כלי מאד נחמד ויעיל בפיתוח Java באקליפס והוא ה-View שנקרא Package Explorer. ה-View הזה יעיל מפני שאם יש error או code warning איפשהו בפרוייקט, ה"סימון" מבעבע למעלה עד לספרייה שמחזיקה את הפרוייקט עצמו, אבל מעבר לכך – נותן אינדיקציה לגבי errors אחרים שנגרמו כתוצאה משינוי בקובץ מסוים באותה צורה. מה שאנחנו נקבל בפועל הוא את עץ הפרוייקט מסומן היכן שיש error או code warning עד הספריות (packages) עצמן. תסכימו עמי, שזה הרבה יותר יעיל מאשר לחפש את ה-error בעץ לבד, או דרך ה-problems.
ברם, אליה וקוץ בה. לא הטמיעו את ה-view הזה ב-Builder. זו למעשה פונקציונאליות שבאה עם ה-development tool של ג'אווה. אז... מורידים את הכלי הזה והופ! יש לנו את ה-view הנוסף. חפשו אותו תחת window > other views > java > package explorer.
מקווה שיעשה לכם טוב בגבולות הסביר.
שבוע טוב.

October 25, 2006

עבור מאק Flex builder

יש כאלה. אני יודע שזה לא נפוץ, אבל יש כאלה – אנשים שמשתמשים במאק.
אני לא אתחיל פה בדיון של מה טוב או מה לא. אני יכול רק לומר שיש לכם סוף סוף Flex Builder. אני לא ממש יודע כמה זה עלול לעניין אתכם, אנשי התפוח, אבל ככה שתדעו... לפעמים יש חיים מחוץ לפוד.
תבלו.

October 14, 2006

Caringorm בשילוב MXNAPostsReader

למי שזוכר, או לא, בזמנו הוצאתי אפליקציה קטנה שמתקשרת ל-WS של MXNA ושולפת משם פוסטים של בלוגרים לפי נושא ושפה. הרעיון היה להבין איך פלקס עובדת מול WS ונסות ליישם זאת באפליקציה שתהיה גם יעילה למפתחים באשר הם, ולא תביא צרור מידע על פיזור ארגוני "נבטים-לחיים", או משהו בסגנון.
את האפליקציה המקורית תוכלו למצוא פה: MXNAPostsREader for flash player 9.
אם נתעלם רגע מהצבעים המזעזעים (היי, סאחבק עיוור גוונים) אפשר לראות שהאפליקציה מעט מקרטעת. השמישות בה לא ממש פאר היצירה ובתור אחד שמכיר "קצת" את ה-backend שלה, אני יכול לומר שהזרימה שלה לא לגמרי נכונה. יש קריאות ל-WS מ-MXML וגם קריאות מ-as, וזה לא ממש מאורגן ולכן לא ממש מתוחזק בקלות שלא נדבר על שדרוג.
עם הזמן נתקלתי במיקרו-אריכט' הנקראת cairngorm.
Cairngorm זו לא תוכנה, אלא יותר "דרך עבודה", אשר החבר'ה המוכשרים ב- Adobe Consulting פיתחו בכדי לענות על הרבה מכשולים שמפתחי RIA נתקלים בהם בעת פיתוח בפלקס. זהו אוסף של מחלקות שירות, ומחלקות-אב אשר יחד עם ארכיטקטורה נכונה על-פי משנתם הופכת כל אפליקציית RIA ליעילה יותר והרבה יותר קלה לתחזוק ושדרוג.
הנחתי לעצמי שהדרך הטובה ביותר להבין את cairngorm וכיצד היא פועלת הוא לבנות אפליקציה המשתמשת בשירותים שהיא מספקת. מה יותר מתאים מ-MXNAPostsReader? אם כן, לקחתי אותה ועשיתי לה מה שה"ברבור" עושה לצעירים מטומטמים: מייקאובר.
מה ש-Cairngorm בעצם אומרת זה מאוד פשוט: הארכיט' מגיעה מה-MVC OOD. מה שאומר שברמת העיקרון יש לנו את ה-view, את ה-control וה-model. מה שכן, מכיוון שאנחנו עוסקים בפלקס, התבנית הזו מקבלת טוויסט קטן, דבר המניב את המפרקים הבאים: View, control, Command, Model Locator, Services. אלה בעצם אבני הבניה המרכזיות כאשר המלט בניהן הם ה-Events של cairngorm, מחלקות דלגצייה עבור ה-Services, ו-ValueObjects עבור העברת מידע בין השכבות.

היריעה קצרה בכדי להסביר את Cairngorm עד תומו, ומניסיון, עד שלא ממש מטמיעים את ה"שיטה" פשוט לא מבינים אותה לגמרי. שורה תחתונה, האפליקציה הופכת למשהו הרבה יותר מסודר מבחינה לוגית, כך שבכל פעם שאני רוצה להוסיף "שירות" חדש, יש מספר צעדים פשוטים שאני כותב, ופוף! יש שירות חדש. מעבר המידע בין השכבות, יחד עם הכוח העצום של binding פשוט מאפשר גישה לנתונים בזמן אמת, כמעט מכל view הקשור ל-model מסוים. העדכונים ב-view נעשים בזמן-אמת בלי שום התערבות של סקריפט (כמעט כמו push בשרתים, בו המידע "נדחף" לקליינט בלי בקשה ספציפית ממנו).

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





כפי שאתם רואים, יש טאבים למעלה שאחראיים על התצוגה. אלו שלושה חלקים: Main שבו המשתמש יוכל לבצע את כל התרחישים השיגרתיים, Search שבו אפשרויות החיפוש ו-Settings שבו המשתמש יכול לקנפג את האפליקצייה (כמו כמות הפוסטים שתוצג, באיזה נושא, איזו שפה וכו'...).
בתמונה השניה ניתן לראות שפתיחת הפוסט נעשית ב-popup. לפי cairngorm הייתי יכול לפתוח אותו בכל צורה ופשוט לקשר אותו ל-ValueObject של הפוסט הנבחר (שנמצא במודל של האפליקציה) ע"י binding פשוט.
בכל מקרה, ברגע שאסיים, אעלה את זה לרשת, תוכלו לשחק עם זה.
אם יש שאלות בנוגע, אני אשמח לענות.

חג שמח.

October 06, 2006

FireFox -עוד סיבה לעבור ל

פשוט מאד – פלאגאין שנותן לקרא דרכו את ה-Output של פקודת trace הפנימית של ה-Flash IDE.
אני חושב שלא צריך להכביר במילים, זה יצמצם ויפשט עבורכם את הדיבוג.
אתם עדיין לא התקנתם?

October 04, 2006

פאר והדר בדוקמנטציה של פלקס

נכנס ל-help של פלקס בכדי לגלות עוד על הטמעת itemRenderer בעזרת as, מעתיק ו... כלום. Errors רצים לי על המסך כמו חבורת אצנים מקמבודיה. לאחר חיפוש טיפה יותר מעמיק גיליתי את העמוד האינטרנטי הזה.
קראו נא יחד איתי את ההערות למטה, נסו לצחוק ולא לרצות לחמש עדה של צ'רקסים מסורסים למסע נקמה באנשי הדוקמנטציה של אדובה... אני עדיין מנסה.
יום טוב.