אפליקציות AIR הן אפליקציות שנכתבו בפלאש, פלקס או Html ומותקנות על המחשב (כמו אפליקציות רגילות),
אפליקציות AIR פועלות על גבי AIR Runtime, דבר המאפשר להן לפעול בכל מערכת הפעלה בה מותקן AIR Runtime.
קישור למידע נוסף על טכנולוגיית AIR באתר אדובי
התקנת אפליקציית AIR מבוצעת ע"י הורדת הקובץ ולחיצה כפולה עליו (כמו התקנת קובץ exe רגיל)
או ע"י התקנה ישירה מדף באתר אינטרנט.
התקנה ישירה מאתר אינטרנט
ההתקנה מבוצעת באמצעות קובץ פלאש שמופיע באתר. קובץ הפלאש יוזם את תהליך ההתקנה ע"י טעינת הקובץ הבא:
http://airdownload.adobe.com/air/browserapi/air.swf
ולאחר מכן קריאה למתודה installApplication (שנמצאת בתוך הקובץ שנטען) עם שני ארגומנטים: נתיב קובץ ההתקנה של האפליקצייה והגירסא המינימלית של AIR Runtime הדרושה להפעלת אפליקציית ה-AIR.
הסיבה שאדובי לא הטמיעו את הקוד של הקובץ air.swf בתוך נגן הפלאש היא מכיוון שקובץ זה עובר שינויים.
אם הקוד היה מוטמע בנגן הפלאש אז כל שינוי בקוד היה מצריך הורדת גירסא חדשה של נגן הפלאש,
בצורה הנוכחית אדובי יכולים לשנות את הקוד בקובץ air.swf בתדירות גבוהה, כל עוד הקובץ מייצא מתודות קבועות (כמו installApplication).
ע"י בדיקת הקוד ב-air.swf אפשר לזהות שההתקנות, הן של אפליקציית AIR והן של AIR Runtime מבוצעות באמצעות המחלקה ProductManager שנמצאת בתוך: adobe.utils package
בדקתי ב-Actionscript 3 API Reference כדי למצוא עוד נתונים על המחלקה:
http://help.adobe.com/en_US/AS3LCR/Flas ... etail.html
אבל המחלקה לא מתועדת.
ע"י שימוש ב-describeType אפשר לקבל פרטים על המחלקה כגון: המתודות, הפרמטרים, מחלקות הבסיס והמשתנים:
Using actionscript3 Syntax Highlighting
var description:XML = describeType(ProductManager);
trace(description);
trace(description);
Parsed in 0.029 seconds, using GeSHi 1.0.8.4
דוגמא לשימוש ישיר במחלקה, המבצעת התקנה של AIR Runtime או של אפליקציית AIR:
Using actionscript3 Syntax Highlighting
//Install Air Application
var App:ProductManager = new ProductManager("airappinstaller");
App.launch("-url http://desktop.ebay.com/release/eBayDes ... _6_361.air");
//Install Air 2.0 Runtime
var Air:ProductManager = new ProductManager("airinstaller2x0");
Air.download();
var App:ProductManager = new ProductManager("airappinstaller");
App.launch("-url http://desktop.ebay.com/release/eBayDes ... _6_361.air");
//Install Air 2.0 Runtime
var Air:ProductManager = new ProductManager("airinstaller2x0");
Air.download();
Parsed in 0.029 seconds, using GeSHi 1.0.8.4
קישור לאפליקציית הדוגמא (בפורמט Flash CS5)
קישור למאמר המקורי
חדשות