Вебня
4.69K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
Инженеры Facebook собираются заимплементить в Chromium WICG пропозал спецификации JavaScript Self-Profiling API Proposal для измерения времени исполнения JavaScript в браузерах пользователей.
Опубликована вторая версия WICG предложения Picture in Picture, которая позволит не ограничиваться HTMLVideoElement, а использовать любой произвольный контент. Это нужно в первую очередь для кастомизации UI и UX видео элемента, но кажется позволит делать и более интересные штуки. Команда Chromium выразила желание заимплементить это предложение.
https://twitter.com/mathias/status/1122839902452948993

Внезапно. CSS не имеет однострочных комментариев по спецификации, однако все браузеры всё равно поддерживают “//“ (на самом деле нет, смотрите комментарий @rdvornov)
Еще одна инициатива WICG и команды Chromium — Periodic Background Sync. Это дополнение к другому WICG предложению Background Sync (поддерживается в Chrome начиная с версии 49), которое добавляет возможность многократно повторять синхронизацию через определенный промежуток времени.
CSS WG опубликовала Candidate Recommendation спецификаций CSS Easing Functions Level 1 и CSS Containment Module Level 1. Первая определяет кривые для анимаций, вторая добавляет свойство contain, которое указавает, что элемент и его контент независимы от дерева документа настолько, насколько это возможно. Это позволяет браузеру производить необходимые изменения только для части DOM, а не всей страницы.
16 мая в Москве пройдет первый #WebAssembly митап, одним из организаторов которого я являюсь.

https://webassembly-moscow.timepad.ru/event/969924/
SQLite портировали на Webassembly путем компиляции оригинального C кода с помощью Emscripten. Проект доступен в npm под именем sql.js, начинался как asm.js проект, которому требовались C биндинги, node-gyp компиляция и прочие шаманства – теперь это все не нужно, пакет можно использовать как обычный JS модуль. Работает в node.js, браузерах и WebWorker'ах.
Под капотом обычный SQLite, который хранит базу данных в памяти (не сохраняет изменения куда либо), но умеет импортировать sqlite файлы и экпортировать БД в виде TypedArray.
Пару недель назад прошла двухдневная встреча W3C Web Platform Working Group, на которой обсудили множество интересных тем (там, например, есть JSON modules, и даже CSS Modules). Нам еще предстоит ознакомиться с результатами обсуджений, но прямо сейчас, как правильно подсветил Luca Colonnello, наибольшее внимание привлекают два предложения: декларативный Shadow DOM и декларативные Custom Elements. Эти два предложения нацелены решить проблемы Web Components связанные с серверным рендерингом (речь про SEO, performance etc)
Я тут в путешествиях пропустил новости с #msbuild, поэтому сворую у Веб-стандартов.

https://t.me/webstandards_ru/4925

А ещё Вадим поехал на Google I/O, поэтому подписываемся на канал и ждём от него новостей!
https://devblogs.microsoft.com/dotnet/introducing-net-5/

Microsoft анонсировали .NET 5, который выйдет в ноябре 2020 и будет следующим релизом после .NET Core 3.0. В нём помимо прочего добавится поддержка #WebAssembly через Mono AOT компилятор (как это уже реализовано в Blazor, который недавно перешёл в стадию preview).
Googlebot проапгрейдили до последнего Chrome 74 и пообещали регулярно это делать в будущем. Заметим, что апгрейд существенный и по заявлениям Webmaster Central Blog это более 1000 новых фич, в том числе ES6+ и Web Components v1
https://webmasters.googleblog.com/2019/05/the-new-evergreen-googlebot.html
IETF анонсировал новый почтовый протокол JMAP. Главная особенность, что в качестве формата передачи данных используется JSON. Протокол упрощает и делает более эффективным синхронизацию почтовых сообщений. Также предполагается использование протокола для синхронизации контактов и календаря.
https://www.ietf.org/blog/jmap/
Вышел первый стабильный релиз GraalVM, который, помимо прочего, включает поддержку JavaScript и всех API Node 10.15.2.
https://medium.com/graalvm/announcing-graalvm-19-4590cf354df8

Если Вы не знакомы с проектом GraalVM, то можете почитать описание, которое я публиковал тут ранее.

Также можете почитать статью о том, как комбинировать в своем проекты возможности NodeJS и OpenJDK.
https://blog.plan99.net/vertical-architecture-734495f129c4
Полный список видео с Google I/O:
https://www.youtube.com/playlist?list=PLNYkxOF6rcIATmAmz7HcCzongGvQEtx8i