Što su Electron aplikacije i zašto su postale tako česte?
Jeste li primijetili da mnoge nove desktop aplikacije izgledaju prilično slično web-lokacijama? To nije tvoja mašta.
Od Trella do Slack-a, od WordPress.com-a do Github-a, sve je češće za tzv. Desktop aplikacije skupiti web-mjesto s nekoliko izvornih značajki kao što su obavijesti, pristup datotečnom sustavu i izbornici. Najuobičajenija tehnologija koja omogućuje ovo se zove Electron, a koristi je nekoliko aplikacija koje možda čak i ne sumnjate, poput aplikacije za razgovor Discord i Microsoftov Visual Code Code..
Electron olakšava programerima da istodobno izdaju aplikaciju na Windows, MacOS i Linux, ali postoje mane za korisnike. Elektronske aplikacije su ogromne, s jedne strane. Slack, aplikacija za chat, zauzima 237 MB prostora na tvrdom disku na mom Mac računalu, a potrošnja memorije nije niska. Što uzima sve te resurse? I zašto programeri koriste nešto tako neučinkovito?
Elektronske aplikacije su prilično jednostavne za izradu
Desktop aplikacije je teško izraditi, pogotovo ako želite da budu cross-platforma. Pristup datotečnom sustavu u sustavu Windows radi drugačije nego na primjer u Linuxu, a obavijesti na MacOS-u rade drugačije nego u sustavu Windows. To znači da svatko tko želi napisati aplikaciju za sva tri operacijska sustava za stolna računala (ili čak dva od njih) mora ponovno napisati puno svog koda kada se prenose s jednog na drugi.
Electron to rješava nudeći jednu platformu koja radi na sva tri glavna operacijska sustava. To znači da programeri mogu pisati kod za stvari kao što su obavijesti jednom i očekivati da će raditi prirodno na svakom operativnom sustavu. Još bolje za programere: sve se može izgraditi pomoću Javascripta, HTML-a i CSS-tehnologija, svatko tko kodira za web vrlo dobro poznaje.
Electron Apps dolaze s prilično puno kroma
Kako je ovo moguće? Djelomično zato što svaka Electron aplikacija sadrži kompletan web preglednik: Chromium, verziju Google Chromea otvorenog koda. To je povezano s uputama specifičnim za platformu kako bi se osiguralo da se sve ponaša točno onako kako programeri očekuju na svim sustavima. Zbog toga desktop verzija Slack-a zauzima više od 200 MB prostora na tvrdom disku: većina Chromea je u paketu.
Svaka Electron aplikacija koju pokrećete manje ili više je puna instanca Chromea. Kao što je istaknuo bloger Joseph Gentle, to je teško idealno:
Možete misliti o Slacku kao malom javascript programu koji se izvodi unutar drugog operativnog sustava VM (chrome), koji morate pokrenuti kako biste u biti razgovarali na IRC-u. Čak i ako imate otvoren pravi krom, svaka elektronska aplikacija pokreće vlastitu, dodatnu kopiju cijelog VM-a.
Tako da, postoje mane za korisnike. Prije svega, svaka pojedinačna Electron aplikacija koju preuzmete sadrži većinu Chromiuma, a svaka aplikacija koju pokrećete izvršava dobar komad tog koda. Ovdje nema dijeljenja resursa kao što je to slučaj s izvornim aplikacijama, što znači da će Electron aplikacije zauzeti više prostora na tvrdom disku i memoriji od aplikacije razvijene posebno za vašu platformu. Ako je izvedba nešto do čega vam je stalo, možda biste željeli izbjeći aplikacije Electron.
Čekajte, tako je i dobro ili loše?
U ovom trenutku, računala su toliko snažna da većina korisnika nikada neće ni primijetiti koliko su neučinkovite Electron aplikacije. Zapravo, velika većina nikada nije ni čula za Electron. Većina mojih suradnika nije, i svi koriste Slack svaki dan. Mnogi su bili oduševljeni kad su vidjeli da je Trello izašao na radnu površinu, a opet nije imao pojma da je to Electron aplikacija.
A ove aplikacije se bolje integriraju s operativnim sustavom bolje od web-lokacija. Žive u vlastitom prozoru. Oni nude izvrsne tipkovničke prečace, izvorne obavijesti i druge stvari koje ne možete raditi na isti način samo s preglednikom.
I dobro je kladiti se da aplikacije kao što su Slack, Trello i WordPress.com ne bi mogle ponuditi desktop verziju ako Electron ne postoji, umjesto toga fokusirajući se na mobilne i pregledničke verzije. Pitanje nije je li Electron loš; jesu li elektroničke aplikacije bolje od ništa. Voljan sam reći da, ali razumni ljudi se ne mogu složiti. (I za te ljude uvijek postoji web-verzija.)