Какво представляват Electron Apps и защо стават толкова чести?
Забелязали ли сте, че много нови приложения за настолни компютри приличат много на сайтове? Това не е вашето въображение.
От Trello до Slack, от WordPress.com до Github, става все по-често за така наречените десктоп приложения да се включи уебсайт с няколко родни функции като известия, достъп до файлова система и менюта. Най-често използваната технология, която позволява това, се нарича Electron, и се използва от няколко приложения, които може дори да не подозирате, като например приложението за разговори Chat Disc и Microsoft Visual Studio Code..
Electron улеснява разработчиците да пускат едновременно едно приложение в Windows, MacOS и Linux, но има и недостатъци за потребителите. Електронните приложения са огромни, от една страна. Slack, приложение за чат, заема 237 MB пространство на твърдия диск на моя Mac и потреблението на памет не е ниско. Какво поема всички тези ресурси? И защо разработчиците използват нещо толкова неефективно?
Electron Apps са доста лесно да се направи
Десктоп приложенията са трудни за създаване, особено ако искате да бъдат междуплатформени. Достъпът до файловата система работи по различен начин в Windows, отколкото в Linux, например, а уведомленията работят по различен начин в MacOS, отколкото в Windows. Това означава, че всеки, който иска да напише заявление за трите настолни операционни системи (или дори две от тях), трябва да презапише много от кода си, когато се пренася от един към друг.
Electron “решава” това, като предлага една единствена платформа, която работи на всичките три големи настолни операционни системи. Това означава, че разработчиците могат да напишат кода за неща като известия веднъж и да очакват той да работи естествено на всяка операционна система. Още по-добре за разработчиците: всичко може да бъде изградено с помощта на Javascript, HTML и CSS-технологии, всеки, който кодира за мрежата, е много запознат с.
Electron Apps идват с доста хром
Как е възможно? Отчасти защото всяко приложение на Electron включва пълен уеб браузър: Chromium, версия с отворен код на Google Chrome. Това е включено заедно с инструкциите, специфични за платформата, за да се гарантира, че всичко се държи точно както очакват разработчиците на всички системи. Ето защо десктоп версията на Slack заема над 200MB пространство на твърдия диск: по-голямата част от Chrome е включена там.
Всяко електронно приложение, което пускате, е повече или по-малко пълна версия на Chrome. Както посочи блогър Джоузеф Глен, това едва ли е идеално:
Можете да мислите за Slack като малка JavaScript програма, която се изпълнява в друга операционна система VM (chrome), която трябва да стартирате, за да разговаряте по същество с IRC. Дори ако имате истински хромиран отворен, всяко електронно приложение изпълнява собствено, допълнително копие на цялата VM.
Така че да, има недостатъци за потребителите. На първо място, всяко едно електронно приложение, което изтегляте, включва по-голямата част от Chromium, а всяко изпълнявано от вас приложение изпълнява добро парче от този код. Няма споделяне на ресурси тук, както е с родните приложения, което означава, че приложенията на Electron ще заемат повече пространство на твърдия диск и памет, отколкото приложение, разработено специално за вашата платформа. Ако производителността е нещо, което наистина ви е грижа, може да искате да избегнете приложенията на Electron.
Изчакайте, така че е добър или лош?
В този момент компютрите са толкова мощни, че повечето потребители никога няма да забележат колко неефективни са приложенията Electron. Всъщност по-голямата част от тях дори не са чували за Електрон. Повечето от моите колеги не бяха и всички те използват Slack всеки ден. Мнозина бяха развълнувани да видят настолната версия на Trello и отново нямаха представа, че това е приложение на Electron.
И тези приложения наистина се интегрират по-добре с вашата операционна система по-добре от уебсайтовете. Те живеят в собствения си прозорец. Те предлагат страхотни клавишни комбинации, оригинални известия и други неща, които не можете да направите по същия начин само с браузър.
Добър залог е, че приложения като Slack, Trello и WordPress.com не биха си направили труда да предложат настолна версия, ако Electron не съществува, вместо да се фокусира върху мобилните и браузърните версии. Въпросът не е дали Electron е лош; дали приложенията на Electron са по-добри от нищо. Готов съм да кажа „да“, но разумните хора не могат да се съгласят. (Ами за тези хора винаги има уеб версия.)