joi, martie 28, 2024

Impasuri „cloud”

Tot frunzărind Internetul ca să aflu ce s-a mai petrecut în ultima vreme, am găsit un material interesant despre WebAssembly . Este un proiect care are cel puţin avantajul de a apărea la momentul potrivit; evident că succesul nu depinde doar de asta, dar măcar e un punct de pornire.

Am mai scris aici despre relativul impas la care propăvăduitorii „cloud”-ului  ajung inevitabil. Tehnologia web a fost de la început gândită ca o tehnologie client-server; în care majoritatea calculelor/prelucrărilor sau orice alte operaţii se fac pe server, iar operaţiile care se execută la client (în browser) sunt minimale. Ori, dacă ne gândim să mutăm în cloud aplicaţiile pe care de obicei le aveam pe computerul propriu, va trebui să executăm în browser operaţiuni destul de complexe. Să ne gândim de exemplu la aplicaţia Google Docs.

În această zonă opţiunile pentru dezvoltatori sunt nu numai limitate, dar şi destul de problematice. Există cele două tehnologii majore, Java şi .Net , care au fiecare avantajele şi dezavantajele lor, unele rezultate din controlul pe care îl au companiile care le deţin (Oracle şi Microsoft) şi temerile pe care dezvoltatorii le-ar putea avea relativ la politicile acestora. Oricum, aceste tehnologii nu sunt integrate în browser ci funcţionează ca plugin-uri, ceea ce ar putea ridica diverse probleme.

Singurul limbaj nativ disponibil în principalele browsere este interpretorul de JavaScript. Dar interpretorul de JavaScript a fost gândit de la început ca având un rol periferic ( să coloreze diferit opţiunea selectată sau să ne avertizeze când parolele nu se potrivesc) aşa că problema eficienţei limbajului nu s-a prea pus. Să lucrezi proiecte ample, cu colective mari în aşa ceva este iar destul de dificil. Nu în ultimul rând, fiind un limbaj interpretat, codul sursă este direct accesibil din browser; protejarea codului e practic imposibilă.

Sunt tot felul de artificii care se folosesc pentru a creşte eficienţa JavaScript, însă esenţialul nu prea poate fi schimbat: avem un limbaj interpretat, cu toate dezavantajele care rezultă din asta.

De aceea, dorinţa de a integra un interpretor binar în browser este cât se poate de firească. Însă sunt mai multe obstacole de trecut.

Mai întâi, trebuie ca cel puţin cei trei mari producători de browsere să fie de acord cu integrarea lui, şi mai ales cu integrarea aceluiaşi engine ( vremea când webdesignerii scriau javascript separat pentru IE şi Netscape/Firefox sperăm că a trecut). Evident, specificaţiile trebuie să fie publice, pentru a permite acest lucru.

În al doilea rând, dezvoltatorii înşisi trebuie să se pună de acord cu specificaţiile noului limbaj. Probabil că JavaScript este doar in extremis un punct de plecare; de atunci şi până acum cerinţele s-au schimbat.

În al treilea rând, trebuie ca proiectul să fie funcţional şi folosibil cât mai repede. Poate părea nepotrivit, dar cam aşa funcţionează tehnologia în zilele noastre. Un proiect care întârzie să fie lansat prea mult după momentul său de oportunitate, va eşua cu siguranţă, oricât de bun ar fi. Oamenii au nevoie de soluţii acum, mâine e prea târziu.  Din păcate, asta poate duce la aceleaşi probleme pe care le au Java şi .Net: versiuni incompatibile care vor face aplicaţiile dependente de o anumită implementare. Atâta vreme însă cât vorbim despre o tehnologie exclusiv „cloud” lucrurile ar trebui să fie oarecum mai simple: e problema furnizorului să îşi actualizeze tehnologia la nivelul versiunii curente a browserului (acesta deja se cam actualizează automat ); în cazul Java, de exemplu, putem avea şi aplicaţii desktop care ar putea să nu mai funcţioneze.

Bineînţeles, ar mai trebui şi un IDE , şi în general un mediu de dezvoltare, care să permită scrierea de programe complexe. În definitiv pentru programe simple avem deja JavaScript, la câteva linii de cod nu se simte diferenţa.

Și, evident, un pic de noroc. Neprevăzutul are şi el rolul lui în IT , care nu poate fi interpretat  de nici un assembler…

Distribuie acest articol

4 COMENTARII

  1. De obicei va citesc cu placere si interes dar de data asta…
    am citit de doua ori articolul ca sa inteleg ce vreti sa spuneti si tot n-am reusit. In afara de cateva constatari de adevaruri elementare, nimic. Bine ca ati pus link-ul http://arstechnica.com/information-technology/2015/06/the-web-is-getting-its-bytecode-webassembly/ ca sa aflu si eu ce v-a adus la masa de scris. Poate un rezumat al acelui articol ar fi fost mai folositor citititorilor decat o lamentare stearpa.

    • Ce sa va zic, nu a fost intentia mea sa para o lamentare… Avem niste idei noi grupate sub numele generic de cloud, care au devenit un fel de „mantra” mai ales pentru cei care nu se pricep – se si pompeaza mult in publicitate, intentia mea a fost sa prezint si dificultatile conceptului si modul in care se incearca depasirea lor folosind exemplul din articolul din ArsTehnica ( articolul e destul de scurt, nu cred ca avea sens sa il rezum, de asta l-am dat in link) . Daca nu a iesit prea bine… se mai intampla, poate data viitoare muza va fi mai generoasa :)

    • Articolul conţine o ştire: interpretor direct în browser; reacţia mea a fost: asta da chestie tare! pentru că, spre exemplu, va putea pune capăt instalărilor obositoare de soft de astăzi, şi vă dau un exemplu: cumpăraţi un program de contabilitate, peste un timp vreţi să schimbaţi PC pe care e instalat acel program – e un chin pentru utilizator acest transfer, al programului şi al bazei de date; dacă se normează programarea cloud, va fi un mare pas înainte.

      • Până la urmă cam asta e ideea. Dacă folosiţi Google Docs, de exemplu, aveţi o suită Office în browserul dumneavoastră, fără nici o instalare. Deci avem deja un interpretor în browser, acesta este javaScript. Insă este teribil de ineficient, pentru că lucrează direct cu limbaj de nivel înalt. Unii pun şi comentarii în cod :) E drept, între timp a mai fost optimizat, se poate şi comprima , se mai poate şi cache-ui, dar de la un moment încolo nu prea mai ai ce să faci, atingi limitele limbajului şi basta. În plus, îl cam poate şi citi oricine, deci dacă ai vreun algoritm patentat nu prea e convenabil să îl implementezi într-un asemenea limbaj. Tocmai de asta mi s-a părut interesant materialul. Ideea e destul de evidentă, ne trebuie un interpretor mai avansat; asta ştiam şi eu, dar e mult mai interesant când se implică şi producătorii de browsere, pentru că de ei (de consensul lor) depinde, până la urmă.

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.

Autor

Mihai Badici
Mihai Badici
Absolvent al Facultății de Electronică si Telecomunicații București ( 1991) Administrator de sistem cu peste zece ani de experiență cu specializari in sisteme de stocare si securitatea datelor. De asemenea a absolvit in 1996 Facultatea de Litere la Universitatea Bucuresti. In prezent, consultant IT independent, colaboreaza pe mai multe proiecte legate de infrastructura de date.

Sprijiniți proiectul Contributors.ro

Pagini

Carti noi

 

Cu acest volum, Mirel Bănică revine la mai vechile sale preocupări și teme de cercetare legate de relația dintre religie și modernitate, de înțelegerea și descrierea modului în care societatea românească se raportează la religie, în special la ortodoxie. Ideea sa călăuzitoare este că prin monahismul românesc de după 1990 putem înțelege mai bine fenomenul religios contemporan, în măsura în care monahismul constituie o ilustrare exemplară a tensiunii dintre creștinism și lumea actuală, precum și a permanentei reconfigurări a raportului de putere dintre ele.
Poarta de acces aleasă pentru a pătrunde în lumea mănăstirilor o reprezintă ceea ce denumim generic „economia monastică”. Autorul vizitează astfel cu precădere mănăstirile românești care s-au remarcat prin produsele lor medicinale, alimentare, cosmetice, textile... Cumpara cartea de aici

Carti noi

În ciuda repetatelor avertismente venite de la Casa Albă, invazia Ucrainei de către Rusia a șocat întreaga comunitate internațională. De ce a declanșat Putin războiul – și de ce s-a derulat acesta în modalități neimaginabile până acum? Ucrainenii au reușit să țină piept unei forte militare superioare, Occidentul s-a unit, în vreme ce Rusia a devenit tot mai izolată în lume.
Cartea de față relatează istoria exhaustivă a acestui conflict – originile, evoluția și consecințele deja evidente – sau posibile în viitor – ale acestuia. Cumpara volumul de aici

 

Carti

După ce cucerește cea de-a Doua Romă, inima Imperiului Bizantin, în 1453, Mahomed II își adaugă titlul de cezar: otomanii se consideră de-acum descendenții Romei. În imperiul lor, toleranța religioasă era o realitate cu mult înainte ca Occidentul să fi învățat această lecție. Amanunte aici

 
„Chiar dacă războiul va mai dura, soarta lui este decisă. E greu de imaginat vreun scenariu plauzibil în care Rusia iese învingătoare. Sunt tot mai multe semne că sfârşitul regimului Putin se apropie. Am putea asista însă la un proces îndelungat, cu convulsii majore, care să modifice radical evoluţiile istorice în spaţiul eurasiatic. În centrul acestor evoluţii, rămâne Rusia, o ţară uriaşă, cu un regim hibrid, între autoritarism electoral şi dictatură autentică. În ultimele luni, în Rusia a avut loc o pierdere uriaşă de capital uman. 
Cumpara cartea

 

 

Esential HotNews

contributors.ro

Contributors.ro este intr-o permanenta cautare de autori care pot da valoare adaugata dezbaterii publice. Semnaturile noi sunt binevenite cata vreme respecta regulile de baza ale site-ului. Incurajam dezbaterea relaxata, bazata pe forta argumentelor.
Contact: editor[at]contributors.ro