Манифест веб-приложения (manifest.json) является
стандартом W3C и используется для управления метаданными PWA
(Progressive Web App). Он определяет внешний вид и поведение приложения
при установке на устройство, включая значки, ориентацию экрана, цветовую
схему и начальный URL.
Основные поля:
name и
short_name — полные и сокращённые названия
приложения.
start_url — адрес, с которого
приложение будет запускаться.
display — режим отображения:
fullscreen — полноэкранный режим без UI браузера.standalone — режим с минимальным UI, напоминающий
нативное приложение.minimal-ui — слегка сокращённый интерфейс
браузера.browser — обычное отображение в браузере.background_color — цвет фона во
время загрузки.
theme_color — основной цвет
интерфейса и элементов системы.
icons — массив объектов с иконками
разного разрешения:
{
"src": "assets/icons/icon-192.png",
"sizes": "192x192",
"type": "image/png"
}
Для подключения манифеста достаточно поместить файл
manifest.json в src/ и добавить ссылку в
index.html:
<link rel="manifest" href="manifest.json">
В Angular CLI также можно автоматизировать генерацию манифеста через PWA-схему:
ng add @angular/pwa
Это создаёт стандартный manifest.webmanifest,
сервис-воркер и конфигурацию для поддержки офлайн-режима.
Манифест тесно связан с service worker, который
обеспечивает кэширование и офлайн-доступ. Цвета и значки из манифеста
влияют на экран загрузки приложения и иконки на домашнем экране
устройства. Правильная настройка display и
start_url позволяет создавать ощущение нативного приложения
на мобильных устройствах.
Разные платформы читают манифест по-разному:
Для кроссплатформенной совместимости рекомендуется комбинировать
manifest.json с мета-тегами:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
Эта комбинация обеспечивает единообразный опыт пользователя на всех устройствах.