Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Достигнут консенсус по стабильной сортировке. Соответствующий PR с изменениями скорее всего также попадет в ES2019.
Для тех, кто сегодня ночью пропустил последние новости со встречи #TC39 — начало здесь. Пока в Купертино было утро, в Европе уже была ночь, поэтому писал в silent mode, чтобы никого не разбудить.
Если используете Node.js, то лучше обновиться. Выкачены обновления с устранениями уязвимостей в 6, 8, 10 и 11 ветках.
https://nodejs.org/en/blog/vulnerability/november-2018-security-releases/
HTTP/3 explained — GitBook от Daniel Stenberg (автора curl и книги http2 explained). В книге объясняются причины, по которомым QUIC-over-HTTP стал HTTP/3, и как на самом деле работает протокол
https://http3-explained.haxx.se/en/
Предложение Distinguishing literal strings было перемещено со stage 1 в неактивные, так как пропозал Trusted Types из Web Incubator CG больше не зависит от него.
Как вам такое? Microsoft делает основанный на Chromium браузер с кодовым названием Anaheim, который заменит Edge на Windows 10.
https://www.windowscentral.com/microsoft-building-chromium-powered-web-browser-windows-10
Сегодня выйдет Chrome 71. Полный список изменений можно найти вот тут.
W3C CSS Working Group обновила две Release Candidate спецификации:
- Geometry Interfaces Module Level 1 - предоставляет базовые геометрические интерфейсы для точек, прямоугольников, четырехугольников и матриц преобразования, которые используются в других модулях и спецификациях
- CSS Fragmentation Module Level 3 - описывает модель фрагментации, которая позволяет разбить сущности на страницы, колонки и регионы. Добавляет функциональность для пагинации, изменения размеров и ориентации фрагментов, widows и orphans
Уже появилась первая тема для обсуждения на следующей встрече #TC39, которая пройдет 29-31 января 2019 в офисе GoDaddy. Предложение Object.fromEntries будет пытаться взять stage 4. Напоминаю, что январская встреча TC39 — это последний шанс для stage 3 предложений попасть в ES2019. После января предложения будут попадать в стандарт ES2020.
Вышел релиз Safari Technology Preview 71.
Основные изменения:
- CSS поддержка темного режима теперь включена по умолчанию
- Web Animations включены по умолчанию
- Intersection Observer включен по умолчанию
- добавлена поддержка Web Authentication
- исправления различных Web API, SVG и CSS
- CSS свойство text-decoration теперь доступно без префикса
- улучшения рендерера и WebRTC и Web Inspector

Полный список изменений здесь
https://webkit.org/blog/8517/release-notes-for-safari-technology-preview-71/
Nick Fitzgerald из Mozilla опубликовал слайды свой презентации о wasm-bingen, которую он проводил ранее на видеосозвоне #WebAssembly Community Group. Для тех, кому интересно как реализована эта классная тулза-интероп между JS и wasm.
https://fitzgen.github.io/wasm-cg-wasm-bindgen/
Итак, 4 декабря интернет всколыхнул слух о том, что Edge может заменить часть своего браузера на Chromium. Сегодня этот слух подтвердился. На самом деле это многое объясняет.

До людей, которые занимаются разработкой EdgeHTML всегда было трудно достучаться. Например, помню своё негодование о том, что Edge должен был стать (и в итоге стал) единственным из браузеров, которые не поддерживает TextEncoding/TextDecoding API (и не поддерживает до сих пор), реализовав при этом поддержку WebAssembly. Этот API необходим для работы со строками на текущем этапе развития WebAssembly. John-David Dalton (автор lodash, сотрудник Microsoft) попытался помочь найти нужных людей, но в итоге это не вышло даже у него. У EdgeHTML нет каких-либо открытых трекеров, зато есть голосование за фичи. Это также могло означать, что основная часть команды работает над чем-то еще, пока остальная часть пытается понять что прямо сейчас необходимо разработчикам.

Отдельно стоит упомянуть то, что пока все очень мутно, и в анонсах говорится только о замене какой-то части платформы (скорее всего рендерера и обвязки над ним), но не о замене движка ChakraCore. Последний при этом, в отличии от самого браузера, умеет работать на разных платформах, это касается как ОС, там и архитектур процессоров. Более того, ChakraCore имеет необходимые биндинги для совместимости с движком V8, используемом в Chromium по умолчанию. Существует версия Node-ChakraCore, а также есть поддержка DevTools протокола, используемого Chrome. Еще из забавного, — разработка ChakraCore ведется на GitHub открыто, и разработчики JS движка никогда не были в курсе какая именно версия ChakraCore попадет в следующую версию Edge. Версии Edge для Andriod и iOS используют Chromium и WebKit соответственно, поэтому по сути Microsoft уже использует Chromium в продакшне. А так как Chromium работает и на других архитектурах и операционных системах, то имеет смысл задействовать его для запуска Edge на новых платформах.

Конечно, от такого перехода есть очевидный минус — страдает diversity браузеров. Вот, например, любимый многими Spotify отказывается работать на мобильной версии браузера Firefox. В результате пользователи вынуждены использовать основанные на Chromium браузеры, что еще больше уменьшает рынок не основанных на Chromium браузеров. С другой строны, вместе с новым Edge пользователи смогут получить современные фичи, которые доступны в Chrome (Web Components и другие), а также число пользователей Edge может вырасти за счет других платформ. Вероятно в апрельском обновлении Windows мы увидим обновление все еще старого Edge, т.к. предположительно в Q1 2019 выйдет только превью новой версии. Что ж, посмотрим как это изменит интернет. В любом случае, это знаковое событие.
Прямая трансляция от Avito Online Frontend про инфраструктуру

В дискуссии участвуют:
- Роман Дворнов (Lead Engineer в Авито),
- Егор Копылов (Главный за фронтенд в Яндекс.Диске),
- Станислав Туговиков (Руководитель фронтенда в Mail.Ru),
- Андрей Марченко (Техлид в core-team в Тинькофф),
- Сергей Мелюков (Senior Engineer в Авито).
Ведущий и модератор — Константин Буркалёв (SDCast, RadioJS).

https://www.youtube.com/watch?v=JSrAZlEUOs8&feature=youtu.be