Defront — про фронтенд-разработку и не только
12.9K subscribers
21 photos
1.09K links
Ламповый канал про фронтенд и не только. Всё самое полезное для опытных web-разработчиков

Обсуждение постов @defrontchat

Также советую канал @webnya
Download Telegram
Есть компания Ekioh, которая разрабатывает системный софт для встраиваемых устройств на базе веб-технологий. В 2006 году они сделали высокопроизводительный SVG-рендерер для разработки UI на приставках кабельного и спутникового телевидения, уместив его в 6Mb. Потом форкнули WebKit, сократив потребление памяти до 25Mb. В 2018 году Ekioh зарелизили Flow — проприетарный браузер для встраиваемых систем с очень производительным многопоточным рендерингом.

Недавно вышло интервью с Пирсом Вомбеллом — фаундером Ekioh, в котором он рассказал про новый браузер. Основная задача Flow — создание интерфесов для тв-приставок с использованием современных web-технологий. Приставки очень ограничены в ресурсах — с появлением 4k-телевизоров эта проблема встала особенно остро, поэтому они решили сделать кастомный html-движок, который впоследствии превратился в браузер. На данный момент он уже поддерживает gmail, с другими сложными сайтами ещё есть проблемы. Flow не предназначен для сёрфинга в привычном смысле, но он может использоваться разработчиками приставок для доступа к web-ресурсам. UA string браузера:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) EkiohFlow/5.7.4.30559 Flow/5.7.4 (like Gecko Firefox/53.0 rv:53.0)


На данный момент Flow доступен только для производителей приставок, но возможен релиз для всех после решения проблем с юзабилити. Поддерживаемые системы — macOS, Linux и Android.

#embedded #tv #browser

https://www.quirksmode.org/blog/archives/2020/01/new_browser_on.html
Сэмуэль Мэддок — автор проекта Metastream — пару недель назад рассказал про текущую ситуацию разработки альтернативных проектов, поддерживающих зашифрованный видеостриминг, — "The End of Indie Web Browsers: You Can (Not) Compete".

Web разрабатывался как открытая платформа. Это означает, что все решения и стандарты открыты, и любой может их использовать без лицензионных отчислений. Создание стандарта Encrypted Media Extensions (EME) пошло вразрез с этой традицией. EME — обязательный компонент, который необходим для работы стриминговых сервисов, продающих лицензионный контент (Netflix, Hulu, и т.п.). Для того чтобы альтернативный браузер смог воспроизводить такой контент, он либо должен получить подтверждение от Google, либо заплатить Microsoft 10000$. Также теоретически можно реализовать этот компонент самостоятельно, но это требует координации с третьими сторонами, что альтернативным проектам может быть не под силу.

Я лично не против лицензионного контента в web'е. Но сложность, с которой сталкиваются альтернативные проекты при внедрении EME, вызывает сомнения в достаточной проработанности стандарта как стандарта, который является часть открытого web'а.

P.S. А может не всё так плохо? Если есть чем поделиться, пишите в @defrontchat

#browser #drm #musings

https://blog.samuelmaddock.com/posts/the-end-of-indie-web-browsers/
https://habr.com/en/post/485918/ (перевод)
Тим Кадлек в статье "When CSS Blocks" рассказал, как паттерн оптимизации загрузки CSS нарушает оптимальный порядок загрузки ресурсов и блокирует парсинг HTML.

Когда браузер парсит страницу и видит, что нужно загрузить css, он останавливает процесс рендеринга страницы и ждёт загрузки CSS. Для загрузки некритичного CSS такое поведение нежелательно, поэтому появился паттерн "preload/polyfill", в котором CSS загружается с помощью <link rel="preload" ...> в неблокирующем режиме. Если preload не поддерживается браузером то в работу вступает небольшой полифилл.

Тут возникает две проблемы: 1) использование preload откладывает загрузку важных ресурсов и некритичный CSS загружается в первую очередь, 2) когда полифилл инициирует загрузку CSS, парсинг html останавливается полностью, таким образом сайт рендерится с задержкой. Тим пишет, что авторы паттерна "preload/polyfill" больше не рекомендуют его использовать, а предлагают использовать трюк с медиа:
<link rel="stylesheet" href="/path/to/my.css" media="print" onload="this.media='all'">


Но устаревший паттерн продолжают использовать по инерции, создавая проблемы с производительностью.

Тим написал ещё одну очень хорошую статью. Рекомендую почитать.

#perfromance #browser #css

https://timkadlec.com/remembers/2020-02-13-when-css-blocks/
Иногда новые спецификации добавляются в браузеры очень быстро, а иногда очень медленно. Почему так происходит? У разработчиков браузеров есть свои цели и приоритеты, которые не всегда совпадают с пожеланиями других компаний и сообщества. Компания Igalia помогает внешним компаниям в добавлении новых фич в браузеры. Например, её нанимал Bloomberg для добавления поддержки гридов в Chromium и WebKit.

Сегодня Igalia анонсировала Open Prioritizaiton. Это экспериментальный проект, который позволяет сообществу и небольшим компаниям профинансировать реализацию новых спецификаций. Сейчас в списке доступных задач есть добавление поддержки цветового пространства lab в Firefox, :focus-visible в WebKit, атрибута inert в WebKit, selector list arguments для :not() в Chrome, CSS Containment в WebKit и добавление поддержки установки SVG-атрибута d с помощью CSS в Firefox.

В общем, если что-то из этого списка вам близко, можно поучаствовать в проекте. Я задонатил пару баксов в поддержку CSS Containment.

#announcement #browser

https://www.igalia.com/open-prioritization/