HTML5 vs. Flash vs. Silverlight vs. JavaFX

Există tot mai multe voci care se întreabă dacă ultima versiune (5) a limbajului HTML se va putea impune suficient de puternic în lumea RIA» pentru a ajunge să elimine de pe piață soluțiile deja tradiționale, bazate pe plugin-uri pentru browser.  Adică omniprezentul Adobe Flash, mai  puțin răspânditul dar puternicul Microsoft Silverlight și Sun JavaFX (aflat mai nou sub pălăria lui Oracle).

Tehnologiile HTML5 sunt standard industrial (spre deosebire de soluțiile bazate pe plugin-uri) și sunt promovate de nume grele ale Internetului cum ar fi Google, Apple și Mozilla (unele aspecte ale lui HTML5 au fost susținute chiar și de Microsoft). Iar un standard industrial este în mod clar preferabil unei soluții oferite de o singură companie, care ar putea la un moment dat să ia decizii nedorite, cum ar fi abandonarea produsului sau perceperea unei taxe pentru utilizarea în continuare a acestuia. Astfel de pericole nu ar exista în cazul unei platforme deschise, situație în care ar apărea o competiție reală între mai mulți furnizori, standardul fiind disponibil pentru implementare de către orice companie.

Reamintesc faptul că momentan HTML5 este doar parțial reprezentat în versiunile curente ale browserelor  uzuale și mai avem ceva de așteptat până când specificațiile complete ale HTML5 să fie implementate în totalitate. În orice caz el are fundamentele necesare pentru a oferi funcționalități similare cu Flash și Silverlight și poate reprezenta o amenințare și pentru JavaFX.

Succesul HTML5 în fața tehnologiilor bazate pe plugin-uri va depinde în mare măsură de cum vor reuși dezvoltatorii să-i valorifice potențialul. Va depinde atât de implementarea sa în browsere» cât și de ritmul în care vor fi dezvoltate aplicațiile web bazate pe HTML5 comparativ cu ritmul de evoluție al celorlalte tehnologii. Iar dezvoltatorii nu vor fi motivați să dezvolte aplicații HTML5 pe scară largă cât timp ele nu vor putea rula pe principalul browser de pe piață.

Spre deosebire de HTML5, care la ora actuală încă este cioara de pe gard, celelalte tehnologii bazate pe plugin-uri sunt vrabia din mână. Adobe, Microsoft și (fostul) Sun își justifică fiecare, într-un mod mai mult sau mai puțin pertinent, utilitatea propriei tehnologii.

Adobe avertizează asupra faptului că, în afară de timpul deloc neglijabil necesar pentru maturizarea soluțiilor HTML5, piața browserelor rămâne în continuare foarte fragmentată și încă există numeroase incompatibilități între ele, nereușindu-se eliminarea lor după atâția ani de coexistență de-a lungul cărora fiecare dintre browsere a trecut prin multe versiuni. Rămâne deci de văzut cât de uniformă va fi reprezentarea HTML5 în principalele browserele de pe piață, existând pericolul să se repete istoria Javascript-ului» .

Și Microsoft arată cu degetul înspre lentoarea cu care se mișcă fenomenul HTML5, subliniind că soluția lor, Silverlight, oferă deja de pe acum facilități mai avansate decât cele prevăzute de standardul HTML5, cum ar fi un model de programare mai bogat și mai rapid (C#), facilități 3D și facilități de rulare în afara browserului.

Iar tăticii lui JavaFX de la (fostul) Sun își laudă și ei odrasla, subliniind, ca și Microsoft, superioritatea ei față de HTML5 atât ca funcții oferite cât și ca performanță.

Comparativ cu celelalte tehnologii, Flash-ul are din start avantajul primului venit: cota de piață zdrobitoare și nivelul de maturitate la care a ajuns. Toate astea reprezintă handicapuri serioase pentru Silverlight-ul lui Microsoft, care, însă, a reușit să capteze atenția dezvoltatorilor prin facilitățile și performanța oferite de ultima versiune (3), comparativ cu rivalul său, Flash 10, pe care la ora actuală îl surclasează din mai multe puncte de vedere. Există convertoare online care permit conversia componentelor Flash în componente Silverlight, ceea ce accelerează creșterea bazei de componente Silverlight de pe piață.

În decursul istoriei sale, Microsoft a dezvoltat numeroase produse software, cele mai profitabile fiind seria sistemelor de operare Microsoft Windows și suita pentru birotică Microsoft Office. Adobe, pe de altă parte, s-a axat pe dezvoltarea de produse multimedia, cu un accent mai recent pe dezvoltare de RIA (Rich Internet Applications). După cum se vede, cele două companii nu au prea avut ocazia să se calce pe bătături, neavând chiar același teren de joacă. Asta, bineînțeles, până când Microsoft a invadat teritoriul lui Adobe prin crearea lui Silverlight sub forma unei  alternative la Flash.

Un aspect interesant este că Flash-ul a fost conceput inițial pentru a fi utilizat de web designeri în scopul de a include în paginile web elemente grafice în mișcare și un grad mai mare de dinamism și interactivitate, în timp ce Silverlight este destinat programatorilor, fiind astfel principial mai puternic prin faptul că permite generarea de componente similare cu aplicațiile desktop (deși pentru asta și necesită un volum mai mare de cunoștințe față de crearea unei componente flash folosite în web design). Totuși, Adobe a dezvoltat mediul Flex Builder care permite generarea componentelor Flash de către programatori folosind o abordare orientată pe obiecte» care utilizează limbajul MXML pentru aspectele descriptive și limbajul ActionScript pentru cele operaționale (legate de acțiunile care trebuie executate în diverse situații).

Cât despre JavaFX, este o tehnologie foarte nouă comparativ chiar și cu Microsoft Silverlight. Își are rădăcinile prin 2007, dar abia de vreun an, maxim doi se poate spune că e “pe piață”. JavaFX este o platformă pentru dezvoltarea aplicațiilor web bazate pe tehnologia Java – cei care au ceva vechime pe Internet probabil își amintesc de vremurile acum defunctelor appleturi Java aflate în vogă în anii 1990, dispărute de pe piață în momentul când n-au mai ținut pasul cu “concurența”. Prin JavaFX (și Java SE 6), compania Sun a încercat să recâștige terenul pierdut, dar întrebarea este dacă nu cumva e prea târziu. Fiind atât de tânără pe o piață deja saturată de concurență, va fi foarte greu pentru JavaFX să se impună într-un mod decisiv, dar cu toate astea are unele facilități interesante, cum ar fi drag-to-install» . Viitorul e cu atât mai tulbure pentru JavaFX cu cât compania Sun a fost proaspăt achiziționată de Oracle. Compania Sun a fost oricum criticată pentru faptul că în ultimii ani a cam lăsat platforma Java în derivă și să nu uităm că Java este încă un limbaj extrem de popular, deși a suferit un declin constant în ultimul deceniu. Iar Oracle este interesată mai mult de segmentul enterprise și software pe partea de servere. E puțin probabil că va fi interesată să investească masiv într-o platformă client-side care nu se bucură de o moștenire glorioasă, și asta mai ales în condițiile în care concurența e acerbă. Și cum JavaFX nu este open source, comunitatea open source nu-l va putea salva de la moarte în cazul în care imperatorul Oracle îi va arăta pumnul cu degetul mare orientat în jos.

Sisteme de operare suportate: Atât Flash, Silverlight și JavaFX rulează pe Windows 7/Vista/XP/2000, Windows Server 2003/2008, MacOS 10.1/10.5. Pentru Flash există de mai mult timp suport pentru Linux în timp ce pentru Silverlight abia de anul trecut (2009), prin intermediul Moonlight» . Suportul pentru Linux și OpenSolaris există și în JavaFX începând cu versiunea 1.2 apărută în iunie 2009. De fapt JavaFX rulează peste Java Virtual Machine (JVM), deci dacă JVM este disponibil pe sistem, ar trebui să funcționeze și JavaFX.

La partea de scripting Flash-ul folosește Action Script iar în Silverlight limbajul de scripting folosit în versiunea 1 era JavaScript dar în versiunea curentă poate fi ales din mai multe variante posibile, cum ar fi Visual C#.Net și Visual Basic.Net. Folosind C# și VB.Net pot fi valorificate toate facilitățile oferite de platforma .NET (…) a lui Microsoft.

Video și Audio: Flash suportă mai multe formate de compresie video: formatul original Sorenson Spark» , Screen Video (un format proiectat pentru screencast» ), Screen Video 2 și, începând cu Flash Player 9, formatul H.264/MPEG-4. Silverlight implementează pentru partea de video formatele WMV și WMA, iar începând cu Silverlight 3 știe și H.264/MPEG-4.

Accesibilitatea textului pentru SEO: Textul inclus într-o componentă Flash nu putea fi accesat de motoarele de căutare în scopul indexării, deci nu era SEO friendly, însă Adobe a făcut progrese în această direcție astfel ca textul să fie indexabil, iar motoarele de căutare au început să indexeze Flash-ul, mai exact Google și Yahoo. Iar Silverlight este descris de un format special de fișiere XML numit XAML (eXtensible Application Markup Language) care în esență este un format text, deci este ușor indexabil de motoarele de căutare. Aș mai remarca faptul că, din dorința de a-l pune la dispoziție într-o formă cât mai compactă XAML-ul Silverlight-ului este încapsulat în fișiere XAP care sunt comprimate. Cât despre JavaFX, răspunsul este negativ. Search engine-urile nu știu să indexeze content-ul JavaFX.

Performanță: Silverlight știe să valorifice capacitățile multicore ale procesoarelor moderne. Astfel, în timp ce Flash poate utiliza un singur core, Silverlight știe să utilizeze până la 8 core-uri. Uite mai jos un filmuleț interesant care ne ajută să ne facem o idee comparativă legată de performanțele diverselor tehnologii. Testele sunt realizate pe un Internet Explorer 8, care nu are onoarea de a se număra printre cele mai rapide browsere (a fost ales pentru testare fiind cel mai răspândit de pe piață – are o cotă de piață cam de 22.5% la nivelul lunii februarie 2010). În urmă testării, candidații au ieșit în următoarea ordine a performanței: Java Applet, Silverlight, Flash, JavaScript. Pagina folosită în clip pentru testare este http://www.3djam.com/roozz/Demo/Speed_demo.aspx iar testarea se face rulând în mod ciclic un procedeu matematic intensiv din punct de vedere computațional (e vorba despre obținerea tuturor numerelor prime mai mici decât 500000). Indicele de performanță este numărul de rulări ale acestei proceduri într-o secundă. Scopul testului este de a sublinia performanța aplicațiilor exe încapsulate în browser prin intermediul unui plugin comercial (Roozz plugin) pe care 3Djam încearcă să ne convingă să-l cumpărăm. Dar să n-o mai lungesc, uitați-vă și voi despre ce e vorba:

O estimare a gradului de penetrare a pieței de către tehnologiile RIA poate fi văzută aici. Flash a fost și rămâne în jur de 96%, Silverlight e în ascensiune puternică, în ultimele 6 luni înregistrând o creștere de circa 6% iar JavaFX profită de răspândirea largă deja existentă pentru Java Virtual Machine (puțin peste 80%).

În concluzie, în anii următori piața aplicațiilor web (Rich Internet Applications) va fi dominată în continuare de Flash-ul lui Adobe, iar ținând cont de calitățile certe ale lui Silverlight 3 lansat în vara lui 2009 și de versiunea 4 care deja bate la ușă, nu putem estima altceva decât o consolidare a poziției lui Silverlight pe piață, inclusiv pe cea a viitoarelor echipamente mobile cu Windows Phone 7, pentru că Microsoft a anunțat că noua generație de sistem de operare mobil va suporta Silverlight. Legat de JavaFX, nu ne așteptăm să amenințe la modul serios vreunul din ceilalți jucători de pe piață (asta dacă va supraviețui sub noul stăpân, Oracle), iar HTML5 va deveni o opțiune abia când suportul din browsere va fi definitivat, timp în care actualele tehnologii pot să evolueze frumos în continuare și nu exclud posibilitatea ca la momentul respectiv HTML5 să pară ușor depășit.

Share on Facebook
Share on LinkedIn

Rich Internet Applications = aplicații web asemănătoare ca aspect și funcționalitate cu aplicațiile desktopPowered by Hackadelic Sliding Notes 1.6.5
de exemplu este un handicap major faptul că Internet Explorer, (încă) regele browserelor dacă e să ne luăm după cota de piață de circa 60%, are implementarea HTML5 de departe cea mai precară dintre toate principalele browsere existente. Iar compania Microsoft nu se va simți foarte motivată să grăbească implementarea lui HTML5 în Internet Explorer din moment ce în sfera Rich Internet Applications încearcă să-și promoveze propria tehnologie, Silverlight.Powered by Hackadelic Sliding Notes 1.6.5
Implementarea Javascript în browserele curente prezintă diferențe adesea foarte supărătoare – o mare bătaie de cap pentru bieții programatori care încearcă să facă în așa fel încât rodul creației lor să arate la fel indiferent în ce browser este rulatPowered by Hackadelic Sliding Notes 1.6.5
Programarea orientată pe obiecte nu mai este doar o înșiruire de instrucțiuni grupate în rutine (cum era în programarea clasică), ci definește structuri de date numite obiecte, care corespund de obicei obiectelor din lumea reală, toate operațiile urmând să se execute în jurul  acestora. Modelul de programare orientat pe obiecte este deosebit de adecvat, printre altele, interfețelor grafice, care sunt esențiale în aplicațiile web (Rich Internet Applications).Powered by Hackadelic Sliding Notes 1.6.5
Facilitatea drag-to-install permite utilizatorului să “arunce” cu mouse-ul (drag&drop) un widget JavaFX din browser pe desktop și aplicația respectivă nu-și va pierde starea curentă chiar și după ce browserul este închis. Aplicația va putea fi relansată în execuție făcând clic pe pictograma care este creată automat pe desktop în urma operațiunii drag&drop la care m-am referit mai devreme.Powered by Hackadelic Sliding Notes 1.6.5
o implementare open source dezvoltată de Novell a platformei Silverlight. Moonlight s-a lansată în 2009 și a ajuns deja la versiunea 2.1 în februarie 2010, versiune care implementează funcționalitatea oferită de Silverlight 2, dar și câteva facilități oferite de Silverlight 3Powered by Hackadelic Sliding Notes 1.6.5
o variantă “mutantă” a lui H.263Powered by Hackadelic Sliding Notes 1.6.5
înregistrare video a imaginii afișate pe ecranul calculatoruluiPowered by Hackadelic Sliding Notes 1.6.5

Publicat în: Analize

Etichete:

Despre autor: Deși pare uneori cam supărat pe viață, de obicei se abține de la critici gratuite, preferând să publice cu preponderenţă analize obiective ale diverselor trenduri din IT. Cu toate că este o fire destul de agitată, totuși nu prea deschide gura decât când știe exact ce vorbește. După cum se poate vedea și din gravatarul lui, nu mai are toate țiglele pe casă... Umblă vorba prin sat că Şopârloiul şi TransMix ar fi una şi aceeaşi persoană.


Pingbacks

  1. [...] motorul de randare WebKit (similar cu cel folosit de către Safari) dar codul care execută JavaScript este diferit iar noua facilitate nu este funcțională în Safari (deși este activă în versiunea [...]

  2. [...] spune că Chrome-ul de astăzi este de trei ori mai rapid din punct de vedere al performanței JavaScript decât prima versiune din 2008. Acest câștig în viteză a forțat companiile rivale să lanseze [...]

  3. [...] a lansat un build experimental de Firefox 4 care integrează un nou engine JavaScript cu scopul de a se bate de la egal la egal în performanță cu IE9 și de a reduce distanța față [...]

Comentează




Dacă vrei să apară o poză la comentariul tău, fă-ți rost de un Gravatar.