Dejan Katašić: FLASH I ACTIONSCRIPT, diplomski rad

Uvod

Protok podataka jeste razlog zašto medijalne mogućnosti prezentacije na Internetu nisu na nivou one koja se skladišti na CD-u. Dok CD može slobodno da sadrži kompleksne programe i nekomprimovane video i audio zapise, slike i velike količine tekstualnih podataka, na web prezentaciji (dalje: prezentaciji), uz uvažavanje ograničenog protoka, je “dozvoljeno” mnogo manje – toliko da posetilac može da primi informaciju koja mu se nudi u nekom, dovoljno kratkom, roku. Sa druge strane, raznovrsnost sadržaja koji se može naći na globalnoj mreži postavlja zahtev autoru prezentacije da pružena informacija omogući korisniku da prati tok informacija koji mu se nudi putem prezentacije. Korisnik takođe ima svoje zahteve: želi “što više – to bolje” u roku “što brže – to bolje”; a ukoliko mu se po tom kriterijumu ne izađe u susret, jednostavno će krenuti da zadovoljava svoje potrebe na nekoj drugoj lokaciji, na nekoj drugoj prezentaciji.

Problematika kreiranja HTML prezentacije

Autor mora da ima na umu da sadržaj web stranice (osnovne celine u prezentaciji) bude čitljiv na očekivani način od strane web-browsera koji posetilac koristi. Međutim, ovo je osnovni kamen spoticanja pri kreiranju i dizajniranju stranice putem klasičnog HTML pristupa jer sam prikaz stranice zavisi od mnogo faktora: koji tip browsera se koristi i koja verzija na kom operativnom sistemu, da li su fontovi koji se specificiraju na stranici instalirani na računaru posetioca, koju ekransku rezoluciju koristi posetilac...

HTML – standardizacija i konkurencija

Jezik HTML predstavlja jezik za opis podataka za prikaz sadržaja stranica web prezentacije. Cilj jezika je da omogući predstavljanje različitih sadržaja posetiocu prezentacije na način koji osmisli autor. Da bi se tome izašlo u susret, oktobra 1994. osnovan je web konzorcijum (www.w3c.org), čiji zadatak je da se na svetskom nivou stara o standardizaciji protokola, jezika i tehnologija od značaja za razvoj svetske mreže. Tako je, na primer, jedan od njihovih dokumenata i specifikacija jezika HTML, zvanično u nazivu preporuka(umesto specifikacija). Dokument sadrži opis elemenata jezika i načine upotrebe.

Upoznavanjem sa specifikacijom, autor bi trebalo da bude u stanju da, prateći preporuku, sprovede svoje ideje u projekat prezentacije i omogući na taj način da posetilac prezentacije može da vidi stranice projekta koje izgledaju tačno onako kako je autor osmislio.

U praksi, čitače HTML strana, koji su poznatiji pod nazivom web-browseri, proizvode različite kompanije čiji cilj je, pre svega, osvajanje tržišta i, kao posledica toga, ostvarenje profita. Stoga kompanije nude tržištu verzije programa koje zadovoljavaju one aspekte jezika, koje sama kompanija smatra za bitne ili koje jeste uspela da realizuje, istovremeno nudeći neka druga rešenja čime se stiče prednost u odnosu na konkurentske kompanije i njihove programe.

Ovakva stvarnost autoru prezentacije stvara samo probleme. Autor mora poznavati tačno šta koja verzija kog programa može da pruži, ukoliko i dalje želi da obezbedi posetiocu svoje prezentacije prezentovanje sadržaja na željeni način. Iako savremeni programi za kreiranje web prezentacija poseduju određenju bazu znanja o ovoj problematici, krajnji rezultat je: ili povećanje količine podataka za opis sadržaja (zbog raznih ispitivanja o browseru klijenta i kreiranja različitih rešenja za isti prikaz), ili optimizacija sadržaja za pojedine browsere (čime se oštećuju posetioci koji koriste ostale), ili korištenje najjednostavnijih elemenata jezika, podržanih od svih browsera (gubi se atraktivnost naprednih elemenata).

Dobra ilustracija autorske muke jeste mogućnost korištenja klijentskih skript jezika u okviru HTML stranica. Ovi jezici omogućavaju dodavanje različitih efektnih rešenja za proširenje funkcionalnosti stranice kao, na primer, poboljšanje navigacionog sistema. I opet novi problemi: jezik VBScript prepoznaće samo Internet Explorer, a mogućnosti JavaScripta (u Internet Exploreru JScript) zavise od modela dokumenta koji poznaje posmatrana verzija posmatranog browsera. Znači, skriptuje se u JavaScriptu a “univerzalnost” se obezbeđuje sledećom konstrukcijom (pseudokod):

ako je Netscape

      ako je verzija manja od 4

            //    radi ovo

      inače

            ako je verzija 4.x

                  //    ovo za 4.x

            inače //    verzija je 6

                  //    i tada radi ovo

inače //    nije Netscape, znači IE

      ako je verzija....

Rezultat je različita realizacija istih zadataka u različitim uslovnim granama. Umanjuje se preglednost koda, povećava se veličina fajla, produžava se vreme učitavanja stranice, povećava se količina podataka koja klijentu nije od koristi...

Bitmapirana grafika

Grafički fajlovi – fotografije, crteži, navigacione slike i drugo, na HTML stranici najšire su prisutni u dva formata - .jpg i .gif. To nije slučajno, jer najbolje odgovaraju zahtevu da pruže što više informacija u što manjem fajlu. Jer, stranica je učitana tek onda kada su učitani svi njeni elementi. Znači da ukupna količina podataka, koja treba da stigne do klijenta da bi browser mogao ispravno da prikaže stranicu, nije manja od zbira veličina fajlova svih elemenata stranice. Takođe, svaki element putuje po posebnom zahtevu, što uslovljava određena kašnjenja u komunikaciji klijenta i servera i produžava vreme učitavanja. Keširanje elemenata koji se ponavljaju na različitim stranicama jeste od pomoći, ali ne i pri prvom pristupu prezentaciji (prva stranica jeste najbitnija u odluci posetioca hoće li ostati ili odustati od posete).

Animacija

Klasični video formati neprimenljivi su za primenu na Internetu zbog veličine zapisa fajlova. Iako je sve raširenija upotreba tipova zapisa koji koriste velike stepene kompresije podataka, ona ne obezbeđuje prikaz u realnom vremenu preko globalne mreže. Pojava streaming formata zapisa dozvoljava prikaz pre skidanja kompletnog fajla, mada je realno primenljiva samo pri korištenju zapisa manjih dimenzija (u pikselima) i na delovima mreže koji mogu da obezbede potreban protok za prikaz.

Interakcija na HTML strani ograničena je na elemente formulara i klijentsko skriptovanje sa ograničenom grafičkom kontrolom nad elementima stranice, a konkretna promena sadržaja stranice jeste odlazak na drugu stranicu (novi zahtev serveru)

Odgovor: Flash

Flash je proizvod kompanije Macromedia čiji se fajlovi (filmovi) sa ekstenzijom .swf prikazuju u web-browseru putem plug-in dodatka. Flash plug-in Player je razvijen i razvija se za sve vodeće platforme (procesor + operativni sistem + browser). Format .swf je u formi open-source što omogućava njegovo brže i raširenije prisustvo u svetskim razmerama. Na naslovnoj stranici prezentacije firme Macromedia najsvežiji podatak je da 98.3% korisnika Interneta poseduje ovaj dodatak. Ovo praktično govori da Flash jeste postao standard u svetu globalne mreže i, uz činjenicu da većina novijih browsera pri samoj instalaciji postavljaju ovaj plug-in u svoje okruženje, da onaj “ostatak” uglavnom predstavljaju korisnisnici zastarelih verzija programa koji ionako ne mogu da udovolje zahtevima savremenih prezentacija.

Nezavisnost od platforme

Znači, svaki posetilac koji poseduje Flash Player ima mogućnost da pogleda .swf film jer ne zavisi od platforme sa koje pristupa fajlu. Dalje, postoji mogućnost da se svi fontovi potrebni za prezentaciju u Flashu uključe u dokument, tako da izgled ne zavisi ni od fontova instaliranih na računaru. Svi grafički elementi u Flashu, pa i fontovi, su vektorski opisani (ako se izuzme mogućnost uvoza bitmapiranih slika) tako da je moguće skaliranje celog filma prema prozoru browsera odnosno – nema zavisnosti od ekranske rezolucije.

Kako Flash ne zavisi od platforme, konstrukcije ispitivanja okruženja zbog prilagođenja prikaza nisu potrebne – svaka  realizacija prikaza radi se tačno jednom.

Vektorska grafika

Opis vektorske grafike je jednostavan i nema gubitka podataka jer nema ni kompresije. Film je u jednom fajlu tako da server obrađuje samo jedan zahtev pri slanju filma klijentu. Ukupna veličina .swf fajla je manja od analogno tome rađene HTML stranice. I sledeće: Flash film može da počne da se prikazuje odmah po učitavanju prvih kadrova filma, pre nego što se kompletno učita kod klijenta.

Animacija i interakcija

Flash fajl naziva se film zbog mogućnosti animacije, osnovne prednosti na Internetu u odnosu na sva druga ponuđena rešenja.

Primer: animacija kvadrata koji se rotira po nekoj putanji i pritom menja svoju veličinu, pamti se kao objekat opisan pozicijom nekoliko tačaka, početnom i krajnjom pozicijom objekta, faktorom slaliranja objekta i parametrom broja okretaja tokom animacije. Ceo taj opis može biti smešten u desetak bajtova, bez obzira na veličinu kvadrata i broj slika koje učestvuju u celoj animaciji. Realizacija iste ove animacije u bitmapiranom svetu je niz potrebnog broja slika (dužina animacije), od kojih svaka slika kompletno opisuje sadržaj boje svojih tačaka (broj tačaka zavisi od dimenzija – širina puta visina) ili promenu sadržaja u relaciji na prethodnu sliku. Znači, dimenzije animacije i njena dužina značajno utiču na veličinu zapisa animacije.

Jedan od elemenata Flasha su objekati koji mogu da reaguju na određene događaje, među kojima i su korisnikove akcije unosa putem tastature ili akcije miša, koji dalje mogu da uslovljavaju dalje ponašanje u filmu. Kompletan sadržaj filma u Flashu može se menjati, kao odgovor na korisničke akcije, bez potrebe za dovlačenjem sadržaja sa servera, jer se celokupni sadržaj može se nalaziti u okviru samog filma. U okviru Flasha se za upravljanje kontrolom filma koristi jezik ActionScript, kome je u okviru ovog rada posvećena posebna pažnja.


 

vrh strane