Promisiunile legate de uniformizarea codurilor software, astfel încât programele să ruleze pe orice maşină, datează de mai bine de 18 ani, de când Sun a lansat Java exact cu această idee. Împlinirea acelei promisiuni nu s-a realizat nici acum, dar dezvoltările de pachete software multi-platformă induse de fenomenul mobilităţii pare să constituie răspunsul mult aşteptat.
Problemele întâmpinate de transpunerea în faptă a promisiunii Sun de acum aproape două decenii au fost cele legate de chestiunile de performanţă, de lipsa de capabilităţi la folosirea codurilor pe alte maşini şi de generarea unor interfeţe utilizator care se potriveau prea puţin cu diferitele platforme pe care codurile respective rulau.
Cu şase ani în urmă, Apple a lansat iPhone şi, în anul următor, App Store, fapt care a permis dezvoltatorilor independenţi să lanseze aplicaţii pentru dispozitivul respectiv. Aplicaţiile pentru telefoane inteligente nu reprezentau un concept nou, doar că până la iPhone piaţa acestor aplicaţii era mică şi fragmentată prin comparaţie cu aplicaţiile pentru desktop-uri. Practic, iPhone a reinventat piaţa, astfel încât astăzi există o piaţă uriaşă pentru telefoane inteligente şi tablete – indiferent că este vorba de sistemul iOS de la Apple, Android de la Google sau de sisteme ale unor jucători mai mici precum Blackberry sau Windows Phone şi Windows 8.
Un alt factor intrat în această ecuaţie a fost creşterea în popularitate a desktop-urilor şi laptop-urilor Mac. Chiar dacă această creştere este evidentă mai ales pe piaţa americană şi mai puţin în Europa, nivelul ei agregat este suficient ca dezvoltatorii să se simtă motivaţi în a evita lucrul exclusiv la sistemele bazate pe Windows.
Necesitatea unui astfel de suport multi-platformă are şi va avea darul de a da dezvoltatorilor dureri de cap. Proiectarea de aplicaţii dedicate pentru fiecare platformă reprezintă idealul din punct de vedere al performanţelor şi nivelului de utilizare, dar întreţinerea unor echipe multiple de dezvoltare este costisitoare financiar. Bazele multiple de coduri fac întreţinerea mai dificilă şi apariţia de defecte mai frecventă. Ca atare, scrierea de cod care rulează pe platforme multiple este atrăgătoare din mai multe motive – doar că problemele care au afectat platforma Java acum 18 ani nu au dispărut încă.
Ce spun experţii
Tot mai mulţi sunt cei care susţin că alegerea de siguranţă pentru o aplicaţii pe platformă multiplă o reprezintă HTML 5. La înfiinţarea Grupului de Lucru pentru Web Hypertext Application Technology (WHATWG), în 2004, ca răspuns la progresele lente înregistrate de standardul oficial HTML “păstorit” de W3C (World Wide Web Consortium), motivaţia înfiinţării acestui organism a fost aceea de îmbunătăţire a HTML-ului pentru dezvoltarea de aplicaţii. În cele din urmă, rezultatul a fost adoptarea, în mare măsură, de către W3C, a muncii WHATWG sub denumirea de HTML 5.
Prin intermediul HTML, dezvoltatorii dispun de o gamă bogată de opţiuni. Aplicaţiile pot rula în browsere web sau, prin folosirea unui “ambalaj” subţire peste browserul incorporat în dispozitivele mobile, aplicaţiile HTML pot deveni aplicaţii native ale dispozitivului, cu instalare prin intermediul magazinelor de aplicaţii.
Unul din avantajele folosiriii HTML şi JavaScript este acela că există deja multe instrumente de suport pentru proiectare şi dezvoltare în cadrul tehnologiilor web. Unul din exemplele cele mai bine cunoscute din acest punct de vedere este Dreamweaver de la Adobe, care se integrează cu bibliotecile de aplicaţii pentru efecte interactive bogate.
La rândul lui, Intel sprijină HTML multi-platformă prin propriile instrumente, denumite generic XDK, în rândul cărora este inclus un serviciu construit pe bază de cloud. Mai mult, Intel lucrează la un instrument care portează codul Objective C din iOS în HTML şi JavaScript. De ce? Deoarece, conform declaraţiilor oficialilor acestui gigant, Intel socoteşte aplicaţiile bazate pe HTML ca o alternativă importantă la platformele “ferecate”.
HTML 5 este promiţător din punct de vedere al dezvoltărilor pe platforme multiple, dar nu reuşeşte (încă) să atingă performanţele codurilor native. Împachetarea HTML şi JavaScript sub formă de aplicaţii native duce, uneori, la nepotriviri între interfaţa utilizator de tip browser şi instalarea aplicaţiilor, ceea ce conferă o experienţă mai puţin plăcută pentru utilizatori decât în cazul aplicaţiilor cu adevărat native.
Unii furnizori exploatează astfel de insatisfacţii încercând să vină cu altfel de instrumente. Acest fapt nu arată decât că mai este ceva drum de parcurs până la încheierea lui. Activitatea febrilă din zona dezvoltărilor pe platforme multiple înseamnă alegeri greu de efectuat. Iar cel mai greu este şi va fi pentru dezvoltatori să-şi minimizeze riscurile. Aici un posibil răspuns este acela al construirii de servicii de back-up care să funcţioneze bine pentru clienţii de pe orice platformă, inclusiv web-ul, astfel deschizându-se calea răspunsurilor rapide la schimbările cerute de clienţi în cazul aplicaţiilor folosite de ei.
de Bogdan Marchidanu