Брендан Эйх раскритиковал Windows 11 за чрезмерную зависимость от WebView2 и Electron.

Windows 11 продолжает обрастать веб-компонентами буквально повсюду — от Discord и Teams до WhatsApp, поиска Windows, меню «Пуск» и даже нового представления повестки дня в центре уведомлений. Ситуация настолько вышла из-под контроля, что привлекла внимание Брендана Эйха — легендарного создателя JavaScript и основателя браузера Brave.
Недавно Microsoft опровергла слухи о переписывании Windows 11 с помощью ИИ. Но за этой историей скрывается более серьёзная проблема: компания всё активнее использует веб-фреймворки, особенно WebView2 и Electron, вместо нативного кода.
Эйх, который также стоял у истоков Firefox OS и был связан с проектом webOS, выступил с критикой такого подхода. По его мнению, проблема не в веб-технологиях как таковых — они вполне могут работать хорошо, если всё сделать правильно. Но на это нужно время, а компании не хотят его тратить.
«Скрытая суть в том, что главная проблема Windows 11 — это WebView2 и Electron. Я против раздувания системы из-за поспешного использования веб-интерфейсов вместо нативных. Это можно сделать правильно, но требуется время», — написал Эйх в соцсети X.
В той же ветке один из пользователей предположил, что WebView нужен для контроля и приучения людей к подписочному софту. Но Эйх возразил: «Как выбор между вебом и нативным кодом помогает этой цели? Нативный код даже удобнее для привязки пользователей». По его мнению, настоящая причина кроется в бизнес-модели «подписка вместо покупки», которая связана с более широкой динамикой деградации продуктов. Эйх даже назвал NPM (Node Package Manager) ошибкой.
Показательный пример — Discord. Приложение настолько неэффективно расходует память, что разработчики решили автоматически перезапускать его, когда потребление RAM достигает четырёх гигабайт. При этом переходить на нативный код в компании не планируют.
«Да, мы тестируем перезапуск при превышении 4 ГБ памяти (обычное потребление — менее 1 ГБ)», — написал сотрудник Discord на Reddit. После волны возмущения компания уточнила, что перезапуск происходит только при отсутствии активности пользователя в течение 30 минут и если он не участвует в звонке.
Microsoft недавно признала проблемы с производительностью Teams, однако вместо решения корневой причины просто вынесла звонки в отдельный процесс.
История WhatsApp ещё показательнее. Изначально приложение было веб-обёрткой на Electron, затем Meta переписала его на нативном коде WinUI/XAML. После нескольких лет инвестиций в нативную разработку компания отказалась от этого подхода и вернулась к WebView2. Теперь WhatsApp на Windows 11 регулярно потребляет около гигабайта оперативной памяти.
Но проблема не ограничивается сторонними приложениями. Microsoft добавляет в центр уведомлений Windows 11 представление повестки дня на базе WebView2 — хотя в Windows 10 аналогичная функция была полностью нативной. При открытии этого компонента потребление памяти процессами Edge подскакивает с одного мегабайта до сотни.
Когда небольшая студия выбирает веб-фреймворк для кроссплатформенной разработки — это понятно и оправданно. Но когда компания с капитализацией более 3,5 триллиона долларов не может создать нативный интерфейс для простейшего календаря — это уже вызывает вопросы.