Oletko huomannut, että monet uudet työpöytäsovellukset näyttävät melkein verkkosivustoilta? Se ei ole mielikuvitus.
Trellosta Slackiin, WordPress.comista Githubiin, on niin yleistä, että ns. Työpöytäsovellukset niputtavat verkkosivuston muutamilla alkuperäisillä ominaisuuksilla, kuten ilmoituksilla, tiedostojärjestelmään pääsyllä ja valikoilla. Yleisintä tekniikkaa, joka mahdollistaa tämän, kutsutaan Elektroni , ja sitä käyttävät muutamat sovellukset, joita et ehkä edes epäile, kuten chat-sovellus Discord ja Microsoftin Visual Studio -koodi .
Electronin avulla kehittäjien on helppo julkaista sovellus samanaikaisesti Windowsissa, macOS: ssa ja Linuxissa, mutta käyttäjille on haittoja. Elektronisovellukset ovat valtavia, yksi asia. Slack, chat-sovellus, vie 237 Mt kiintolevytilaa Macissa, eikä muistin kulutus ole vähäistä. Mikä vie kaikki nämä resurssit? Ja miksi kehittäjät käyttävät jotain niin tehotonta?
Electron-sovelluksia on melko helppo tehdä
Pöytäsovelluksia on vaikea tehdä, varsinkin jos haluat niiden olevan alustojen välisiä. Tiedostojärjestelmän käyttö toimii eri tavalla Windowsissa kuin esimerkiksi Linuxissa, ja ilmoitukset toimivat eri tavalla macOS: ssä kuin Windowsissa. Tämä tarkoittaa sitä, että jokaisen, joka haluaa kirjoittaa sovelluksen kaikille kolmelle työpöydän käyttöjärjestelmälle (tai jopa kahdelle niistä), on kirjoitettava suuri osa koodistaan uudelleen siirrettäessä toisistaan.
Electron "ratkaisee" tämän tarjoamalla yhden alustan, joka toimii kaikilla kolmella tärkeimmällä työpöydän käyttöjärjestelmällä. Tämä tarkoittaa sitä, että kehittäjät voivat kirjoittaa koodin esimerkiksi ilmoituksiin kerran ja odottaa sen toimivan luonnollisesti jokaisessa käyttöjärjestelmässä. Vielä parempi kehittäjille: kaikki voidaan rakentaa Javascriptin, HTML: n ja CSS: n avulla - kaikki verkkokoodaavat käyttäjät ovat hyvin perehtyneitä tekniikoihin.
Electron-sovelluksissa on melko paljon kromia
Kuinka tämä on mahdollista? Osittain siksi, että jokainen Electron-sovellus niputtaa kokonaisen verkkoselaimen: Chromium, Google Chromen avoimen lähdekoodin versio . Tämä toimitetaan yhdessä alustakohtaisten ohjeiden kanssa sen varmistamiseksi, että kaikki toimii täsmälleen samalla tavalla kuin kehittäjät odottavat kaikissa järjestelmissä. Siksi Slackin työpöytäversio vie yli 200 Mt kiintolevytilaa: suurin osa Chromesta on niputettu sinne.
Jokainen käyttämäsi Electron-sovellus on enemmän tai vähemmän täydellinen Chrome-esiintymä. Bloggaajana Joseph Gentle huomautti , tämä on tuskin ihanteellinen:
Voit ajatella Slackiä pienestä javascript-ohjelmasta, joka toimii toisessa käyttöjärjestelmässä (kromi), joka sinun on suoritettava voidaksesi keskustella olennaisesti IRC: llä. Vaikka sinulla olisi todellinen kromi auki, jokaisella elektronisovelluksella on oma, ylimääräinen kopio koko virtuaalikoneesta.
Joten kyllä, käyttäjillä on haittoja. Ensinnäkin jokainen lataamasi Electron-sovellus niputtaa suurimman osan Chromiumista, ja jokainen käyttämäsi sovellus suorittaa hyvän osan tästä koodista. Resursseja ei jaeta täällä kuten natiivisovellusten kanssa, eli Electron-sovellukset vievät enemmän kiintolevytilaa ja muistia kuin sovelluksesi, joka on kehitetty erityisesti alustallesi. Jos suorituskyky on asia, josta todella välität, kannattaa välttää Electron-sovelluksia.
Odota, niin onko elektroni hyvä vai huono?
Tässä vaiheessa tietokoneet ovat niin tehokkaita, että useimmat käyttäjät eivät koskaan edes huomaa kuinka tehottomia Electron-sovellukset ovat. Itse asiassa valtaosa ei ole koskaan edes kuullut Electronista. Suurimmalla osalla työtovereistani ei ollut ollut, ja he kaikki käyttävät Slackia päivittäin. Monet olivat innoissaan nähdessään Trellon työpöydän version ilmestyvän, eikä heillä ollutkaan aavistustakaan, että se oli Electron-sovellus.
Ja nämä sovellukset integroituvat paremmin käyttöjärjestelmääsi paremmin kuin verkkosivustot. He asuvat omassa ikkunassaan. Ne tarjoavat upeita pikanäppäimiä, natiivi-ilmoituksia ja muita asioita, joita et voi tehdä samalla tavalla vain selaimella.
Ja on hyvä veto, että Slackin, Trellon ja WordPress.comin kaltaiset sovellukset eivät vaivaudu tarjoamaan työpöytäversiota, jos Electronia ei olisi, keskittyen sen sijaan mobiili- ja selainversioihin. Joten kysymys ei ole siitä, onko Electron huono; onko elektronisovellukset parempia kuin ei mitään. Olen valmis sanomaan kyllä, mutta kohtuulliset ihmiset voivat olla eri mieltä. (Ja hei, niille ihmisille on aina olemassa verkkoversio.)