Ați observat că o mulțime de aplicații desktop noi seamănă destul de mult cu site-urile web? Nu este imaginația ta.
De la Trello la Slack, de la WordPress.com la Github, devine din ce în ce mai frecvent ca așa-numitele aplicații desktop să cuprindă un site web cu câteva caracteristici native, cum ar fi notificările, accesul la sistemul de fișiere și meniurile. Tehnologia cea mai comună care permite acest lucru este numită Electron și este folosită de câteva aplicații pe care nici măcar nu le suspectați, cum ar fi aplicația de chat Discord și Microsoft Visual Studio Code.
Electron-ul îi ușurează pe dezvoltatori să lanseze simultan o aplicație pe Windows, MacOS și Linux, dar există și dezavantaje pentru utilizatori. Aplicațiile electronice sunt uriașe, pentru un singur lucru. Slack, o aplicație de chat, ocupă un spațiu pe hard disk de 237 MB, iar consumul de memorie nu este scăzut. Ce anume iau toate resursele astea? Și de ce dezvoltatorii folosesc ceva atât de ineficient?
Aplicațiile desktop sunt greu de făcut, mai ales dacă doriți ca acestea să fie cross-platform. Accesul la sistemul de fișiere funcționează diferit în Windows decât în Linux, de exemplu, iar notificările funcționează diferit în MacOS decât în Windows. Acest lucru înseamnă că oricine dorește să scrie o aplicație pentru toate cele trei sisteme de operare desktop (sau chiar două dintre ele) trebuie să re-scrie o mulțime de cod atunci când pornesc de la unul la altul.
Electronul "rezolvă" acest lucru oferind o singură platformă care funcționează pe toate cele trei mari sisteme de operare desktop. Acest lucru înseamnă că dezvoltatorii pot scrie codul pentru notificări o singură dată și se așteaptă ca acesta să funcționeze în mod nativ în fiecare sistem de operare. Chiar mai bine pentru dezvoltatori: totul poate fi construit folosind tehnologii Javascript, HTML și CSS oricine codifică pentru web este foarte familiarizat cu.
Cum este posibil acest lucru? În parte, pentru că fiecare aplicație Electron cuprinde un browser web complet: Chromium, versiunea open source a Google Chrome. Acesta este asociat împreună cu instrucțiunile specifice platformei, pentru a se asigura că totul se comportă exact așa cum așteaptă dezvoltatorii în toate sistemele. De aceea, versiunea desktop a Slack ocupă un spațiu pe hard disk de peste 200MB: cea mai mare parte a Chrome este inclusă acolo.
Fiecare aplicație Electron pe care o executați este mai mult sau mai puțin o instanță completă a browserului Chrome. După cum a subliniat bloggerul Joseph Gentle, acest lucru nu este ideal:
Vă puteți gândi la Slack ca pe un mic program javascript care rulează în interiorul unui alt sistem de operare VM (crom), pe care trebuie să-l rulați pentru a discuta esențial pe IRC. Chiar dacă aveți adevăratul crom deschis, fiecare aplicație electronică rulează o copie suplimentară a întregului VM.
Deci, da, există dezavantaje pentru utilizatori. Mai întâi, fiecare aplicație electronică pe care o descărcați bundle cea mai mare parte a cromului și fiecare aplicație pe care o executați execută o bucată bună a acelui cod. Nu există nici o partajare a resurselor aici ca și în cazul aplicațiilor native, ceea ce înseamnă că aplicațiile electronice vor ocupa mai mult spațiu pe hard disk și memorie decât o aplicație dezvoltată special cu platforma dvs. în minte. Dacă performanța este ceva care vă interesează cu adevărat, este posibil să doriți să evitați aplicațiile electronice.
În acest moment, computerele sunt atât de puternice încât majoritatea utilizatorilor nu vor observa nici măcar cât de ineficiente sunt aplicațiile electronice. De fapt, marea majoritate nu au auzit nici măcar despre Electron. Cei mai mulți dintre colegii mei nu au avut, și toți folosesc Slack în fiecare zi. Mulți erau încântați să vadă o versiune de desktop a lui Trello, iar din nou nu avea idee că era o aplicație Electron.
Și aceste aplicații într-adevăr se integrează mai bine cu sistemul dvs. de operare mai bine decât site-urile web. Locuiesc în fereastra lor. Acestea oferă comenzi rapide de la tastatură, notificări native și alte lucruri pe care nu le puteți face în același mod doar cu un browser.
Și este un pariu bun că aplicații precum Slack, Trello și WordPress.com nu ar deranja să ofere o versiune desktop dacă Electron nu exista, concentrându-se în schimb pe versiunile mobile și de browser. Deci, întrebarea nu este dacă Electronul este rău; este dacă aplicațiile electronice sunt mai bune decât nimic. Sunt dispus să spun da, dar oamenii rezonabili pot să nu fie de acord. (Și hei, pentru acei oameni, există întotdeauna versiunea web.)