INFINIUS

Flash ili Silverlight ili HTML5 ili JavaFX… Ili?

Free School Child's Hands Choosing Colored Pencils (unedited) Creative Commons
[Creative Commons Licensephoto credit: Pink Sherbet Photography]

Nedavno smo počeli s projektom koji bi pripadao u RIA kategoriju (“bogate” internet aplikacije), povećana interakcija s korisničke strane uz naravno uvjet čim manje uplitanje samog korisnika što se tiče instalacija na računalu. Do prije nekoliko mjeseci bi izbor bio poprilično lagan, no u međuvremenu su se dogodili iPhone/iPad, podrška za HTML5 u internet preglednicima i nove verzije Silverlighta. Tako da smo počeli s analizom…

Kandidati

  • Adobe Flash je ovdje već dugo i vjerovatno ga ne treba puno predstavljati, s obzirom na svoje mogućnosti je njegova upotreba na internetu vrlo široka
  • Microsoft Silverlight – novija tehnologija koja se oslanja na dot net te zastupljen naročito na Microsoft sustavima
  • Sun JavaFX – pojavio se u slično vrijeme kao i Silverlight, oslanja se na multiplatformsku podršku Jave kao glavni adut
  • HTML5 – nov HTML standard, nešto što sve više uzima maha, naročito svakim novim izlaskom preglednika

Zastupljenost na tržištu

Adobe Flash tu uvjereno vodi, uz sitne nedostatke na linuxu (smanjena dostupnost 64bitnih verzija) možete ga naći na gotovo svakom računalu… osim na mobilnim Apple uređajima. Apple je čvrsto stao iza odluke da neće podržavati Flash na iPhone/iPad i ostalim uređajima i ovo je nešto što se ne može zanemariti s obzirom na sve veći broj korisnika ovih uređaja.

Silverlight i JavaFX su relativno u zaostatku ovdje, što zbog relativno kratkog prisustva na tržištu (oko dvije godine), što zbog sve manjeg interesa za instalacijom dodatnih pluginova koji su potrebni (“ok, imam Flash plugin, što će mi sad još i ovo”).

HTML5 je nešto čije vrijeme tek dolazi. Iako podržan od većine novih preglednika (izuzetak je Internet Explorer, tj. podržan je u IE 9 inačici koja bi trebala biti dostupna …2011?) ovo je standard još u nastajanju te se može govoriti samo o podršci za veći ili manji dio trenutno definirane funkcionalnosti.

Podrška od strane korisnika

Na strani korisnika tj. korisnikovog preglednika je najdostupniji Flash – na gotovo bilo kojem pregledniku je, ako već i ne postoji, dosta samo kliknuti na “Instaliraj plugin” i Flash će biti moguće koristiti. S druge strane, zbog njegove zastupljenosti je i većini korisnika vrlo dobro poznat i lako će se odlučiti sami za ovaj postupak.

Silverlight i JavaFX? Ako tu i tamo sporadično vidite na nekoj stranici da vam nešto ne radi, prije će se dogoditi da jednostavno preskočite stranicu i potražite konkurenciju kod koje sve radi nego da iskoristite opciju “Instaliraj plugin kako bi sadržaj bio prikazan”.

Za HTML5 s druge strane nije potreban dodatan plugin – potreban je (naj)noviji preglednik. Kroz godinu-dvije čak ni ovo neće biti problem (osim naravno za ljude koji još uvijek koriste IE6) – svi preglednici će podržavati HTML5 out-of-the-box.

Funkcionalnost

Gledano po funkcionalnosti, svi kandidati su relativno blizu, s izuzetkom nekih specijaliziranih primjena. Najviše zaostaje HTML5 budući da se ne radi o direktnom pristupu kao samostalnoj aplikaciji unutar preglednika već o standardu za prikaz (ali i interakciju), no i ovo je rješivo uz malu pomoć Javascript-a.

Sigurnost i performanse

Iako Apple kao glavni nedostatak zašto je Flash isključen iz njegovih mobilnih uređaja navodi upitnu sigurnost aplikacija kao i preveliku potrošnju resursa, ovo više izgleda kao izgovor nego kao pravi razlog. Svi od navedenih kandidata su slično “nesigurni” i rastrošni što se tiče resursa – sve ovisi o programeru i njegovoj usredotočenosti na ove stvari (prenošenje lozinki kao čisti tekst je stvar lošeg programiranja, a isto tako će i pomicanje jedne točke po ekranu lijevo-desno zauzimati vrlo malo resursa neovisno o platformi, isto što će i zahtjevna 3D animacija sve usporiti).

Razvojno okruženje i podrška

Kad jednom znate raditi u nečemu, lakše je samo nastaviti pa čak kad i postoje možda bolje alternative – samo vrijeme prilagodbe na novu razvojnu okolinu i nabavka novih alata može biti dovoljan razlog da se te alternative zanemare.

Flash ovdje prednjači, 14 godina prisustva na tržištu je veliki broj razvojnih timova usmjerilo na ovu opciju, ali u puno većem zaostatku nisu ni Silverlight (dot net) a ni JavaFX (Java) budući da se radi o tehnologijama koje su se koristile i prije prelaska u RIA područje. HTML5 je pak ovdje u relativno čudnom položaju – svakom tko je ikada išta radio na internet razvoju je poznat HTML, a HTML5 je samo dopuna na prijašnje znanje.

Budućnost

Dio koji je vjerovatno najteže objektivno ocijeniti – kako sad izgleda HTML5 ovdje ima određenu prednost zbog sve veće primjene u preglednicima, ali naravno ni Adobe, Microsoft i Sun (tj. Oracle) neće vjerovatno tako lako prepustiti stvari slučaju. S druge strane, sve učestalije prepirke između “velikih” – Apple protiv Adobe-a, Microsoft protiv Sun-a i sl. samo dodatno utječu na slabljenje ovih opcija, dok se manje više svi slažu za uključivanje HTML5 standarda u svoje preglednike.

Odluka?

Nakon cjelokupnog pregleda i analize, naša odluka za gore spomenuti projekt je – HTML5+Javascript i Flash kao fallback (u slučaju da korisnikov preglednik još ne podržava HTML5 u mjeri koja je potrebna). Zašto? Najviše zbog budućnosti ali i ostalih gore navedenih točaka analize – djelomično i zbog prirode samog projekta (ovisno na čemu radite moguće je da će samo jedna od navedenih tehnologija ući u obzir – stoga i ova odluka prvenstveno počinje od korisnika krajnjeg produkta).

Ovo nije preporuka za ostale, svatko bi trebao odlučiti sam na osnovi prirode projekta i samih korisnika (operativni sustavi, mobilna upotreba?) za što da se odluči, nadamo se samo da će ovaj kratki prikaz pomoći u odluci i nekom drugome…

Svi komentari su dobrodošli, možda imate informacije koje bi pomogle drugima pri odluci – podijelite ih ovdje.




Tagovi: , , , , ,