Chrome не просто захопив Інтернет, а й власні програми. Багато програм, які ви запускаєте в Windows, Mac і навіть Linux, складаються із застарілих компонентів Хром , движок, який лежить в основі Google Chrome.
Які програми створені з Chromium?
Існує кілька способів для розробника створити програму за допомогою механізму браузера Chromium. Електрон - найбільш відомий , але багато інших додатків використовують щось, що називається CEF, Chromium Embedded Framework.
Спілкуватися в Інтернеті? Slack - це популярний додаток, побудований за допомогою Electron. Робіть нотатки? Evernote використовує CEF, а Trello - Electron. Відтворення музики? Так, ви вже здогадалися - Spotify використовує CEF, як і Amazon Music.
Можна подумати, що Microsoft ухилятиметься від Chromium, адже, зрештою, вона створила Windows. Ви помиляєтесь. GitHub Desktop, Microsoft Teams, Skype, Visual Studio Code та Yammer - це всі програми Electron. Навіть нова програма Xbox для Windows 10 побудована на Electron, а не на власному UWP від Microsoft (універсальна платформа Windows).
Комп’ютерні ігри здебільшого оснащені рідними програмами, але їх пускові установки та пов’язані інструменти чату, звичайно, ні. У Discord та Twitch.tv використовується Electron. Battle.net, Desura, Epic Games Launcher, GOG Galaxy, Uplay і навіть Steam використовують CEF. Клієнт EA's Origin використовує Qt WebEngine , який також інтегрує код Chromium.
Ви можете зрозуміти, скільки програм використовують Chromium, проглянувши дуже неповні списки Електрон і Програми CEF у Вікіпедії. Туди включені додатки для резервного копіювання, такі як CrashPlan, а також менеджери паролів, такі як Bitwarden, та утиліти, такі як Adobe Creative Cloud.
ПОВ'ЯЗАНІ: Що таке програми Electron і чому вони стали настільки поширеними?
Це як веб-програма (але використовує більше оперативної пам’яті та пам’яті)
Кожна програма на базі Electron або CEF включає окрему копію частин Chromium. Хоча програми, що використовують Electron та CEF, схожі на веб-програми у вашому веб-браузері, вони менш ефективні та використовують більше пам'яті у вашій системі.
Коли ви відкриваєте Gmail на одній вкладці Chrome, а Facebook - на іншій, операційній системі потрібно запустити лише одну копію Chrome. Але коли ви запускаєте дві різні програми Electron або CEF, вашій операційній системі потрібна окрема копія Electron або CEF для кожного.
Нерідкі випадки, коли програма на базі Electron, зокрема, споживає дивовижну кількість оперативної пам'яті. Знову ж таки, оскільки кожна з цих програм містить окремі файли Chromium, вони використовують додатковий простір у вашій системі.
Чому вони застаріли і чи є це проблемою?
Документація щодо безпеки Electron пояснює, чому він базує свій код на застарілих версіях Chromium:
“Хоча Electron прагне якомога швидше підтримати нові версії Chromium, розробники повинні усвідомлювати, що оновлення - це серйозне завдання - передбачає ручне редагування десятків чи навіть сотень файлів. Враховуючи наявні сьогодні ресурси та внески, Electron часто не буде в останній версії Chromium, відстаючи на кілька тижнів або кілька місяців ».
Навіть після того, як проект Electron створює цю нову версію, розробники, що створюють програми Electron, повинні взяти цей код, інтегрувати його в свої програми Electron і надіслати оновлення.
Однак це не так страшно, як здається. Документація Electron радить розробникам уникати показу ненадійного коду та залежати в першу чергу від місцевих ресурсів або надійного, захищеного віддаленого вмісту. Ось чому багато програм Electron, здається, не є веб-браузерами. Наприклад, Slack використовує веб-технології для забезпечення інтерфейсу чату, але ви переходите до свого веб-браузера, щойно натискаєте посилання.
Чому розробники використовують Chromium?
Ці рішення подобаються розробникам, оскільки вони використовують веб-технології, з якими більшість з них вже знайомі. Як Electron з гордістю наголошує на своєму домашню сторінку , "Якщо ви можете створити веб-сайт, ви можете створити настільний додаток."
Однак вони потужніші, ніж прості веб-програми. Додатки Electron можуть отримати доступ до вашої файлової системи та інших локальних системних ресурсів. Багато програм CEF - це власні програми, які вбудовують браузер Chromium. Наприклад, Steam вбудовує браузер для відображення магазину та інтерфейсів спільноти.
Додатки Electron також є крос-платформними, як Chromium. Ви можете запустити таку програму, як Slack, у Windows, Mac та Linux, а також в Інтернеті. Розробник не міг створити крос-платформну програму, якщо вона залежала від технологій Microsoft Edge або Apple Safari. Розробники хочуть створити додаток один раз і запускати його скрізь. Це економить багато часу та ресурсів порівняно із створенням власного додатка для кожної платформи.
Ці рішення, засновані на хромі, багато в чому покращують те, що було раніше. До прийняття CEF Steam вбудовував Internet Explorer. Багато програм у Windows також просто вбудували інтерфейс Internet Explorer - нам набагато краще з Chromium.
PWA можуть запропонувати вихід
Електрон, CEF та подібні технології мають багато переваг, але вони також мають і свої мінуси. Прогресивні веб-програми (PWA) одного дня можуть запропонувати вихід, оскільки вони пропонують сучасним веб-програмам можливість працювати в автономному режимі. Однак, на відміну від Electron та CEF, PWA використовують ваш стандартний веб-браузер у фоновому режимі. Ви також можете встановіть їх через веб-браузер —Не потрібно вручну оновлювати та об’єднувати код Chromium.
Коли Microsoft переходить до версія браузера Edge на основі Chromium , буде цікаво подивитися, чи успішно PWA починають конкурувати з Electron. Це, безумовно, було б більш чисте рішення з меншим використанням пам'яті.
ПОВ'ЯЗАНІ: Що таке прогресивні веб-програми?