joi, ianuarie 28, 2021

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

Please enter your comment!
Please enter your name here

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.

Colectia Contributors.ro

Contributors.ro propune autorilor săi, acum, la sfârșit de an, trei întrebări despre anul 2020 si perspectivele României în viitorul apropiat. Cele trei întrebari sunt:

1. Care este evenimentul anului 2020 cel mai pe nedrept trecut cu vederea de media și de opinia publică? 

2. Care este cea mai interesantă idee a anului 2020?

3. Care e cea mai mare temere pe care o aveți pentru viitorul României si care e cea mai mare speranță? 

Esential HotNews

E randul tau

Observ cu uimire că invocați, ca reper intelectual creștin, cartea lui Noica, „Rugaţi-vă pentru fratele Alexandru”. Și cumva indirect îi reproșați lui Gabriel Liiceanu un soi de trădare a acestui crez ( „am neplăcuta senzaţie că mă aflu ȋn faţa unui tată care şi-a abandonat, simbolic, copiii”). Mă tem că tocmai această carte a lui Noica este o trădare a suferinței victimelor de: Cristina Cioaba la Dincolo de Isus. Gabriel Liiceanu şi portretul României religioase

Carti recomandate de Contributors.ro

 

 

 

Top articole

Occidentul și Sfânta Imbecilitate

Nu sunt un expert nici în economie și nici în politică, dar unul din lucrurile pe care cred că le înțeleg din...

Parada dascălilor

Prin 2004 – 2005 mergeam mult pe munte cu un amic care se credea foarte deștept. Poate și era; poate. Eu tot...

Când moașa, chirurgul, șamanul și psihiatrul împărtășesc aceleași temeri asupra vaccinului…

”Într-o țară în care prevalența vaccinării este ridicată - scria undeva C.A. Siegrist, un renumit pediatru și vaccinolog elvețian- e dificil să...

Despre ceea ce este firesc și necesar. Cazul Sorin Lavric

Într-o însemnare din ultimul său jurnal publicat (2001-2002), Monica Lovinescu observa una dintre trăsăturile definitorii ale presei autohtone: Ziua și știrea. Nimic...

Democrația este pentru zei. Nu trebuie să ne surprindă faptul că oamenii nu o pot menține

„De ce eșuează democrațiile?” Am auzit această întrebare de multe ori în ultimii ani, în cărți, în paginile de...

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

MIHAI MACI – Cel de-al doilea volum din Colectia Contributors.ro

„Atunci când abdică de la menirea ei, școala nu e o simplă instituție inerțială, ci una deformatoare. Și nu deformează doar spatele copiilor, ci, în primul rând, sufletele lor. Elevul care învață că poate obține note mari cu referate de pe internet e adultul de mâine care va plagia fără remușcări, cel care-și copiază temele în pauză va alege întotdeauna scurtătura, iar cel care promovează cu intervenții va ști că la baza reușitei stă nu cunoașterea, ci cunoștințele. Luate indi­vidual, lucrurile acestea pot părea mărunte, însă cumulate, ele dau măsura deformării lumii în care trăim și aruncă o umbră grea asupra viitorului pe care ni-l dorim altfel.” – Mihai Maci Comanda cartea cu autograful autorului. Editie limitata.