Как запустить macOS в браузере и зачем это нужно разработчику

05 Jul, 2026
2,646
🔱 340
👥 26

Всегда мечтал о MacBook, но кошелек шептал обратное? Автор проекта macos-web Пуру Виджай решил эту проблему радикально. Он не стал копить деньги, а просто взял и переписал интерфейс macOS Ventura на Svelte. Результат получился настолько правдоподобным, что через пару минут работы в браузере забываешь, что это обычная веб-страница.

Интересно, что проект вырос из чистого любопытства и фанатского отношения к дизайну Apple. Пуру признается, что никогда не владел «маком», и это вдохновило его воссоздать эстетику системы в вебе. Раньше проект жил на Preact, но автор переписал всё на Svelte, чтобы добиться еще большей плавности и легкости кода.

Что внутри этой песочницы

Проект не пытается стать полноценной операционкой, это именно имитация интерфейса. Но имитация чертовски качественная. Когда заходишь на демо-сайт, тебя встречает знакомый экран блокировки, а после «логина» — рабочий стол с доком, верхним меню и виджетами.

Здесь работают базовые вещи, которые мы привыкли видеть в macOS:

  • Настоящий многооконный интерфейс. Окна можно перетаскивать, сворачивать и менять их размер.
  • Центр управления. Можно пощелкать переключателями Wi-Fi, Bluetooth или изменить яркость экрана (правда, это просто CSS-фильтр поверх страницы).
  • Интерактивный Dock. Иконки увеличиваются при наведении, прямо как в оригинале.
  • Системные приложения. Есть калькулятор, календарь и даже упрощенная версия Safari.

Технологический стек без прикрас

Автор выбрал довольно минималистичный набор инструментов. Никаких тяжелых библиотек компонентов вроде MUI или Tailwind.

  • Svelte — основной фреймворк. Выбор логичный: отсутствие виртуального DOM помогает интерфейсу оставаться отзывчивым даже при куче открытых окон.
  • Vite — для сборки. Сейчас это стандарт индустрии, который обеспечивает моментальную перезагрузку при разработке.
  • SCSS — для стилизации. Весь визуал macOS, все эти градиенты, блюры и тени прописаны вручную на чистом CSS/SCSS.

В репозитории нет готовых UI-китов. Это значит, что каждый элемент управления, каждая кнопка и ползунок создавались с нуля. Для тех, кто хочет поучиться верстке сложных интерфейсов, это просто кладезь примеров.

Кому и зачем это может пригодиться

На первый взгляд кажется, что это просто красивая игрушка для портфолио. Но если копнуть глубже, у проекта есть вполне практические кейсы.

Во-первых, это отличный учебник по Svelte. Если вы привыкли к React и хотите посмотреть, как на Svelte реализуются сложные стейты (например, управление активными окнами или глобальные настройки системы), код Пуру даст отличные подсказки.

Во-вторых, архитектура проекта показывает, как организовать Desktop-like опыт в браузере. Если вам прилетит задача сделать сложную админку с окнами и виджетами, macos-web станет готовым чертежом.

В-третьих, это просто чертовски хороший пример того, как один разработчик может воссоздать сложнейший UI, используя только открытые инструменты и свое упорство.

Стоит ли лезть в код

Если вы ждете готовую библиотеку, которую можно подключить одной строчкой через npm — это не тот случай. Проект монолитный и заточен именно под воспроизведение macOS.

Who knows?

Однако заглянуть в репозиторий точно стоит ради реализации Drag-and-Drop и системы управления слоями (z-index). Там это сделано элегантно. Проект открыт для контрибьюторов: автор честно пишет, что не знает, когда проект будет полностью готов, и приглашает всех желающих фиксить баги или предлагать свои фичи.

Попробовать систему в деле можно по ссылке macos-web.app. Предупреждаю: можно залипнуть на полчаса, просто перетаскивая окошки.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.