Добавить в корзинуПозвонить
Найти в Дзене
Синапс

WebUSB для Firefox: почему Mozilla годами отказывалась от критической технологии

В апреле разработчики выпустили WebUSB Extension для Firefox — решение, которое Mozilla упорно отказывалась реализовывать нативно на протяжении многих лет. Расширение использует механизм Native Messaging для связи браузера с внешней программой, написанной на Rust, и поддерживает шесть платформ: macOS, Linux и Windows на архитектурах x86_64, ARM64 и aarch64. Проект был опубликован на GitHub под названием awawausb и быстро привлёк внимание технологического сообщества. WebUSB API позволяет веб-приложениям напрямую взаимодействовать с USB-устройствами: 3D-принтерами, микроконтроллерами Arduino и ESP32, механическими клавиатурами и другой периферией. Технология требует явного выбора устройства пользователем для предоставления доступа, что делает её безопасной по замыслу. Chromium-браузеры поддерживают WebUSB уже несколько лет, предоставляя разработчикам широкие возможности для создания веб-приложений, работающих с аппаратным обеспечением. Firefox Nightly только 14 апреля получил поддержку

WebUSB для Firefox: почему Mozilla годами отказывалась от критической технологии

В апреле разработчики выпустили WebUSB Extension для Firefox — решение, которое Mozilla упорно отказывалась реализовывать нативно на протяжении многих лет. Расширение использует механизм Native Messaging для связи браузера с внешней программой, написанной на Rust, и поддерживает шесть платформ: macOS, Linux и Windows на архитектурах x86_64, ARM64 и aarch64. Проект был опубликован на GitHub под названием awawausb и быстро привлёк внимание технологического сообщества.

WebUSB API позволяет веб-приложениям напрямую взаимодействовать с USB-устройствами: 3D-принтерами, микроконтроллерами Arduino и ESP32, механическими клавиатурами и другой периферией. Технология требует явного выбора устройства пользователем для предоставления доступа, что делает её безопасной по замыслу. Chromium-браузеры поддерживают WebUSB уже несколько лет, предоставляя разработчикам широкие возможности для создания веб-приложений, работающих с аппаратным обеспечением. Firefox Nightly только 14 апреля получил поддержку схожего Web Serial API — спустя 13 лет после первоначального предложения, что вызвало удивление в сообществе разработчиков.

Позиция Mozilla вызвала серьёзную критику в сообществе разработчиков. На Hacker News 20 апреля обсуждение расширения набрало 97 комментариев, где пользователи отметили, что отказ компании от нативной реализации WebUSB выглядит нерациональным, учитывая полезность и безопасность API. Разработчики приводят практические примеры: веб-приложение ZSA Oryx позволяет создавать раскладки клавиатуры и прошивать устройства прямо в браузере, без установки специализированного ПО. Аналогично работают инструменты для управления скалолазными тренажёрами и передачи данных на MiniDisc через netMD. Эти примеры демонстрируют реальную ценность технологии для конечных пользователей.

Расширение набрало 120 баллов на GitHub и продолжает привлекать внимание разработчиков по всему миру, что свидетельствует о высоком интересе к функциональности WebUSB среди пользователей Firefox. Однако решение имеет существенные ограничения: API недоступен в Web Workers и работает только на главной странице, а Android не поддерживается из-за отсутствия Native Messaging в мобильной версии Firefox. Эти технические ограничения связаны с архитектурой расширения и не могут быть легко преодолены без изменений в самом браузере.

Некоторые эксперты выражают серьёзные опасения относительно безопасности. Они указывают, что WebUSB увеличивает поверхность атаки браузера, и даже механизм явного подтверждения доступа к устройству не является абсолютно надёжным. Mozilla ранее публиковала критическую позицию по WebUSB на mozilla.github.io/standards-positions, ссылаясь на потенциальные риски компрометации USB-устройств и возможность атак через вредоносные веб-сайты. Один из комментаторов на Hacker News заявил: "Я приму это в своём браузере, когда они исправят проблемы безопасности", отражая скептицизм части технического сообщества.

Тем не менее, сообщество демонстрирует, что когда крупные tech-компании игнорируют востребованные технологии, разработчики создают обходные пути. WebUSB Extension для Firefox — яркий пример того, как независимые инженеры восполняют пробелы в функциональности браузеров, предоставляя пользователям доступ к стандартным веб-API. Это поднимает вопрос о балансе между безопасностью и функциональностью в современной веб-экосистеме. Дискуссия вокруг этого расширения показывает растущую потребность в унификации веб-стандартов и необходимость диалога между производителями браузеров и сообществом разработчиков. 🔌

#WebUSB #Firefox #ВебТехнологии #БраузерныеAPI #ЦифроваяТрансформация