Вебня
4.67K subscribers
89 photos
2 videos
3 files
2.08K links
JS VMs, спецификации, пропозалы, встречи #TC39, #WebAssembly, #W3C, браузеры, нёрдство.
Download Telegram
@prosvirnina спасибо за упоминание в Веб-стандартах! ❤️
Windows 10 October 2018 Update aka version 1809 стал доступен, а с ним и Edge 18.
В новую версию браузера добавили управление автоплеем для медиа, улучшение CSS масок, улучшение devtools (панели для Service Worker, Storage, улучшения дебаггера, обновление DevTools Protocol до версии 0.2), PWA, Web Authentification, WebDriver, Web Notification properties, WebView.
https://docs.microsoft.com/en-us/microsoft-edge/dev-guide
https://docs.microsoft.com/en-us/microsoft-edge/devtools-guide/whats-new
W3C SVG Working Group выпустила кандидата в рекомендацию Scalable Vector Graphics (SVG) 2, спецификации языка SVG второй версии. Список изменений можно почитать в удобном виде на MDN или же в приложении K самой спецификации.
Еще немного про SVG 2. На chromestatus можно увидеть текущее состояние фичи в браузерах

Chrome: In development
Firefox: In development
Edge: Public support
Safari: In development
Web Developers: No signals

По планам, спецификация перейдет в стадию Proposed Recommendation когда-то после 4 декабря этого года.
Создал репозиторий для отслеживания предложений в #WebAssembly
https://github.com/chicoxyzzy/WebAssembly-proposals
How to Read the ECMAScript Specification — Living document, который поясняет как правильно читать спецификацию ECMAScript
https://timothygu.me/es-howto/
Кстати, самая свежая версия спецификации со всеми последними правками находится вот тут на гитхабе: https://tc39.github.io/ecma262/
Всегда используйте эту версию, а не годовые выпуски.
Custom Elements и Shadow DOM получили статус “в разработке” на вебсайте Platform Status MS Edge
https://developer.microsoft.com/en-us/microsoft-edge/platform/status/customelements/
https://developer.microsoft.com/en-us/microsoft-edge/platform/status/shadowdom/
В свежем Safari Technology Preview 67 среди прочего добавились Pointer Events (под флагом). Браузеры на основе WebKit — единственные среди популярнейших, в которых Pointer Events не было. Также в релизе очередная пачка улучшений WebRTC и медиа, фиксы CSS, Houdini CSS Custom Properties and Values API (под флагом), незначительные улучшения и оптимизации JS, исправления нескольких Web API, Shadow DOM, Web Animations, Web Inspector, Web Driver и WebSQL.
https://webkit.org/blog/8419/release-notes-for-safari-technology-preview-67/
Class fields вышли на стадию ревью в JavaScriptCore (JS движке, используемом в браузерах WebKit)
https://bugs.webkit.org/show_bug.cgi?id=174212#c52
https://github.com/tc39/proposal-class-fields/pull/140#issuecomment-428878848

У одно представителя китайского JS-коммьюнити и спикера из Шанхая бомбануло от процесса принятия решений комитетом TC39. А один из членов TC39 якобы нашептал ему, что часто многие члены комитета не согласны с различными предложениями в ECMAScript, но не хотят “раскачивать лодку”. No comments. Кстати, он в отличие от многих других негодующих осилил прочитать в FAQ о том, почему не private, а # (сам FAQ здесь, если еще не читали).
А вы как считаете, приватные свойства в JavaScript нужны?
anonymous poll

Нужны – 220
👍👍👍👍👍👍👍 69%

Не нужны – 73
👍👍 23%

Не могу определиться – 27
👍 8%

👥 320 people voted so far. Poll closed.
JavaScript движок Nashorn впервые попал в JDK 8 версии как замена движку Rhino. Релиз состоялся в декабре 2012. В свежем JDK 11 Nashorn все еще входит в поставку, но помечен как deprecated. Инженеры Oracle решили, что ECMAScript развивается слишком быстро и поддержка собственного JS движка отнимает слишком много времени. В JDK 12 Nashorn возможно уже не будет.
https://bugs.java.com/view_bug.do?bug_id=JDK-8202786
Замена движку Nashorn уже разрабатывается Oracle, и это GraalVM — расширение виртуальной машины JVM, созданное для поддержки разных языков. Graal (основная часть GraalVM) может быть использован и как ahead-of-time, и как just-in-time компилятор. Одной из ключевых возможностей проекта является одновременная поддержка различных языков программирования. Как вы уже догадались, GraalVM умеет в том числе JavaScript (а также умеет работать с npm и поддерживает все API Node.js). Кроме того, GraalVM имеет отличную поддержку ECMAScript, вплоть до текущей версии ES2018, а также кое-что из будущего ES2019, в чем вы можете убедиться, заглянув в таблицу совместимости. В данный момент GraalVM находится статусе Release Candidade. Свежайшая на данный момент версия 1.0 RC7 выпущена 2 октября, бинарники доступны для операционных систем Windows, macOS, Linux.

Исходники проекта GraalVM и сборки Graal.js можно найти на GitHub:
https://github.com/oracle/graal
https://github.com/graalvm/graaljs
Помните пропозал global, который оказался несовместим с вебом? Освежить память можно, например, тут. Проблема в YUI от Yahoo, который неправильно юзает moment.js. Его (`global`) не так давно переименовали в globalThis и он уже без флага будет доступен в доступен в Chrome 70, который выйдет 16 октября. Его вот уже переименовали даже в репке предложений
https://github.com/tc39/proposals/pull/157/files
А чуть ранее я обновил тесты и результаты для таблицы совместимости.
Вангую, что globalThis попадет в ES2019.
Если вы интересуетесь Web Audio API, то срочно подписывайтесь в твиттере на Ruth John, она замечательная. А недавно она обновила документацию по Web Audio API на MDN. Посмотрите как здорово стало!
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API