Čo sú elektronické aplikácie a prečo sa stali tak bežnými?
Všimli ste si, že veľa nových desktopových aplikácií vyzerá skoro ako webové stránky? Nie je to tvoja predstavivosť.
Od Trello po Slack, od WordPress.com po Github, je čoraz bežnejšie pre takzvané desktopové aplikácie spájajúce webové stránky s niekoľkými natívnymi funkciami, ako sú upozornenia, prístup k súborovým systémom a ponuky. Najčastejšou technológiou, ktorá umožňuje tento proces, sa nazýva elektrón a používa ho niekoľko aplikácií, o ktorých by ste nemali ani podozrenie, ako napríklad diskusná aplikácia Discord a Microsoft Visual Studio Code.
Electron uľahčuje vývojárom uvoľňovanie aplikácie súčasne v systéme Windows, MacOS a Linux, ale pre používateľov existujú nevýhody. Elektronové aplikácie sú obrovské. Slack, aplikácia na rozhovor, zaberá 237 MB miesta na pevnom disku na počítači Mac a spotreba pamäte nie je ani nízka. Čo využíva všetky tieto zdroje? A prečo vývojári používajú niečo také neefektívne?
Elektronové aplikácie sú celkom jednoduché
Aplikácie pre stolné počítače sú ťažké, hlavne ak chcete, aby boli cez platformu. Prístup k súborovému systému funguje v systéme Windows inak ako v systéme Linux a upozornenia fungujú odlišne v systéme MacOS ako v systéme Windows. To znamená, že ktokoľvek, kto chce napísať aplikáciu pre všetky tri operačné systémy pre počítače (alebo dokonca aj dva z nich), musí prepísať veľa svojho kódu pri prenose z jedného do druhého.
Elektron "to rieši" tým, že ponúka jednu platformu, ktorá funguje na všetkých troch hlavných desktopových operačných systémoch. To znamená, že vývojári môžu raz napísať kód pre veci ako upozornenia a očakávajú, že pracujú natívne na každom operačnom systéme. Ešte lepšie pre vývojárov: všetko, čo je možné stavať pomocou technológií Javascript, HTML a CSS, je každý, kto kóde na webe, veľmi dobre oboznámený s.
Elektronové aplikácie prichádzajú s pomerne veľkým množstvom chrómu
Ako je to možné? Čiastočne preto, že každá aplikácia Electron zbiera kompletný webový prehliadač: Chromium, verzia prehliadača Google Chrome s otvoreným zdrojovým kódom. Toto je spojené s inštrukciami špecifickými pre platformu, aby sa zabezpečilo, že všetko sa bude správať presne tak, ako vývojári očakávajú vo všetkých systémoch. To je dôvod, prečo verzia Slack pre stolné počítače zaberá viac ako 200 MB miesta na pevnom disku. Väčšina prehliadača Chrome je v nej obsiahnutá.
Každá spustená aplikácia Electron je viac či menej plnou inštanciou prehliadača Chrome. Ako zdôraznil bloger Joseph Gentle, toto je sotva ideálne:
Slack môžete považovať za malý program javascript spustený v inom operačnom systéme VM (chróm), ktorý musíte spustiť, aby ste v podstate mohli chatovať na IRC. Aj keď máte skutočný chróm otvorený, každá elektrónová aplikácia má vlastnú extra kópiu celého VM.
Tak jo, existujú nevýhody pre používateľov. Po prvé, každá aplikácia Electron, ktorú sťahujete, zväzuje väčšinu Chromia a každá aplikácia, ktorú spustíte, spúšťa dobrý kus tohto kódu. Nie je tu žiadne zdieľanie zdrojov tu, ako je to s natívnymi aplikáciami, čo znamená, že Electron aplikácie budú zaberať viac miesta na disku a pamäte, než aplikácia vyvinutá s vašou platformou zvlášť na mysli. Ak je výkonom niečo, na čom vám naozaj záleží, možno sa chcete vyhnúť elektronickým aplikáciám.
Počkajte, tak je elektron dobrý alebo zlý?
V tomto momente sú počítače tak silné, že väčšina používateľov si nikdy ani nevšimne, aké neefektívne sú elektronové aplikácie. Väčšina z nich v skutočnosti nikdy nepočula o Electrone. Väčšina mojich spolupracovníkov nebola a všetci používajú Slack každý deň. Mnohí sa tešili, že vidia desktopovú verziu Trella a znova netušili, že ide o aplikáciu Electron.
Tieto aplikácie sa naozaj lepšie integrujú s vaším operačným systémom lepšie ako webové stránky. Žijú vo vlastnom okne. Ponúkajú skvelé klávesové skratky, natívne upozornenia a iné veci, ktoré nemôžete robiť rovnakým spôsobom iba pomocou prehliadača.
A je to dobrá stávka, že aplikácie ako Slack, Trello a WordPress.com nebudú obťažovať ponúknuť verziu pre stolné počítače, ak Electron neexistuje, ale namiesto toho sa zameriava na verzie pre mobilné a prehliadače. Takže otázkou nie je, či Electron je zlý; či sú elektronové aplikácie lepšie než nič. Som ochotný povedať áno, ale rozumní ľudia môžu nesúhlasiť. (A hej, pre tých ľudí je vždy webová verzia.)