Blog/content/posts/2023/javascript/pwa-installable.md
2023-02-14 23:30:33 +03:00

106 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "📲 Как добавить PWA на главный экран"
date: 2023-02-14T23:14:16+03:00
draft: false
tags: [development, javascript, pwa]
---
В этой статье я разберу, как этого добиться того,
чтобы используя веб-манифест добавить функцию в PWA приложеине
под названием **«Добавить на главный экран»**.
Эта технология позволяет запускать приложение прямо с рабочего стола,
без запуска браузера и ручного ввода URL-адреса.
Веб-приложение может быть установлено рядом с нативным.
Поэтому к нему проще получить доступ, а так же можно указать,
что приложение должно использовать полноэкранный режим браузера,
делая его ещё более похожим на нативное.
## Требования
Чтобы сделать сайт доступным для установки, ему необходимы следующие вещи:
* Веб-манифест с правильно заполненными полями
* Сайт должен использовать защищённый HTTPS протокол
* Иконка для предоставления приложения на устройстве
* Зарегистрированный service worker, чтобы приложение работало в offline режиме
## Файл манифеста
Ключевым элементом является файл манифеста,
в котором представлена вся информация о веб-сайте в JSON формате.
Обычно файл манифеста находится в корневой папке веб-приложения.
Он содержит информацию о названии приложения, пути к значкам разных размеров
и цвет фона для использования при загрузке.
Эта информация необходима браузеру для правильного отображения приложения
при установке на домашнем экране.
Файл `app.webmanifest` веб-приложения включают в раздел `<head>` файла `index.html`
с помощью следующей строчки кода:
```html
<link rel="manifest" href="app.webmanifest">
```
Содержимое файла может выглядеть так:
```json
{
"name": "Progressive Web App",
"short_name": "app",
"description": "Progressive Web App.",
"icons": [
{
"src": "icons/icon-32.png",
"sizes": "32x32",
"type": "image/png"
},
// ...
{
"src": "icons/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"start_url": "/pwa-examples/app/index.html",
"display": "fullscreen",
"theme_color": "#B12A34",
"background_color": "#B12A34"
}
```
Названия большинства полей говорят сами за себя, но давай разберём их подробно:
* `name` — Полное название приложения
* `short_name` — Короткое название для отображения на домашнем экране
* `description` — Одно-два предложения, описывающих приложение
* `icons` — Информация о значках (URL, размеры, типы)
* `start_url` — Загружаемый исходный документ при запуске приложения
* `display` — Как приложение должно отображаться; может быть `fullscreen` (полноэкранный), `standalone` (автономный), `minimal-ui` (минимальный пользовательский интерфейс), `browser` (браузер)
* `theme_color` — Основной цвет для интерфейса, используется операционной системой
* `background_color` — Цвет для фона, используется при установке и на заставке
Минимальные требования к манифесту - `name`
и хотя бы один значок (с `src`, `size` и `type`).
Поля `description`, `short_name`, и `start_url` являются рекомендуемыми.
## Добавить на домашний экран
«Добавить на домашний экран» (кратко: `a2hs`) — это функция,
реализованная браузерами, которая берёт информацию из веб-манифеста
и использует её для добавления приложения на домашний экран устройства
со значком и именем. Это работает при выполнении требований, описанных выше.
Когда пользователь посещает PWA с помощью браузера, поддерживающего технологию,
должен отобразиться значок, указывающий на возможность установки приложения
в качестве PWA.
## P.S.
Эта статья написана исключительно копипастом со статьи
[Как сделать PWA устанавливаемым](https://developer.mozilla.org/ru/docs/Web/Progressive_web_apps/Installable_PWAs)
на [developer.mozilla.org](developer.mozilla.org).