Co jsou elektronické aplikace a proč jsou tak běžné?
Všimli jste si, že mnoho nových desktopových aplikací vypadá docela podobně jako webové stránky? Není to vaše představivost.
Od Trella po Slack, od WordPress.com po Github, je stále častější pro takzvané desktopové aplikace, které sdružují webovou stránku s několika nativními funkcemi, jako jsou oznámení, přístup k souborovým systémům a nabídky. Nejčastější technologií, která umožňuje tento proces nazývat Electron, je využívána několika aplikacemi, které ani nemusíte mít podezření, jako je aplikace pro diskuse Diskord a Microsoft Visual Studio Code.
Elektron usnadňuje vývojářům uvolnění aplikace současně v systémech Windows, MacOS a Linux, ale pro uživatele jsou zde i downsidy. Elektronové aplikace jsou obrovské. Slack, aplikace pro rozhovory, zabírá 237 MB místa na pevném disku na počítači Mac a spotřeba paměti není ani nízká. Co přebírá všechny tyto zdroje? A proč vývojáři používají něco tak neefektivního?
Elektronové aplikace jsou poměrně snadné
Aplikace pro stolní počítače jsou těžké, zejména pokud chcete, aby byly platformy. Přístup k souborovému systému funguje odlišně ve Windows, než tomu je například v Linuxu a upozornění pracují odlišně v systému MacOS než v systému Windows. To znamená, že každý, kdo chce napsat žádost pro všechny tři operační systémy pro stolní počítače (nebo dokonce i dva z nich), musí přepisovat spoustu svého kódu při přenosu z jednoho do druhého.
Elektron "to řeší" tím, že nabízí jednu platformu, která pracuje na všech třech hlavních desktopových operačních systémech. To znamená, že vývojáři mohou jednou napsat kód pro věci, jako jsou oznámení, a očekávají, že pracují nativně v každém operačním systému. Ještě lepší pro vývojáře: vše lze postavit pomocí technologií Javascript, HTML a CSS, každý, kdo kóduje web, je velmi dobře obeznámen s.
Aplikace elektronů přicházejí s celkem velkým množstvím chromu
Jak je tohle možné? Zčásti proto, že každá elektronová aplikace sdružuje kompletní webový prohlížeč: Chromium, verze Google Chrome s otevřeným zdrojovým kódem. Toto je sdruženo s pokyny pro konkrétní platformu, aby bylo zajištěno, že se vše chová přesně tak, jak očekávají vývojáři ve všech systémech. Proto verze Slack pro stolní počítače zabírá více než 200 megabajtů místa na pevném disku: většina Chrome je v ní součástí balení.
Každá spuštěná aplikace elektronu je víceméně úplnou instancí prohlížeče Chrome. Jak uvedl bloger Joseph Gentle, je to stěží ideální:
Myslíte si, že Slack je malý javascriptový program běžící uvnitř jiného operačního systému VM (chrome), který musíte spustit, abyste mohli v zásadě chatovat na IRC. Dokonce i když máte skutečný chrome otevřený, každá elektronová aplikace má vlastní vlastní kopii celého VM.
Tak jo, existují nevýhody pro uživatele. Nejprve, každá aplikace Electron, kterou stahujete, svazuje většinu Chromia a každá spuštěná aplikace spouští velký kus tohoto kódu. Není zde žádné sdílení zdrojů, jako je tomu u aplikací nativní, což znamená, že elektronové aplikace budou mít více prostoru na pevném disku a paměť než aplikace, která byla specificky vyvinutá na vaší platformě. Pokud je výkon skutečně důležitý, možná se budete chtít vyvarovat elektronických aplikací.
Počkejte, tak je elektron dobrý nebo špatný?
V tomto okamžiku jsou počítače tak silné, že většina uživatelů si ani nevšimne, jak jsou neúčinné elektronové aplikace. Ve skutečnosti drtivá většina lidí Electronu ani nikdy neslyšela. Většina mých spolupracovníků neudělala a všichni používají Slack každý den. Mnoho z nich bylo nadšeno, že se na stolní verzi Trella objeví a opět netušila, že jde o elektronovou aplikaci.
A tyto aplikace se opravdu lépe integrují s vaším operačním systémem lépe než webové stránky. Žijí ve svém vlastním okně. Nabízejí skvělé klávesové zkratky, nativní oznámení a další věci, které nelze dělat stejným způsobem pouze pomocí prohlížeče.
A je to dobrá sázka, že aplikace jako Slack, Trello a WordPress.com by se neobtěžovaly nabízet verzi pro stolní počítače, pokud Electron neexistoval, a místo toho se zaměřil na mobilní a prohlížečové verze. Takže otázkou není, zda je Electron špatný; je to, zda jsou elektronové aplikace lepší než nic. Jsem ochoten říct ano, ale rozumní lidé mohou nesouhlasit. (A hej, pro tyhle lidi je vždy webová verze.)