Опубликован план развития функциональности Firefox на 2018 год
Аса Доцлер (Asa Dotzler), координатор сообщества разработчиков Firefox, опубликовал план развития Firefox в 2018 году. Основными векторами развития названы повышение производительности, персонализация, новые возможности для мобильных систем, защита интересов пользователя и расширение функциональности инструментария и Web API.
Наиболее важным разделом плана является защита интересов пользователя, в рамках которого запланирована серия возможностей, направленных на устранение практик, мешающих комфортной работе в Web. Например, на третий квартал 2018 года намечена интеграция блокировщика рекламы, по аналогии с блокировщиком, недавно добавленным в Chrome. Виды контента, которые будут блокироваться автоматически пока не утверждены, но наиболее вероятно блокировка будет распространяться на раздражающие виды рекламы, которые не соответствуют критериям, выработанным Коалицией по улучшению рекламы (перекрывающие контент всплывающие окна, автовоспроизводимая со звуком видеореклама, реклама со счётчиком секунд до закрытия, очень большие закреплённые блоки). Также ожидается блокировка таргетированной рекламы, предлагающей варианты на основе прошлой активности пользователя в сети (отслеживание перемещений и предпочтений).
В третьем квартале также планируется расширить возможности по защите приватности:
- Все связанные с приватностью настройки будут сведены в одну секцию (план на 3 квартал);
- Механизм противодействия отслеживанию перемещений будет расширен возможностью выборочной блокировки тех или иных техник отслеживания (план на 3 квартал);
- Возможно появление автоблокировки кода трекеров, которые негативно влияют на производительности загрузки страниц (план на 3 квартал);
- Опция для запрета автовоспроизведения видео (план на Firefox 60);
- Вывод уведомлений об использовании потенциально скомпрометированных учётных записей (план на октябрь).
В области увеличения производительности будет продолжена работа по замене частей движка Gecko на компоненты Servo и оптимизации различных подсистем:
- Интеграция наработок проекта Quantum Render, основанного на системе композитинга Servo WebRender и привлекающего GPU для обработки графики (планируется в Firefox 64 c поддержкой GPU NVIDIA);
- Поддержка механизма быстрого открытия TCP-соединений (TFO — TCP Fast Open, RFC 7413), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения и даёт возможность отправки данных на начальном этапе установки соединения (план на Firefox 60);
- Поддержка механизма ускорения перехода между открытыми вкладками за счёт упреждающей отрисовки содержимого, не дожидаясь явного клика на вкладке. При подведении курсора к вкладке браузер осуществит отрисовку в буфер композитинга и в случае клика мгновенно выводет уже готовое содержимое на экран, устраняя задержку на отрисовку видимых областей. (план на Firefox 61);
- Загрузка списков блокировки в асинхронном режиме, без негативного влияния на время запуска;
- API Resize Observer, позволяющий подключить обработчик, которому будут направляться уведомления об изменении размера указанных элементов на странице. Ключевое отличие нового API от window.onresize и CSS Media Queries, заключается в том, что можно определить факт изменения конкретного элемента на странице, а не всей видимой области, что позволяет отреагировать изменением только этого элемента без изменения всего видимого содержимого;
- Поддержка CSS-свойства contain (CSS Containment), позволяющего предотвратить отображение дочерних элементов за границами блока родительского элемента. Применение contain значительно ускоряет отрисовку, так как гарантирует, что дочерние элементы не выходят за границы родительского блока и достаточно перерисовать только область родительского элемента без применение ресурсоёмких эвристических методов определения изменившихся областей на странице;
- Поддержка выполнения дополнений в отдельных процессах (уже реализовано для Winows, в течение года ожидается появление в Linux и macOS);
- Поддержка сетевого протокола QUIC (Quick UDP Internet Connections), решающего проблемы с большим временем установки и согласования TCP-соединений и устраняющего задержки при потере пакетов в процессе передачи данных;
- Оптимизация интерпретатора JavaScript в движке SpiderMonkey;
- Ускорение отображения первой страницы — после запуска окно браузера будет показано так быстро как только возможно, без необходимости ожидания пока загрузится весь стек.
В области персонализации изменения в основном связаны с созданием и доставкой дополнений:
- Намечена интеграция менеджера паролей Lockbox, который решит проблемы с безопасностью в текущей реализации master password, в которой используется ненадёжный метод хэширования на основе SHA-1;
- В Firefox Accounts появится поддержка многофакторной аутентификации через применение одноразовых паролей с ограниченным временем действия;
- В Firefox Accounts появится возможность восстановления учётной записи в случае утери пароля;
- Возможность смены языка интерфейса без переустановки (в настройках можно будет выбрать другой язык и будет загружен связанный с ним языковой пакет);
- Будет добавлен Policy Manager, дающий администратору возможность централизованной настройки (прокси, закладки по умолчанию) через файл policies.json или Window GPO;
- Будут расширены возможности по расширению тем оформления (например, можно будет менять оформление полос прокрутки, всплывающих окон и боковых панелей).
- Для дополнений отмечается появление новых API для управления вкладками, панелями, сеансами, закладками и буфером обмена: Tab Hiding, User Scripts, Toolbar Overlays, Secure Overlays, Session Management, Bookmark Management, Clipboard Interaction.
- Запланирована серия изменений в каталоге дополнений addons.mozilla.org, например, рекомендации будут формироваться на основе контекста, данных телеметрии и уровня пользователя. При открытии каталога дополнений Firefox из другого браузера будет предоставлена возможность загрузки инсталлятора с Firefox и выбранным дополнением.
Среди планов для мобильных систем:
- Браузер Firefox Klar (немецкий вариант Firefox Focus) будет переписан и переведён на GeckoView и технологии Quantum.
- В Firefox Focus появятся функции поиска, автодополнения ввода, блокировки отслеживаний и симуляции запроса из браузера для рабочего стола.
- Будет продолжена разработка Firefox для FireTV, например, появится родительский контроль.
- Firefox for iOS будет оптимизирован для iPad и получит по умолчанию защиту от отслеживания перемещений.
- Приложения для iOS и Android получат возможность совместного доступа к сохранённым паролям.
Полный текст статьи читайте на OpenNet