version manifest что это

В бета-версии Chrome 88 включили Manifest V3, который изменит доступ расширений к данным

Google включила Manifest V3 в Chrome 88 Beta. Теперь разработчики расширений смогут протестировать изменения, затрагивающие блокировку рекламы, производительность и конфиденциальность пользователей.

Данный манифест включает набор спецификаций. Он определяет набор функций расширений для Chrome. В Manifest V3 внедрили множество изменений по сравнению с Manifest V2, который вышел в 2012 году.

Сразу после выхода Manifest V3 его раскритиковали, так как манифест ограничивал возможности блокировки контента по API webRequest, используемого блокировщиками рекламы вроде uBlock Origin и Ghostery. Однако в Google заявили, что такие расширения имели слишком широкий доступ к «потенциально конфиденциальным» данным пользователей. Тем не менее, компания заявила, что блокировщики рекламы будут только приветствоваться в экосистеме расширений Chrome, но при использовании нового API declarativeNetRequest. Google провела совместную работу с AdBlock Plus, чтобы блокировщики рекламы продолжали работать с Chrome Manifest V3.

Со стороны разработчиков претензии к declarativeNetRequest состояли в том, что новый API поддерживал не более 30 тысяч правил, тогда как EasyList включает более 60 тысяч правил. Теперь в Google пообещали, что с выходом Chrome 89 поддержку расширят до 300 тысяч правил.

Manifest V3 позволяет пользователям получить более точный контроль над сайтами, к которым может иметь доступ расширение Chrome.

Кроме того, теперь расширения Chrome не смогут запускать удаленный код. Размещаемые в магазине расширения будет проще и быстрее верифицировать.

Однако те расширения, которые используют «пользовательские сценарии», к примеру, Tampermonkey, не смогут существовать в нынешнем виде. uBlock Origin больше не будет работать, так как разработчики не смирились с внедрением declarativeNetRequest.

Чтобы сделать расширения менее ресурсоемкими, сервис-воркерам разрешат обрабатывать фоновые задачи и события.

В середине января выйдет стабильная версия Chrome 88, и в магазине расширений начнут появляться оптимизированые решения. Но расширения Manifest V2 продолжат работать как минимум год после запуска Chrome 88, пока Google продолжит работу с разработчиками. Им нужно будет внести изменения в соответствии с Manifest V3. С разработчиками Tampermonkey и других расширений уже ведут переговоры, чтобы найти способ безопасной реализации поддержки пользовательских скриптов.

Внедрение Manifest V3 затронет все браузеры платформы Chromium, в частности, Edge.

В Google также анонсировали Web Vitals Report, веб-сайт с открытым исходным кодом и инструмент, который позволит запрашивать и визуализировать данные метрик Web Vitals в Google Analytics, чтобы сравнивать данные о производительности.

Читайте также:  какие стеклоочистители выбрать для авто

Источник

Пишем правильный манифест для сайта

Думаю, многие знают о возможности добавления иконки сайта на рабочий стол мобильного устройства. Это удобно и причины могут быть разные (нету мобильного приложения, предоставляющего туже информацию, либо вы хотите сразу открыть определенную страницу сайта и т.д.). За некоторые свойства того, как будет отображаться сайт и как будет выглядеть иконка после добавления и отвечает файл манифеста.

Манифест для сайта – это простой JSON-файл, который позволяет вам настроить следующие вещи:
1. Какая будет иконка у пользователя, после того как он добавит ваш сайт на рабочий стол
2. Как будет запускаться ваш сайт (с адресной строкой, без нее или в полноэкранном режиме)
3. Splash screen
4. Цветовую тему
5. Ориентацию экрана
6. Начальный url
и многое другое

Подробнее

Чтобы показать, как manifest влияет на отображение сайта, я создал простое, тестовое веб-приложение, которые возвращает название региона по коду.

Сначала зафиксируем положение дел до добавления файла манифеста.

После того как пользователь добавил иконку, она будет выглядеть так (на Андроид 5.0)
Название браузер выдернул из тега tilte. Так что, если у вас нету файла манифеста, то хотя бы title должен быть нормальным. А вот иконка в виде буквы “G” появилась сама (не понятно, почему именно G).
А сам сайт будет выглядеть так

Тут, собственно, ничего особенного, кроме того, что мы можем убрать адресную строку, чтобы приложение было похоже на нативное.

Встречайте, manifest.json!

Генерируй и властвуй.

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

brucelawson.github.io/manifest — все что вам нужно – заполнить поля (есть краткое описание каждого параметра, так что процесс довольно легкий), остальное за вас сделает генератор.

www.favicon-generator.org — хоть прямое назначение этого сайта генерировать иконки, а не манифест. Он все же его создает и в отличии от предыдущего у вас уже будут и иконки (для iOS и Аднроид) и манифест. Правда, манифест придется подправить (изменить имя и прочее настройки).

manifest-validator.appspot.com — этот инструмент предназначен для валидации вашего манифеста.

Результат

Итак иконки нарисовали, манифест сделали. Дальше надо сообщить браузеру о манифесте, добавив в тег head следующие

Все. Смотрим, что получилось
Иконка:

Слева до. Справа после (иконка получилась невпечатлительная, с удовольствием поменяю, если пришлете лучше). Тут уже заметно, что Android использовал имя из поля short_name, так как name не помещается, видимо.

Читайте также:  Что такое кпд простыми словами

Загрузка приложения:

Тут самые приятные изменения. Во-первых, вместо белого экрана вы видите подобие splash screen, который сам создается системой из иконки, полного имени и цвета, указанного в манифесте (возможно, это происходит только на android 5.0 выше). Во-вторых, этот splash screen плавно исчезает, что визуально красиво.

Сам сайт:

Тут тоже все стало лаконично. Без UI браузера сайт смотрится гораздо лучше и больше похож на нативное приложение.

Я перечислил не все свойства, которые можно указать в файле манифеста. С полным списком можно ознакомиться здесь
Демо приложение
Репозиторий приложения

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

Источник

Зачем Win32-приложению манифест?

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

Для начала предлагаю вспомнить, как вообще в Windows появились манифесты, и как они развивались.

История манифеста

В древние времена в мире Win95/98 царил ад, точнее DLL hell. Возник он из-за того, что Windows задумывалась как идеальная система. Все приложения в ней всегда должны были писаться с использованием самых свежих версий системных библиотек. А различные версии самих библиотек должны были быть взаимозаменяемыми. Реальность быстро доказала всем, что для популярной операционки это несбыточная мечта, так и возник ад. Каждое второе приложение во время инсталляции перезаписывало системные библиотеки нужными ему версиями. В результате после установки приложения X установленное ранее приложение Y начинало глючить. А после переустановки приложения Y глючить начинало приложение X. В общем юзерам жилось весело.

Всем был хорош SxS кроме одного — он был ужасно неудобен для программиста. В 99% случаев манифест применялся только для включения тех самых тем оформления, и ни для чего больше. Разработчикам винды стало ясно, что нужен новый, более простой в использовании способ указать поддерживаемые версии системных библиотек. Тогда они придумали простое правило: в пределах одной версии системы интерфейс и поведение этих библиотек не изменяется. Нужно было только каким то образом научится определять какая их версия требуется конкретному приложению. Так в Windows 7 в манифесте появилась секция Compatibility, где можно указать с какими версиями ОС тестировалось приложение.
Также в манифесте начиная с Windows Vista появилось еще несколько секций, обо всех о них ниже.

Читайте также:  ложементы что это такое
Функции манифеста

Справа тоже самое приложение без манифеста:

Запрос разрешения пользователя:

Виртуализация файловой системы в деле:

Разработчики Висты не стерпели подобного безобразия, и заложили в DWM возможность производить масштабирование самостоятельно, а приложениям врать, что DPI по прежнему равен 96. Причем зависящие от него системные настройки, разрешение монитора и даже положение мыши, также пересчитываются. К сожалению разработчики Висты небыли волшебниками, поэтому масштабирование DWM производит с помощью простых алгоритмов растягивания изображений. И если интерфейс приложения нужно увеличить, то происходит замыливание картинки. Представьте что было бы, если бы разработчики Фотошопа не могли это отключить. Таких бунтов на корабле никто не хотел, поэтому появилась возможность указать в манифесте, что ваше приложение таки умеет нормально масштабировать свой интерфейс, и помощь DWM ему не нужна. За это отвечает параметр dpiAware. Тут правда следует отметить, что по умолчанию масштабирование силами DWM включается при увеличении 150% и выше. Видимо в Microsoft посчитали, что при масштабировании 125% артефакты как на скриншоте выше вполне терпимы.

Слева масштабирование силами DWM, а справа — самого приложения:

В Windows 8.1 появилась возможность указывать разный масштаб разным мониторам, если подключено сразу несколько. Соответственно у ключа dpiAware появилось новое значение «True/PM». Оно означает, что приложение умеет динамически изменять масштаб своего интерфейса при переносе окон с одного монитора на другой.

Наиболее интересен вопрос: «На что влияют эти GUID-ы?» Пока что список различий в поведении системных библиотек невелик. Наиболее интересно упоминание об оптимизации RPC. Получается что приложения, задекларировавшие совместимость с семеркой, будут работать быстрее.
В будущем этот раздел манифеста наверняка будет играть большую роль чем сейчас. Ведь в винде полно разных хаков призванных обеспечивать совместимость. И теперь есть возможность оградить от них нормальные приложения.

Если GUID-ы полностью отсутствуют в манифесте, то к приложению применяются правила как к совместимому с Вистой:

Источник

Информ портал о технике и не только