В мире веб-браузеров трудно найти проект, который выделялся бы так ярко, как Nyxt. Этот браузер — настоящий оазис для тех, кто привык к максимальному контролю над инструментами и ценит скорость, гибкость и расширяемость. Созданный под влиянием одного из самых мощных и кастомизируемых редакторов — Emacs, Nyxt предлагает совершенно иной подход к веб-сёрфингу, ориентируясь на клавиатуру и разработчиков с глубоким пониманием программного кода. Его философия — это свобода настройки и возможность глубокой интеграции функционала без необходимости работать через плагины или через ограниченные расширения, которые характерны для большинства браузеров. Nyxt — это не просто надстройка или расширение для Emacs, а самостоятельное, полнофункциональное приложение, написанное на Common Lisp.
Это решение стало возможным благодаря тому, что разработчики стремились уйти от технического долга Emacs и создать продукт с нуля, который сможет сохранить лучшие качества редактора, одновременно становясь полноценным современным браузером. История Nyxt началась в 2017 году с Джона Меркуриса, который вместе с Андре Гомесом сформировали небольшую, но преданную команду Atlas. Атлас, в основном, занимается разработкой на Common Lisp, что объясняет выбор языка для создания браузера. Common Lisp стал фундаментом для мощных функций Nyxt, включая возможность запуска кода Lisp непосредственно внутри браузера, что раскрывает практически безграничный потенциал для расширения и настройки. Ключевая аудитория Nyxt — это разработчики и продвинутые пользователи Linux, на которых изначально ориентирован этот продукт.
В отличие от большинства браузеров, где Linux зачастую остаётся второстепенной платформой, Nyxt именно создан для неё в первую очередь. Основное взаимодействие в браузере происходит через клавиатуру. Nyxt практически не имеет визуальных элементов интерфейса, привычных пользователю. Нет привычных вкладок, адресной строки или множества кнопок — вместо этого используются буферы, похожие на вкладки, но обладающие собственными настройками, режимами и возможностями кастомизации. Благодаря такой модели пользователь может, например, в одном буфере использовать одни сочетания клавиш и режимы, а в другом — совершенно другие.
Для тех, кто привык к Emacs или vi, Nyxt предлагает встроенную поддержку популярных схем клавиатурных сокращений. По умолчанию используется CUA, то есть привычные Windows-подобные сочетания, но изменить их можно даже во время работы без перезапуска, если это касается отдельных буферов. Радикальной особенностью является отсутствие Point-and-Click подхода. Все команды запускаются через клавиатуру или через командный буфер, вызываемый сочетаниями, аналогичными Emacs. Это не снижает уровень удобства для опытных пользователей, а наоборот многократно увеличивает скорость работы, устраняя необходимость переключения между мышью и клавиатурой.
Настройка браузера и расширения реализованы через возможность написания Lisp-кода. Пользователь может создавать собственные команды, добавлять пункты в контекстное меню, писать обработчики нестандартных URL и даже создавать собственные схемы URL. Все это открывает возможности, которые сложно найти в других браузерах, даже среди тех, что дают возможность устанавливать расширения. Встроенный REPL даёт возможность экспериментировать с кодом прямо в браузере, что особенно полезно для программистов, привыкших к интерактивной среде разработки. Nyxt умеет работать с историей просмотров и представляет её в виде дерева, что намного удобнее и нагляднее традиционного простого списка.
Эта функция крайне полезна для тех, кто, как часто бывает у разработчиков и исследователей, открывает десятки ссылок и хочет легко вернуться к той или иной странице и проследить ход своих действий. Среди функций браузера есть и режимы для приватности, такие как блокировка трекинга, отключение JavaScript и встроенный блокировщик рекламы, который необходимо активировать отдельно. Эти настройки, как и многие другие, можно включать как глобально, так и индивидуально для каждого буфера, что позволяет сочетать открытые сессии с различным уровнем защиты и функционала. Несмотря на преимущества, Nyxt далеко не лишён недостатков. Самым заметным является производительность.
Многие пользователи отмечают, что Nyxt иногда работает заметно медленнее по сравнению с классическими браузерами вроде Firefox или Chrome, особенно при взаимодействии с сайтом, насыщенным JavaScript. Это объясняется выбранными технологиями рендеринга и спецификой реализации, хотя разработчики активно работают над повышением быстродействия и уже подготовили версию 4.0, которая поддерживает рендеринг через Electron, обещая улучшение скорости и стабильности, а также поддержку Windows и macOS. С точки зрения установки, основной способ — использование пакета Flatpak на Linux, хотя при необходимости можно собрать браузер из исходников. Для некоторых систем и видеокарт (например, с NVIDIA на Fedora 41) необходимо проводить дополнительные настройки, чтобы обойти ограничения WebKitGTK, который используется в стабильной версии.
Начинающим пользователям потребуется время для освоения Nyxt, особенно если они привыкли к традиционному интерфейсу и использованию мыши. Однако, с ростом уровня владения браузером и понимания его концепции, многие отмечают ценность его уникальных возможностей и чувствуют реальный прирост продуктивности. Nyxt также отличается ограниченным сообществом. В отличие от Emacs и Vim, у него пока нет массы пользователей, делящихся настройками и расширениями. Хотя существуют отдельные репозитории с конфигурациями и немногочисленные расширения, их очень мало, и общая база знаний ещё формируется.
Это накладывает дополнительную ответственность на самих пользователей — быть готовыми разбираться с внутренними нюансами и создавать свои собственные решения. На сегодняшний день проект ведётся небольшой командой и развивается при финансовой поддержке Европейского союза, а также планами по продаже связанных с Nyxt приложений, таких как RSS-ридер Demeter. Несмотря на отсутствие большого коммерческого интереса, команда демонстрирует серьёзный энтузиазм и внимание к качеству. Nyxt является важным проектом на пересечении технологий, настроенным на особую аудиторию — технически подкованных пользователей, желающих получить абсолютный контроль над браузером и интеграцию с инструментами разработки. Его подход, ориентированный на клавиатуру и Lisp, выделяет его среди конкурентов и делает его потенциально незаменимым инструментом для тех, кто хочет уйти от навязанных и ограниченных пользовательских интерфейсов.
Этот браузер доказывает, что есть альтернатива монополиям в сфере веб-сёрфинга, и что даже в XXI веке можно возвращаться к идеям максимальной кастомизации и гибкости, которые остались вечным наследием таких проектов, как Emacs. В будущем Nyxt, вероятно, будет дальше развиваться в сторону повышения производительности и расширения платформенной поддержки, а возможно и привлечёт новых пользователей из числа разработчиков, посвятивших жизнь поиску наиболее эффективных рабочих процессов. Для тех, кто готов погрузиться в логику Lisp и стремится создать браузер под себя, Nyxt открывает двери в мир полного контроля, расширяемости и творческой свободы в каждом аспекте веб-браузинга.