Hemsida » hur » Vad är Electron Apps, och varför blir de så vanliga?

    Vad är Electron Apps, och varför blir de så vanliga?

    Har du märkt många nya stationära applikationer ser ungefär som webbplatser? Det är inte din fantasi.

    Från Trello till Slack, från WordPress.com till Github, har det blivit allt vanligare för så kallade stationära applikationer att kombinera en webbplats med några inbyggda funktioner som meddelanden, filsystemåtkomst och menyer. Den vanligaste tekniken som möjliggör detta kallas Electron, och det används av några program du kanske inte ens misstänker, som chattprogram Discord och Microsofts Visual Studio Code.

    Electron gör det enkelt för utvecklare att släppa en app samtidigt på Windows, MacOS och Linux, men det finns nackdelar för användare. Elektronapplikationer är enorma, för en sak. Slack, en chattprogram, tar upp 237 MB hårddiskutrymme på min Mac, och minneskonsumtionen är inte heller låg. Vad tar upp alla dessa resurser? Och varför använder utvecklarna något så ineffektivt?

    Elektronappar är ganska lätta att göra

    Skrivbordsapplikationer är svåra att göra, speciellt om du vill att dom ska vara plattformsplattform. Åtkomst av filsystemet fungerar annorlunda i Windows än vad som händer i Linux, och meddelanden fungerar annorlunda på MacOS än i Windows. Det betyder att alla som vill skriva en ansökan för alla tre stationära operativsystem (eller till och med två av dem) måste skriva mycket av sin kod när de skickas från en till en annan.

    Electron "löser" detta genom att erbjuda en enda plattform som fungerar på alla tre stora skrivbordsstativen. Detta innebär att utvecklare kan skriva koden för saker som meddelanden en gång och förvänta sig att det fungerar inbyggt på alla operativsystem. Ännu bättre för utvecklare: allt som kan byggas med hjälp av Javascript, HTML och CSS-teknik, alla som kodar för webben är mycket bekanta med.

    Electron Apps kommer med ganska mycket allt krom

    Hur är detta möjligt? Till viss del beror varje Electron app på en komplett webbläsare: Chromium, den öppna källversionen av Google Chrome. Detta kombineras med de plattformsspecifika instruktionerna för att säkerställa att allt uppför sig exakt som utvecklare förväntar sig på alla system. Därför tar skrivbordsversionen av Slack upp över 200 MB hårddiskutrymme: det mesta av Chrome är buntat där.

    Varje Electron app du kör är mer eller mindre en fullständig instans av Chrome. Som bloggare Joseph Gentle påpekade är det knappast ideal:

    Du kan tänka på Slack som ett litet javascriptprogram som körs inuti ett annat operativsystem VM (Chrome), som du måste springa för att i princip kunna chatta på IRC. Även om du har den verkliga kromen öppen, driver varje elektronapp en egen, extra kopia av hela VM.

    Så ja det finns nackdelar för användare. Först och främst, varje enskild elektronapplikation laddar du ner buntar större delen av Chromium, och varje applikation du kör utför en bra bit av den koden. Det finns ingen delning av resurser här som det finns med inhemska applikationer, vilket betyder att Electron apps kommer att ta upp mer hårddiskutrymme och minne än en applikation som utvecklats med din plattform speciellt i åtanke. Om prestanda är något du verkligen bryr dig om, kanske du vill undvika Electron-applikationer.

    Vänta, så är elektronen bra eller dåligt?

    Vid denna tidpunkt är datorer så kraftfulla att de flesta användare aldrig ens kommer att märka hur ineffektiva elektronapplikationer är. I själva verket har de allra flesta aldrig hört talas om Electron. De flesta av mina medarbetare hade inte, och de använder alla Slack varje dag. Många var glada att se en stationär version av Trello kom ut och hade ingen aning om att det var en Electron app.

    Och dessa appar integrerar verkligen bättre med ditt operativsystem bättre än webbplatser. De bor i sitt eget fönster. De erbjuder fantastiska tangentbordsgenvägar, inbyggda meddelanden och andra saker som du inte kan göra på samma sätt med bara en webbläsare.

    Och det är en bra fråga om att applikationer som Slack, Trello och WordPress.com inte skulle bry sig om att erbjuda en stationär version om elektron inte existerade, istället fokusera på mobila och webbläsare versioner. Så frågan är inte om Electron är dåligt; det är om elektronapplikationer är bättre än ingenting. Jag är villig att säga ja, men rimliga människor kan vara oense. (Och hej, för dem är det alltid webbversionen.)