Fra Trello til Slack, fra WordPress.com til Github, er det blitt stadig mer vanlig for såkalte desktop applikasjoner å pakke sammen et nettsted med noen innfødte funksjoner som varsler, filsystemtilgang og menyer. Den vanligste teknologien som muliggjør dette kalles Electron, og den brukes av noen få programmer du kanskje ikke engang mistenker, for eksempel Chat Application Discord og Microsofts Visual Studio Code.
Elektron gjør det enkelt for utviklere å frigjøre en app samtidig på Windows, MacOS og Linux, men det er ulemper for brukere. Elektronapplikasjoner er store, for en ting. Slakk, en chat-applikasjon, tar opp 237 MB harddiskplass på min Mac, og minnekonsumet er heller ikke lavt. Hva tar opp alle disse ressursene? Og hvorfor bruker utviklere noe så ineffektivt?
Elektronapplikasjoner er ganske enkle å lage
Electron "løser" dette ved å tilby en enkelt plattform som fungerer på alle tre store stasjonære operativsystemer. Dette betyr at utviklere kan skrive koden for ting som varsler en gang, og forventer at det skal fungere innfødt på alle operativsystemer. Enda bedre for utviklere: Alt kan bygges ved hjelp av Javascript, HTML og CSS-teknologi. Alle som koder for nettet, er veldig kjent med.
Electron Apps kommer med ganske mye alt krom
Hvordan er dette mulig? Til dels fordi hver Electron app bunter en komplett nettleser: Chromium, åpen kildekodeversjon av Google Chrome. Dette er kombinert med de plattformspesifikke instruksjonene for å sikre at alt oppfører seg akkurat som utviklere forventer på alle systemer. Derfor tar desktopversjonen av Slack opp over 200 MB harddiskplass: det meste av Chrome er buntet der inne.
You can think of Slack as a small javascript program running inside another operating system VM (chrome), that you have to run in order to essentially chat on IRC. Even if you’ve got the real chrome open, each electron app runs its own, extra copy of the whole VM.
Så ja, det er ulemper for brukere. Først og fremst, hver eneste elektronapplikasjon du laster ned bunter mesteparten av krom, og hvert program du kjører, utfører en god del av den koden. Det er ingen deling av ressurser her som det er med innfødte applikasjoner, noe som betyr at Electron-apper skal ta opp mer harddiskplass og minne enn et program utviklet med plattformen, spesielt i tankene. Hvis ytelse er noe du virkelig bryr deg om, vil du kanskje unngå elektronprogrammer.
Vent, så er elektronen god eller dårlig?
Og disse programmene integrerer seg bedre med operativsystemet ditt bedre enn nettsteder. De bor i eget vindu. De tilbyr gode hurtigtastene, innfødte varsler og andre ting du ikke kan gjøre på samme måte med bare en nettleser.
Og det er en god innsats at programmer som Slack, Trello og WordPress.com ikke ville plage å tilby en desktop versjon hvis Electron ikke eksisterte, fokuserer i stedet på mobil- og nettleserversjoner. Så spørsmålet er ikke om Electron er dårlig; Det er om elektronapplikasjoner er bedre enn ingenting. Jeg er villig til å si ja, men rimelige mennesker kan være uenige. (Og hei, for de menneskene, er det alltid nettversjonen.)