encyklopedia.run.place

manifest_web

manifest_web – to plik konfiguracyjny wykorzystywany w aplikacjach internetowych, zwłaszcza w tzw. Progressive Web Apps (PWA), służący do określenia, jak aplikacja powinna zachowywać się po zainstalowaniu na urządzeniu użytkownika. Plik ten jest zazwyczaj zapisywany w formacie JSON i umieszczany w katalogu głównym serwisu, a jego obecność jest zgłaszana w dokumencie HTML przy pomocy atrybutu manifest w elemencie <link>.

Historia

Pierwsze koncepcje manifestu aplikacji webowych pojawiły się pod koniec 2014 roku, kiedy to W3C oraz twórcy przeglądarek zaczęli pracować nad ujednoliceniem sposobu instalacji aplikacji internetowych. W 2015 roku specyfikacja Web App Manifest została opublikowana jako Recommendation, a od tego momentu manifest stał się standardem w nowoczesnych przeglądarkach.

Zawartość manifestu

Typowy plik manifest.json zawiera szereg kluczowych pól:

  • name – pełna nazwa aplikacji, wyświetlana w menu systemowym.
  • short_name – skrócona nazwa, używana np. na ekranie startowym.
  • start_url – adres URL, z którego uruchamiana jest aplikacja.
  • display – tryb wyświetlania (fullscreen, standalone, minimal-ui, browser).
  • background_color oraz theme_color – kolory tła i motywu, wykorzystywane przy uruchamianiu aplikacji.
  • icons – lista ikon w różnych rozdzielczościach, wykorzystywanych m.in. na ekranie startowym oraz w pasku zadań.
  • orientation – preferowana orientacja ekranu (portrait lub landscape).
  • scope – określenie zakresu URL, w którym aplikacja działa w trybie standalone.
  • related_applications oraz prefer_related_applications – informacje o powiązanych aplikacjach natywnych.

Umieszczanie manifestu w dokumencie HTML

Aby przeglądarka rozpoznała plik manifestu, należy dodać w sekcji <head> następujący element:

<link rel="manifest" href="/manifest.json">

Po wykryciu tego odnośnika przeglądarka pobiera plik, analizuje jego zawartość i udostępnia użytkownikowi możliwość instalacji aplikacji na pulpicie lub w menu aplikacji.

Powiązane technologie

Manifest web jest często używany w połączeniu z innymi standardami, które wspólnie umożliwiają tworzenie pełnoprawnych aplikacji offline:

  • Service Worker – skrypt działający w tle, odpowiedzialny za obsługę cache'u i komunikację sieciową.
  • Cache API – pozwala przechowywać zasoby (HTML, CSS, JavaScript, obrazy) na urządzeniu.
  • Web App Install Banner – interfejs umożliwiający wyświetlenie użytkownikowi prośby o instalację.
  • HTTPS – wymóg bezpieczeństwa, którego spełnienie jest niezbędne do uruchomienia PWA.

Przykładowy manifest

{
    "name": "Moja Przykładowa Aplikacja",
    "short_name": "Przykład",
    "start_url": "/index.html",
    "display": "standalone",
    "background_color": "#ffffff",
    "theme_color": "#3f51b5",
    "icons": [
        {
            "src": "/icons/icon-192.png",
            "sizes": "192x192",
            "type": "image/png"
        },
        {
            "src": "/icons/icon-512.png",
            "sizes": "512x512",
            "type": "image/png"
        }
    ],
    "orientation": "portrait",
    "scope": "/",
    "related_applications": [],
    "prefer_related_applications": false
}

Weryfikacja i testowanie

Do sprawdzania poprawności pliku manifestu oraz jego wpływu na zachowanie aplikacji służą narzędzia wbudowane w przeglądarki (Chrome DevTools, Firefox Developer Tools) oraz zewnętrzne walidatory dostępne w ramach W3C. Najważniejsze elementy testów to:

  • Poprawność składni JSON.
  • Zgodność wymagań specyfikacji (np. wymagane pola name i icons).
  • Widoczność i prawidłowa interpretacja ikon.
  • Reakcja przeglądarki na różne wartości pola display.

Bezpieczeństwo i prywatność

Manifest nie zawiera danych wrażliwych, ale jego prawidłowe wykorzystanie wymaga:

  • Serwowania pliku przez połączenie HTTPS, co zapobiega manipulacji w trakcie transmisji.
  • Unikania podawania w polu start_url adresów prowadzących do niebezpiecznych lub niezweryfikowanych zasobów.
  • Ustawienia odpowiednich nagłówków CSP (Content Security Policy), aby ograniczyć ryzyko ataków typu XSS.

Przyszłość

Rozwój standardu Web App Manifest jest kontynuowany w ramach inicjatyw W3C oraz WHATWG. Planowane są m.in.:

  • Rozszerzenie wsparcia dla rozszerzonej rzeczywistości (AR) i wirtualnej rzeczywistości (VR).
  • Udoskonalenia w definiowaniu uprawnień aplikacji (permissions), co ma ułatwić dostęp do funkcji sprzętowych (kamera, mikrofon).
  • Lepsza integracja z systemami operacyjnymi (np. Android, iOS) w zakresie instalacji i aktualizacji aplikacji.

Zobacz także