AIR, cateva observatii
A aparut cu numele de Apollo apoi s-a transformat in AIR (Adobe Integrated Runtime). Pot sa spun ca initial am fost sceptic deoarece parea a fi doar o scurtatura. Scopul platformei este de a oferi programatorilor posibilitatea de a dezvolta aplicatii pentru desktop utilizand tehnologii dedicate dezvoltarii pentru web, adica HTML, JavaScript, Flash, Flex. Mi s-a parut ca incearca sa amestece merele cu perele, ca incurajeaza filozofia “quick and dirty”. Un alt motiv pentru care am fost sceptic este ideea de runtime. Adica trebuie sa instalez mai intai o aplicatie pentru a putea de fapt sa rulez aplicatia propriuzisa care trebuie si ea instalata.
Am fost insa surprins cand oarecum fortat fiind sa folosesc AIR, am descoperit ca dubiile mele initiale erau eliminate total sau partial. In primul rand la nivel de dezvoltare, Adobe pune la dipozitie atat un SDK ce poate fi folosit independent cat si un plug-in integrat in Flex Builder. L-am folosit pe acesta din urma si pot sa spun ca totul a mers snur de la prima linie de cod pana la export. Si asta in ciuda faptului ca am lucrat alternativ pe doua paltforme diferite, OS X si WinXP.
Un alt lucru care mi-a placut a fost modul de instalare, atat a runtime-ului cat si a aplicatiilor. Practic Adobe a cuplat cele doua procese astfel incat pentru un simplu utilizator e un singur pas. Daca ai AIR, iti instaleaza doar applicatia, daca nu, instaleaza AIR si aplicatia deasupra. Simplu, rapid, fara probleme, totul integrat intr-o capsula de Flash, in browser. Nu mi-a placut insa faptul ca dezinstalarea aplicatiei si a runtime-ului sunt procese oarecum confuze, ca dezvoltator nu ai optiunea de a genera un “uninstall”. Dar platforma e inca in BETA, deci poate ca acest lucru va fi remediat.
In ceea ce priveste ideea de “quick and dirty”, mai am inca dubii. Daca in Flex/ActionScript ai la dispozitie un limbaj de programare solid, care te cam obliga sa scrii cod elegant, in HTML/JavaScript e usor sa fii tentat sa o iei pe batatura si sa dai chiftele. Si mai e acea semi-delasare a dezvoltatorile de aplicati web, care se bazeaza pe faptul ca un “bug” poate fi eliminat in timp real, prin simpla actualizare a unui fisier pe server. In cazul aplicatiilor pentru desktop treburile stau altfel, daca utilizatorul a descarcat un produs defect, salut si la revedere pana la versiunea sau sub-versiunea urmatoare, daca se hotareste sa o descarce.
Aici mai intervine o problema. Testarea unei aplicatii de web difera mult fata de cum testezi o un produs pentru desktop. Majoritatea dezvoltatirilor de aplicatii web lucreaza in agentii care produc pentru Internet in exclusivitate. Daca isi doresc insa sa vanda aplicatii AIR, vor trebui sa isi modifice radical procesul de productie si mai ales de testare.
