Что такое электронные приложения и почему они стали такими распространенными?
Вы заметили, что многие новые настольные приложения выглядят как веб-сайты? Это не ваше воображение.
От Trello до Slack, от WordPress.com до Github, для так называемых настольных приложений становится все более популярным объединять веб-сайт с несколькими собственными функциями, такими как уведомления, доступ к файловой системе и меню. Наиболее распространенная технология, позволяющая это сделать, называется Electron, и она используется в нескольких приложениях, о которых вы даже не подозреваете, таких как чат-приложение Discord и Microsoft Visual Studio Code..
Electron облегчает разработчикам выпускать приложения одновременно для Windows, macOS и Linux, но у пользователей есть свои недостатки. Электронные приложения огромны, с одной стороны. Slack, приложение для чата, занимает 237 МБ на жестком диске моего Mac, и потребление памяти также не низкое. Что занимает все эти ресурсы? И почему разработчики используют что-то такое неэффективное?
Электронные приложения довольно просты в создании
Настольные приложения сложно создавать, особенно если вы хотите, чтобы они были кроссплатформенными. Доступ к файловой системе в Windows работает иначе, чем в Linux, например, и уведомления в MacOS работают иначе, чем в Windows. Это означает, что любой, кто хочет написать приложение для всех трех настольных операционных систем (или даже двух), должен переписать большую часть своего кода при переносе с одной на другую..
Electron «решает» это, предлагая единую платформу, которая работает на всех трех основных настольных операционных системах. Это означает, что разработчики могут написать код для таких вещей, как уведомления, один раз и ожидать, что он будет работать изначально в каждой операционной системе. Еще лучше для разработчиков: все может быть построено с использованием Javascript, HTML и CSS-технологий. Любой, кто кодирует для Интернета, хорошо знаком с.
Электронные приложения поставляются с довольно большим количеством хрома
Как это возможно? Частично потому, что каждое приложение Electron включает полный веб-браузер: Chromium, версию Google Chrome с открытым исходным кодом. Это связано с инструкциями для конкретной платформы, чтобы гарантировать, что все ведет себя точно так, как ожидают разработчики на всех системах. Вот почему настольная версия Slack занимает более 200 МБ места на жестком диске: большая часть Chrome находится там.
Каждое приложение Electron, которое вы запускаете, является более или менее полным экземпляром Chrome. Как отметил блогер Джозеф Джентл, это вряд ли идеально:
Вы можете думать о Slack как о маленькой javascript-программе, работающей в другой виртуальной системе операционной системы (chrome), которую вы должны запустить, чтобы по существу общаться в IRC. Даже если у вас открыт настоящий Chrome, каждое электронное приложение запускает свою собственную, дополнительную копию всей виртуальной машины..
Так что да, у пользователей есть свои минусы. Прежде всего, каждое загружаемое вами приложение Electron объединяет большую часть Chromium, и каждое приложение, которое вы запускаете, выполняет значительную часть этого кода. Здесь нет общего доступа к ресурсам, как это происходит с нативными приложениями, что означает, что приложения Electron будут занимать больше места на жестком диске и в памяти, чем приложения, разработанные специально для вашей платформы. Если производительность вас действительно волнует, вы можете отказаться от приложений Electron..
Подожди, Электрон это хорошо или плохо?
На данный момент компьютеры настолько мощны, что большинство пользователей даже не заметят, насколько неэффективны приложения Electron. На самом деле, подавляющее большинство никогда не слышали об Электроне. Большинство моих коллег не имели, и все они используют Slack каждый день. Многие были взволнованы, увидев выход настольной версии Trello, и снова не знали, что это приложение Electron..
И эти приложения действительно лучше интегрируются с вашей операционной системой, чем веб-сайты. Они живут в своем собственном окне. Они предлагают отличные сочетания клавиш, собственные уведомления и другие вещи, которые вы не можете сделать так же, просто с помощью браузера.
И стоит поспорить, что такие приложения, как Slack, Trello и WordPress.com, не потрудились бы предложить настольную версию, если бы Electron не существовал, сосредоточившись вместо этого на версиях для мобильных устройств и браузеров. Так что вопрос не в том, плох ли Электрон; это то, что приложения Electron лучше, чем ничего. Я готов сказать да, но разумные люди могут не согласиться. (И, эй, для этих людей всегда есть веб-версия.)