![]() | ![]() |
![]() |
| ![]() |
| |||||||||||||||
Flash za programere
Adobe (ranije Macromedia) Flash je pre svega alat za dizajnere i animatore. Iako je u njemu moguće razviti i kompletnu web aplikaciju, taj posao je dosad, najblaže rečeno, bio mučan. U želji da promeni situaciju i Flash približi programerima, Macromedia razvija Flex Server 1.0 a ubrzo zatim i Flex Server 1.5. Flex Server je bio Java EE (Enterprise Edition) aplikacija koja je omogućavala generisanje Flash sadržaja na serveru. Sa njim u paketu dolazilo je pet licenci za prvu verziju Flex Buildera, razvojnog okruženja za izradu Flex aplikacija. Na taj način je prvi put od njegove pojave bilo moguće napraviti Flash prezentaciju samo korišćenjem programskog kôda. Iako je naišao na dosta pozitivnih ocena, Flex nikada nije zaživeo u potpunosti. Osnovni problem bila je previsoka cena koja je iznosila čitavih 15.000 dolara po procesoru na kojem se izvršava. Kada se uzme u obzir to da retko koji ozbiljan web server ima manje od dva procesora, a da ozbiljne web aplikacije koriste i po nekoliko servera, sasvim je jasno zašto je malo ko mogao sebi da priušti takav luksuz, pa Flex nije uspevao da dostigne veću popularnost. Kada je Adobe preuzeo kompaniju Macromedia, počinju velika ulaganja u dalji razvoj Flash tehnologije. Razvija se nova verzija Flash playera, znatno naprednija od svih prethodnih. Prvi proizvod koji je iskoristio sve prednosti nove tehnologije bio je Flex 2. Poučen greškama iz prošlosti, Adobe je odlučio da Flex približi znatno većem broju korisnika, pa je čitavu tehnologiju podelo na više komponenti po principu „za svakog ponešto”. Srž Flexa čini Flex SDK (Software Development Kit). U okviru njega dolazi sve što vam je potrebno za izradu Flex aplikacije. SDK se sastoji od kompajlera, debagera, frameworka (biblioteke klasa) i pomoćnih alata. Flex SDK uvodi u upotrebu dva nova programska jezika, MXML i ActionScript 3. MXML je proširenje standardnog XML-a i koristi se pre svega za definisanje izgleda korisničkog interfejsa. Prilikom kompajliranja, MXML se prvo prevodi u ActionScript, što znači da je aplikaciju moguće napisati i samo u AcrionScriptu, ali se upotrebom MXML-a razdvaja kreiranje interfejsa od programske logike. Na taj način programski kôd postaje pregledniji, samim tim ilakši za održavanje i izmene. ActionScript 3 je programski jezik zasnovan na specifikaciji ECMAScript. Sve što se definiše u MXML-u kontroliše se pomoću ActionScripta. Po sintaksi najsličniji je JavaScriptu, što ga čini bliskim velikom broju web developera. Flex SDK je u potpunosti besplatan. U okviru njega dolazi i izvorni kôd čitavog frameworka, a Adobe planira da do kraja godine čitav SDK prebaci u Open Source. Flex Builder je razvojno okruženje zasnovano na platformi Eclipse (o kojoj smo pisali u prošlom broju). Pošto je on glavni alat za izradu Flex aplikacija, biće detaljnije opisan naknadno. Live Cycle Data Services (ranije Flex Data Sevices) je komponenta Flexa namenjena pre svega velikim poslovnim (enterprise) korisnicima. To je deo koji je najviše nalik prvoj verziji Macromedia Flexa, i po načinu rada, a nažalost i po ceni. Iako sa sobom nosi neke stvarno izvanredne mogućnosti kao što su Flex messaging i data sinhronizacija, cena koja se kreće od šest do dvadeset hiljada dolara po procesoru čini ga nepristupačnim najširem broju (ovdašnjih) korisnika. Flex Data Visualization Package je skup komponenti namenjen vizuelnoj prezentaciji podataka. To je komercijalni paket koji košta oko 400 dolara, a u okviru njega dolaze AdvancedDataGrid i komplet Charting komponenti. AdvancedDataGrid služi za tabelarni prikaz podataka, a Charting komponente za generisanje različitih dijagrama. I ovaj proizvod je namenjen pre svega poslovnim korisnicima. Najveća prednost Flexa je što se aplikacije napisane u njemu izvršavaju u Flash plejeru. Pored toga što je Flash plejer ubedljivo najrasprostranjenija virtuelna mašina trenutno (preko 90% svih računara na Internetu već ima instaliran Flash player 9, a preko 98% ima Flash player 6 ili noviji), Flash aplikacije izgledaju i izvršavaju se identično, bez obzira na to koji browser ili operativni sistem koristite. Osnovni problem klasičnih web prezentacija, od čistog HTML-a do AJAX-a (vidi umetak u ovom broju) jeste to što među različitim browserima ne postoji standard po pitanju načina prikazivanja stranice ili podržanih JavaScript komandi i CSS tagova. To donosi dodatan posao i prilikom izrade i prilikom testiranja web aplikacije. U slučaju Flasha taj problem ne postoji, pa slogan koji je Sun osmislio za Javu a koji glasi „Write once, run everywhere” (piši jednom, pokreni svuda) i ovde može da se primeni u potpunosti. Bez obzira koliko dobro vaša aplikacija služila svrsi za koju je napisana, opšti utisak koji korisnik, to jest klijent stekne prilikom njene upotrebe može presudno da utiče na dalji uspeh. Aplikacija mora da bude vizuelno dopadljiva, intuitivna, a broj koraka da bi se neka radnja izvršila treba da bude sveden na minimum. Pojedine studije su pokazale da su određene web prodavnice prelaskom na AJAX uvećale broj ostvarenih prodaja čak do 30 posto – samo time što su eliminisale čekanje koje je bilo potrebno da se generiše i učita nova stranica posle određene akcije korisnika. Ovo je u Flexu podignuto na još viši nivo, pošto se čitava aplikacija učitava prilikom njenog startovanja, i jedino čekanje koje se javlja tokom upotrebe jeste onda kad je potrebno da se proslede ili preuzmu podaci od servera. Ovakav način rada, gde se deo aplikativne logike sa servera prebacuje na klijentski računar, može znatno da umanji troškove hostinga jer se smanjuje ostvareni protok i serversko opterećenje, što posebno dolazi do izražaja kod aplikacija koje dnevno obavljaju ogroman broj transakcija.
Pošto u potpunosti koristi sve prednosti koje donosi nova verzija Flash playera (ovo se pre svega odnosi na znatno unapređenu virtuelnu mašinu), brzina kojom se Flex programi izvršavaju bez premca je među web aplikacijama. Flash player 9 je skoro deset puta brži od prethodne verzije i znatno brži od JavaScripta. Ovo posebno dolazi do izražaja kada je potrebno prikazati i obraditi veliku količinu podataka. Takođe, Flash se već nametnuo kao standard za prikaz multimedijalnih sadržaja na Internetu, pa je veoma lako aplikaciju obogatiti audio ili video sadržajem bez korišćenja dodatnih tehnologija. Opšti utisak koji se stiče radom u Flex aplikaciji mnogo više podseća na korišćenje programa pisanih za desktop nego na web prezentaciju. Iako vizuelne komponente Flexa već same po sebi izgledaju veoma lepo, velika pažnja posvećena je njihovoj prilagodljivosti specifičnim zahtevima dizajna. Tako je izgled komponente moguće promeniti programski, korišćenjem CSS stilova ili izmenom skinova. Adobe intenzivno radi na integraciji Flexa sa svojim paketom proizvoda namenjenih dizajnu, tako da je već sad moguće definisati izgled aplikacije u Photoshopu ili Fireworksu i onda sve to izvesti u Flex radi dalje upotrebe. Osnovni nedostatak Flexa jeste veličina frameworka. U zavisnosti od komponenti koje koristite, veličina aplikacije se kreće od 150 kilobajta naviše. Time se znatno umanjuje upotrebna vrednost kada su u pitanju „male” aplikacije (kontakt i registracione forme, login ekrani itd.), ali što je veći broj kontrola koje se koriste, to veličina aplikacije sporije raste. Tako na primer Fauxto (www. Drugi problem nije vezan za sam Flex već za poimanje Flash playera kao medija za prikaz ozbiljnog internet sadržaja. Naime, godine zloupotrebe Flasha, prevashodno kao alata za izradu dosadnih animiranih banera, stvorile su određenu odbojnost prema svemu što se vezuje za ovaj program. Srećom, u poslednje vreme ova slika se menja, prevashodno zato što su Flex prihvatili veliki internet igrači kao što su Google i Yahoo. Sve prednosti koje Flash player i Flex framework nose sa sobom bile bi beskorisne bez kvalitetnog alata u kojem bi se pisale aplikacije. Svestan toga, Adobe je ovom problemu pristupio krajnje studiozno. Kao polazna osnova je izabran Eclipse, koji se nametnuo kao zrelo i ozbiljno razvojno okruženje prilagođeno daljoj nadogradnji. Flex Builder koristi sve pogodnosti koje pruža platforma Eclipse. Prva stvar koja se dešava po pokretanju setupa je instalacija Jave, koja se odigrava nezavisno od toga da li već imate instaliran JDK ili čak i ceo Eclipse. Na taj način možete da budete sigurni da će Flex Builder raditi, čak i ako u međuvremenu dođe do znatnih promena u okviru same Jave (kao što je prelazak iz Jave 5 u Javu 6). Nakon toga je potrebno izabrati tip instalacije. Ukoliko već imate instaliran Eclipse, možete instalirati samo Flex Builder plugin, u protivnom je tu takozvana stand-alone instalacija koja prvo instalira Eclipse pa zatim plugin. Instalacija ume da potraje, a ponekad se dešavalo da se (beta verzija) jednostavno zaglavi u nekom trenutku. Prekidanje i ponovno pokretanje instalacije uglavnom rešava problem.
Dok razvoj aplikacije bude napredovao, počeće da se pojavljuju greške koje nisu u vezi s kôdom već sa aplikativnom logikom i koje je zbog toga znatno teže otkriti. Tu na scenu stupa Flex Debugging. U slučaju greške do koje je došlo prilikom izvršavanja programa, ili na mestu koje vi definišete, izvršavanje se prekida i kontrola se vraća Flex Builderu, ali u perspektivi koja je prilagođena traženju i otklanjanju grešaka. U debug modu moguće je pregledati stanje aplikacije u memoriji zajedno sa vrednostima svih promenjivih u trenutku prekida, ili ručno izvršavati liniju po liniju kôda u potrazi za greškom. Flex profiling služi za pronalaženje i otklanjanje takozvanih uskih grla u kôdu i optimizaciju aplikacije. Ovo je opcija koja je tek uvedena u Flex Builder i čija je funkcionalnost u najmanju ruku ograničena. Međutim, ako se uzme u obzir da se radi o prvoj beta verziji Flex Buildera 3 i da se očekuju još dva međuizdanja do pojave stabilne verzije početkom sledeće godine, to se ne može uzeti za zlo. Uostalom, beta verzije i služe da se pronađu i otklone greške pre nego što finalni proizvod ugleda svetlo dana. Sa razvojem Flexa, Adobe je na velika vrata ušao u svet web aplikacija, kojim sada dominira neprikosnoveni AJAX. Sada se u bitku uključuju Sun i Microsoft sa svojim alternativama Flash playeru. Iako je Flash player prilično napredovao u poslednje dve godine, dodatna konkurencija je primorala Adobe da „doda gas” i u trenutku kad vi ovo čitate verovatno se već pojavila deseta generacija Flash playera. Kada su u pitanju web tehnologije, naredni period izvesno će da bude izuzetno zanimljiv, a najveće koristi od toga imaće upravo krajnji korisnici, kojima će opšti ugođaj prilikom korišćenja Interneta biti podignut na novi, znatno viši nivo. Đorđe RADAKOVIĆ | ||||||||||||||||||
![]()
![]()
|
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |