С выходом iOS 26 внимание общественности было приковано к новому интерфейсу «стекло» и улучшенному экрану блокировки. Однако более значительное изменение тихо перевернуло технологический ландшафт для разработчиков и креативщиков. iOS 26 вводит полную поддержку WebGPU, завершая давнюю головоломку в области медиа и AI обработки в браузере и позволяя создать новое поколение высокопроизводительных веб-приложений на всех устройствах, включая iPhone и iPad.
WebGPU в iOS 26: тихая революция, меняющая всё
WebGPU — это графический API нового поколения для веба, значительно более мощный и гибкий, чем его предшественник WebGL. Он предоставляет разработчикам низкоуровневый доступ к аппаратному обеспечению GPU, позволяя использовать современные возможности, такие как вычислительные шейдеры и буферы памяти, непосредственно в браузере. WebGPU приносит в веб-платформу производительность, ранее доступную только для технологий уровня Metal или DirectX 12, но в безопасной и доступной API для JavaScript.
Это нововведение позволяет выполнять видео редактирование с ускорением на GPU, 3D-рендеринг и обработку AI в реальном времени прямо в браузере. Без необходимости в нативных приложениях или плагинах даже маленькие команды теперь могут создавать сложные приложения только на базе веб-технологий.
WebGPU уже поддерживался в Chrome и Edge (на Windows, macOS и Android) и в Safari на macOS, начиная с версии 17. Однако Safari на iOS и iPadOS не имел поддержки, что делало мобильные устройства Apple последней крупной платформой без доступа к этой возможности. С iOS 26 Safari получает полную поддержку WebGPU, объединяя экосистему Apple на компьютерах, планшетах и телефонах.
Это обновление позволяет выполнять GPU-ускоренное видеорендеринг, выполнение моделей AI и сложные 3D-опыты непосредственно на мобильном Safari, фактически разрывая зависимость от нативных приложений для сложных функций. Реализация Apple основана на Metal, обеспечивая высокую производительность с минимальным воздействием на батарею и сниженным использованием CPU.
Сила WebGPU уже реализуется в модульных рендеринговых конвейерах. Разработчики могут создавать видеоинструменты, которые используют вычислительные шейдеры для рендеринга эффектов, наложений и переходов в реальном времени. Использование текстур GPU вместо копий памяти на стороне CPU делает рендеринг быстрее и эффективнее.
Браузерные видеоплатформы теперь могут позволить пользователям загружать JSON-шаблоны, рендерить кадры с помощью шейдеров и направлять их в инструменты потокового вещания или кодировщики, всё в декларативной веб-среде. Каждый медиа-объект, будь то видео, текст или аудио, может быть управляем GPU и составляться в визуализации в реальном времени.
Библиотеки, такие как Transformer.js и ONNX Runtime, теперь поддерживают выполнение WebGPU, позволяя разработчикам запускать модели AI, такие как Whisper от OpenAI (распознавание речи), MobileNet (классификация изображений) или диффузионные модели (генерация изображений) непосредственно в браузере.
Этот сдвиг позволяет выполнять AI улучшения в реальном времени на устройстве, включая генерацию субтитров, обнаружение объектов и визуальные фильтры, не отправляя данные в облако. Это приводит к улучшенной конфиденциальности, сниженной задержке и значительной экономии на вычислительных ресурсах. Синергия WebGPU с AI инструментами открывает ряд интеллектуальных медиа-возможностей:
- Улучшение изображения и видео: Масштабирование, удаление шумов и интерполяция кадров в реальном времени.
- Конфиденциальность на устройстве: Чувствительные данные остаются локально, обеспечивая оффлайн-функциональность.
- Креативная автоматизация: Функции автоматической генерации субтитров или перевода речи, встроенные в браузер.
Эти возможности демократизируют обработку медиа высокого уровня, делая её доступной для обычных пользователей и небольших команд. Transformers.js предлагает поддержку WebGPU с простым изменением конфигурации, значительно увеличивая скорость вывода для задач, таких как:
- Перевод и суммаризация: Обработка текста в реальном времени с помощью NLP моделей.
- Компьютерное зрение: Обнаружение объектов в браузере на живом видео.
- Мультимодальные AI: Запуск нескольких моделей AI параллельно для интерактивных, интеллектуальных приложений.
Ускорение с помощью GPU позволяет получать результаты почти в реальном времени, даже для сложных задач, которые обычно перегружают CPU браузера. WebCodecs, низкоуровневое API для кодирования и декодирования медиа, тесно интегрируется с WebGPU. Разработчики теперь могут:
- Эффективно обрабатывать видеокадры: Декодировать, обрабатывать с помощью шейдеров и пере-кодировать, не выходя из памяти GPU.
- Включить потоковую передачу в реальном времени: Применять эффекты или наложения с минимальной задержкой.
- Создавать браузерные видеоредакторы: Выполнять полные рабочие процессы редактирования в браузере, используя импортированные текстуры GPU.
Вместе, WebCodecs и WebGPU устраняют узкие места устаревшей обработки видео в JavaScript, сопоставимые с производительностью нативных приложений. WebCodecs повторяет многое из того, что FFmpeg достигает в нативных средах. С прямым доступом к современным кодекам, таким как H.264, VP9 и AV1, разработчики теперь могут создавать веб-инструменты для транскодирования, преобразования форматов или потоковой передачи, не полагаясь на серверные стеки FFmpeg. Этот подход значительно снижает нагрузку на сервер и предлагает интерактивные, в реальном времени видеоработу, которые ранее были немыслимы на вебе. Графические библиотеки, такие как Three.js, Babylon.js и PlayCanvas, адаптируются к WebGPU, чтобы обеспечить:
- Продвинутые визуальные эффекты: Включая трассировку лучей, освещение в реальном времени и большие объёмы объектов.
- Улучшение эффективности: С меньшим использованием CPU и лучшим управлением ресурсами.
- Функции на основе вычислений: Включая симуляции частиц и физические движки, ранее сложные в WebGL.
- Эти обновления унифицируют производительность через браузеры и устройства, позволяя разработчикам сосредоточиться на создании функций, а не на управлении совместимостью.
TypeGPU появляется как решение для интероперабельности между библиотеками, работающими на WebGPU. Это позволяет разработчикам писать код для GPU на TypeScript и компилировать его в WGSL, обеспечивая бесшовный обмен данными между библиотеками, такими как Three.js и TensorFlow.js. Абстрагируя сложности управления памятью GPU и форматов данных, TypeGPU снижает барьер для создания модульных GPU-конвейеров, поощряя большую композитность в AI, графике и видео-фреймворках.
- Конвергенция WebGPU, WebCodecs и AI-инструментов переопределяет возможности браузеров. Эти усовершенствования теперь делают возможными:
- Редактирование видео в браузере: Превью в реальном времени, эффекты и экспорт, всё с ускорением GPU.
- Интерактивные потоковые платформы: С живой статистикой, наложениями и локальными эффектами на зелёном фоне.
- Медиаплееры с AI улучшениями: Предлагающие живой перевод, AR-наложения или автоматически сгенерированные субтитры.
- Коллаборативные рабочие процессы: Где GPU на стороне клиента снижают затраты на облачные сервисы и задержку.
С поддержкой WebGPU в iOS 26 веб-платформа совершила значительный скачок вперёд. Разработчики теперь могут создавать действительно нативные впечатления прямо в браузере, включая обработку видео в реальном времени, рендеринг на GPU и выполнение AI. Для пользователей это означает, что мощные инструменты теперь находятся на расстоянии одного URL, без необходимости установки. А для веба как платформы, это сигнализирует о будущем, где производительность, конфиденциальность и портативность не находятся в конфликте, а в полной гармонии.
Невероятно, как WebGPU открывает новые возможности для веб-разработчиков. Особенно впечатляет возможность обработки видео и AI в реальном времени прямо в браузере. Это действительно может изменить подход к созданию веб-приложений и сделать их более доступными и мощными.
Поддержка WebGPU в iOS 26 — это огромный шаг вперёд для мобильных устройств. Теперь мы можем ожидать более сложные и интерактивные приложения на iPhone и iPad. Особенно радует, что это позволит улучшить конфиденциальность, сохраняя обработку данных локально.