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, a devenit din ce în ce mai frecvent ca așa-numitele aplicații desktop să includă un site web cu câteva caracteristici native, cum ar fi notificări, acces la sistemul de fișiere și meniuri. Cea mai comună tehnologie care permite acest lucru se numește Electron și este folosit de câteva aplicații pe care s-ar putea să nu le suspectați, de exemplu aplicația de chat Discord și Microsoft Cod Visual Studio .
Electron facilitează dezvoltatorilor să lanseze o aplicație simultan pe Windows, MacOS și Linux, dar există dezavantaje pentru utilizatori. Aplicațiile electronice sunt imense, pentru un singur lucru. Slack, o aplicație de chat, ocupă 237 MB de spațiu pe hard disk pe Mac, iar consumul de memorie nu este nici scăzut. Ce ocupă toate aceste resurse? Și de ce utilizează dezvoltatorii ceva atât de ineficient?
Aplicațiile Electron sunt destul de ușor de realizat
Aplicațiile desktop sunt greu de realizat, mai ales dacă doriți ca acestea să fie pe mai multe platforme. Accesarea sistemului de fișiere funcționează diferit în Windows decât în Linux, de exemplu, iar notificările funcționează diferit pe 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 coduri atunci când este portat de la unul la altul.
Electron „rezolvă” acest lucru oferind o singură platformă care funcționează pe toate cele trei sisteme de operare majore pentru desktop. Aceasta înseamnă că dezvoltatorii pot scrie codul pentru lucruri precum notificările o singură dată și se așteaptă să funcționeze nativ pe fiecare sistem de operare. Chiar mai bine pentru dezvoltatori: totul poate fi construit folosind Javascript, HTML și CSS - tehnologii pe care oricine le codifică pentru web sunt foarte familiarizați.
Aplicațiile Electron vin cu destul de mult crom
Cum este posibil acest lucru? În parte, deoarece fiecare aplicație Electron include un browser web complet: Chromium, versiunea open source a Google Chrome . Acest lucru este inclus împreună cu instrucțiunile specifice platformei pentru a se asigura că totul se comportă exact așa cum se așteaptă dezvoltatorii pe toate sistemele. De aceea, versiunea desktop Slack ocupă peste 200 MB spațiu pe hard disk: cea mai mare parte a Chrome este inclusă acolo.
Fiecare aplicație Electron pe care o rulați este mai mult sau mai puțin o instanță completă a Chrome. În calitate de blogger Joseph Gentle Evidențiat , acest lucru este cu greu ideal:
Vă puteți gândi la Slack ca la un mic program javascript care rulează într-un alt sistem de operare VM (chrome), pe care trebuie să îl rulați pentru a conversa în mod esențial pe IRC. Chiar dacă aveți adevăratul crom deschis, fiecare aplicație electronică rulează propria copie suplimentară a întregii VM.
Deci, da, există dezavantaje pentru utilizatori. În primul rând, fiecare aplicație Electron pe care o descărcați include pachetul de Chromium și fiecare aplicație pe care o rulați execută o parte bună din codul respectiv. Aici nu există partajarea resurselor, așa cum se întâmplă cu aplicațiile native, ceea ce înseamnă că aplicațiile Electron vor ocupa mai mult spațiu și memorie pe hard disk decât o aplicație dezvoltată special pentru platforma dvs. Dacă performanța este ceva care vă interesează cu adevărat, poate doriți să evitați aplicațiile Electron.
Așteaptă, deci electronul este bun sau rău?
În acest moment, computerele sunt atât de puternice încât majoritatea utilizatorilor nici măcar nu vor observa cât de ineficiente sunt aplicațiile Electron. De fapt, marea majoritate nici măcar nu au auzit de Electron. Majoritatea colegilor mei nu au făcut-o și toți folosesc Slack în fiecare zi. Mulți au fost încântați să vadă o versiune pentru desktop a lui Trello și nu au avut din nou idee că este o aplicație Electron.
Și aceste aplicații chiar se integrează mai bine cu sistemul dvs. de operare mai bine decât site-urile web. Locuiesc în propria fereastră. Acestea oferă comenzi rapide de la tastatură excelente, notificări native și alte lucruri pe care nu le puteți face la fel cu doar un browser.
Și este un bun pariu că aplicații precum Slack, Trello și WordPress.com nu s-ar deranja să ofere o versiune desktop dacă Electron nu ar exista, concentrându-se în schimb pe versiunile pentru mobil și browser. Deci, întrebarea nu este dacă Electron este rău; este dacă aplicațiile Electron sunt mai bune decât nimic. Sunt dispus să spun da, dar oamenii rezonabili nu pot fi de acord. (Și hei, pentru acei oameni, există întotdeauna versiunea web.)