Fără a traduce o prezentare şi fără a presupune că tu, cititorule, ai cunoştinţe despre programare, voi încerca să explic ce este Adobe Flex într-o manieră cât mai puţin academică şi lipsită de comparaţii cu alte medii. Sarcină dificilă de altfel, întrucât există o serie de termeni specifici şi standarde, care sunt necesari a fi explicaţi înainte de orice.
Dezvoltarea de aplicaţii (nu numai pentru web) a presupus întotdeauna existenţa unui echilibru între experienţa pe care acea aplicaţie o transmite utilizatorului şi durata de dezvoltare a respectivei aplicaţii. Să presupunem că o aplicaţie este dezvoltată rapid, în câteva zile, dar nu are funcţionalitatea pe care utilizatorii şi-ar fi dorit-o ; cu siguranţă, aceştia vor căuta o alternativă cu prima ocazie / aplicaţie apărută. [Notă: dezvoltarea rapidă de aplicaţii = RAD, Rapid Application Development.]
La cealaltă extremă, o aplicaţie ale cărei specificaţii indică o funcţionalitate peste aşteptări (măsurată în diverse moduri, de la look-and-feel până la resursele utilizate) este dezvoltată într-un interval de timp mult prea mare pentru piaţă, ceea ce duce în acelaşi loc ca şi primul caz: utilizatorii vor căuta o alternativă, poate nu atât de funcţională, dar în primul rând existentă.[Notă: look-and-feel pentru web poate fi considerat sinonim cu RIA, Rich Internet Application, oferind un grad de interactivitate şi de funcţionalitate similar aplicaţiilor de tip desktop.]
Echilibrul dintre RAD şi RIA nu poate fi găsit în mod absolut, întrucât fiecare aplicaţie are neajunsurile ei, derivate direct din complexitatea acesteia - în schimb, raportul dintre calitatea aplicaţiei şi timpul necesar pentru dezvoltare poate decide dacă un mediu de programare este soluţia optimă sau nu. Spre exemplu, dacă dezvoltarea unui produs ce administrează conţinut pentru un site de comerţ electronic durează 2 luni utilizând limbajul X (clasic, dar foarte răspândit, pentru care găseşti uşor programatori) şi doar două săptămâni utilizând mediul Y, cu siguranţă vom fi tentaţi să adoptăm a doua variantă. Mai mult decât atât, mediul Y - Flex în cazul de faţă - furnizează aplicaţii ale căror interfeţe încântă orice utilizator şi este capabil de funcţionalităţi fără precedent.
Trecând mai departe, mă voi orienta spre actorul principal, mediul unde aplicaţiile dezvoltate cu Flex prind viaţă. Executarea codului construit cu Flex cade în sarcina player-ului de Flash, după cum bănuiţi fiind foarte răspândit în lume, atât la nivel de număr de instalări cât şi la nivel de număr de platforme. E adevărat că nu odată vi s-a întâmplat să nu puteţi folosi o aplicaţie pentru că aveţi sistemul de operare w1 şi vă era necesar w2 (din aceeaşi sursă), rostind cuvinte necuviincioase la adresa unei persoane care trăieşte bine mersi în State?
Player-ul de Flash nu face diferenţa între sistemul w1 şi w2 (mai vechi şi mai nou). El poate funcţiona pentru generaţia w, eliminând astfel problemele compatibilităţii, atât de omniprezente în zilele noastre. Acoperirea celor mai importante sisteme de operare ale lumii, vă asigură că aplicaţia dezvoltată utilizând Flex va rula oriunde există un browser care suportă Flash.
La nivel de suport de date, există soluţii pentru toată gama de servere şi servicii, fără discriminare. Nu vă faceţi probleme, funcţionează şi fără baze de date, atunci când aveţi nevoie doar de nivelul prezentare (nu culegeţi date şi nu le stocaţi).
Înainte de a trece la explicaţii pentru programatori (inevitabil, nu?) să recapitulăm:
- rulează în player-ul de Flash, nu necesită alte instalări de software
- aplicaţiile se scriu foarte rapid
- oferă funcţionalităţi puternice, greu de simulat în alte medii
- suportă personalizare şi localizare (procedeul prin care mesajele din aplicaţii pot fi traduse în mai multe limbi)
- nu este necesar să existe suport special pe server pentru aplicaţiile dezvoltate cu Flex
- lucrează nativ cu conţinut XML (nativ = Flash player-ul are funcţii speciale)
- securitatea este asigurată de player
Dacă eşti programator, iată câteva lucruri care să te convingă să migrezi spre Flex:
- paginile de administrare de conţinut cresc văzând cu ochii - cât altele în 7, chiar 8;
- ai suport RPC standard, dar poţi găsi şi alternative dezvoltate în comunitate;
- paradigma impusă de SDK te va ajuta să faci OOP dacă încă “gândeşti” liniar;
- dacă te gândeşti să adopţi alte SDK-uri, comunitatea îţi oferă alternative şi design patterns cu livrare la domiciliu;
- vrei să ajungi să programezi în ActionScript 3 (sau vrei să foloseşti ceva făcut în ActionScript 3), dar acum ţi se pare prea complicat;
- generatorul de cod te va ajuta foarte mult: dacă ştii HTML, cu siguranţă te vei descurca cu uşurinţă să scrii aplicaţia “Hello world!” în Flex, fără să citeşti prea multă documentaţie;
- este strict, adică vei scrie cod mai bine, ocolind erorile date de conversii neaşteptate/din neatenţie;
- poţi să-ţi reprezinţi datele aşa cum iţi vine ţie bine, fără să ai de-a face cu restricţii;
- ai suport pentru lucrul cu XML nativ - se mişcă cu viteze ameţitoare - fără să simţi standardele e4x ca pe o greutate;
- ai componente puternice, customizabile şi sensibile la CSS; de câte ori nu te-ai gândit cât de greu este să faci design care să suporte “resize”?
- poţi dezvolta cu uşurinţă componente, nu numai pentru reutilizare de cod;
- poţi procesa imagini şi sunete, poţi face streaming video, te poţi juca cu webcam-urile;
- “ştie” socket-uri - există socket server-e open-source cu care poţi face aplicaţii real-time;
- ai suport pentru comunicaţie cu JavaScript şi poţi face lucruri nemaipomenite din acest motiv;
- dacă te hotărăşti, poţi scrie aplicaţii desktop folosind AIR; (AIR are suport pentru SQLLite, poate fi scris şi in JavaScript cu HTML şi multe alte avantaje printre care se numără şi un browser de web integrat);
- eu îmi aduc algoritmi complecşi (dar gata făcuţi) din JavaScript, modificând pe alocuri pe unde este imperios. Tu crezi că vei putea?
Sunt convins că am “uitat” să prezint multe argumente în lista de mai sus… Cu toate astea, nu te poţi face că nu pricepi, sau că nu te atrage un astfel de mediu : impune puţin şi oferă mult.

Comentarii recente