1Jul

Hvad er elektron apps, og hvorfor har de været så almindelige?

click fraud protection

Har du bemærket mange nye desktop applikationer ser stort set ud som hjemmesider? Det er ikke din fantasi.

Fra Trello til Slack, fra WordPress.com til Github, er det blevet mere og mere almindeligt for såkaldte desktop applikationer at kombinere et websted med nogle få indfødte funktioner som meddelelser, filsystemadgang og menuer. Den mest almindelige teknologi, der gør det muligt at kalde dette, kaldes Electron, og det bruges af nogle få applikationer, som du måske ikke engang har mistanke om, ligesom chatprogram Discord og Microsofts Visual Studio Code.

Electron gør det nemt for udviklere at frigive en app samtidigt på Windows, MacOS og Linux, men der er ulemper for brugere. Elektron applikationer er enorme, for en ting. Slack, en chat-applikation, optager 237 MB harddiskplads på min Mac, og hukommelsesforbruget er heller ikke lavt. Hvad tager alle disse ressourcer op? Og hvorfor bruger udviklerne noget så ineffektivt?

Electron Apps er ret nemt at lave

Desktop applikationer er svært at lave, især hvis du vil have dem til at være cross-platform. Adgang til filsystemet fungerer forskelligt i Windows, end for eksempel i Linux, og meddelelser fungerer forskelligt på MacOS end i Windows. Det betyder, at alle, der ønsker at skrive en ansøgning til alle de tre desktop-operativsystemer( eller endda to af dem), skal omskrive en masse af deres kode, når de overføres fra den ene til den anden.

instagram viewer

Electron "løser" dette ved at tilbyde en enkelt platform, der fungerer på alle tre større desktop-operativsystemer. Dette betyder, at udviklere kan skrive koden til ting som meddelelser en gang og forventer, at det fungerer indbygget på alle operativsystemer. Endnu bedre for udviklere: Alt, der kan bygges ved hjælp af Javascript, HTML og CSS-teknologier, som alle koder for internettet, er meget bekendt med.

Electron Apps Kom med stort set hele krom

Hvordan er det muligt? Til dels fordi hver Electron app bundter en komplet webbrowser: Chromium, open source-versionen af ​​Google Chrome. Dette er bundtet sammen med de platformspecifikke instruktioner for at sikre, at alt opfører sig nøjagtigt som udviklere forventer på alle systemer. Det er derfor, at desktopversionen af ​​Slack tager op over 200 MB harddiskplads: Det meste af Chrome er bundtet derinde.

Hver Electron app du kører er mere eller mindre en fuld forekomst af Chrome. Som blogger Joseph Gentle påpegede, er dette næsten ikke ideelt:

Du kan tænke på Slack som et lille javascriptprogram, der kører inde i et andet operativsystem VM( chrome), som du skal køre for at kunne snakke om IRC.Selvom du har den rigtige krom åben, kører hver elektronik app sin egen ekstra kopi af hele VM.

Så ja, der er ulemper for brugere. Først og fremmest downloader hver enkelt elektron-applikation bundter det meste af Chromium, og hver applikation, du kører, udfører en god del af den pågældende kode. Der er ingen deling af ressourcer her, som der er med indbyggede applikationer, hvilket betyder, at elektron apps vil tage mere plads på harddisken og hukommelse end en applikation udviklet med din platform specifikt i tankerne. Hvis ydeevne er noget, du virkelig bekymrer dig om, kan du undgå elektronprogrammer.

Vent, så er elektron godt eller dårligt?

På dette tidspunkt er computere så kraftfulde, at de fleste brugere aldrig engang vil se, hvordan ineffektive elektronprogrammer er. Faktisk har det store flertal aldrig engang hørt om Electron. De fleste af mine kolleger havde ikke, og de bruger alle Slack hver dag. Mange var begejstrede for at se en desktop version af Trello komme ud, og igen havde ingen anelse om, at det var en Electron app.

Og disse apps integrerer virkelig bedre med dit operativsystem bedre end hjemmesider. De bor i deres eget vindue. De tilbyder fantastiske tastaturgenveje, indgående beskeder og andre ting, du ikke kan gøre på samme måde med bare en browser.

Og det er en god indsats, at applikationer som Slack, Trello og WordPress.com ikke ville genere at tilbyde en desktop version, hvis Electron ikke eksisterede, fokuserer i stedet på mobile og browser versioner. Så spørgsmålet er ikke, om Electron er dårlig;det er om elektron applikationer er bedre end ingenting. Jeg er villig til at sige ja, men rimelige mennesker kan være uenige.(Og hej, for dem, der er altid webversionen.)