Сегодня в багтрекере Firefox была закрыт и помечен как решённый тикет про публичные и приватные поля классов, хотя я не смог найти как включить их в свежайшем Nightly (но есть понятный эксепшн
https://bugzilla.mozilla.org/show_bug.cgi?id=1499448
SyntaxError: fields are not currently supported).https://bugzilla.mozilla.org/show_bug.cgi?id=1499448
Новость не совсем по теме канала, но довольно интересная и важная:
В стандарт C++20 добавили модули и корутины!
https://twitter.com/jfbastien/status/1099420319847145473
В стандарт C++20 добавили модули и корутины!
https://twitter.com/jfbastien/status/1099420319847145473
Twitter
JF Bastien
As of a few minutes ago, C++20 has modules and coroutines. Combine that with concepts, contracts, ranges, operator , constexpr everywhere, std::span, std::atomic_ref, etc. ‼️ C++20 will be *huge* (in a good way) ‼️
Рабочая группа Web Performance опубликовала спецификацию User Timing Level 2 как W3C Recommendation. Эта спецификация описывает возмозможности для измерения производительности приложений с помощью высокоточных таймеров и поглощает выпущенную в декабре 2013 года спецификацию User Timing.
CSS Working Group собираются добавить разные математические функции.
https://twitter.com/bdc/status/1100921258839953408
Твит заметил @maxgraey, за что ему как всегда большое спасибо 👍
https://twitter.com/bdc/status/1100921258839953408
Твит заметил @maxgraey, за что ему как всегда большое спасибо 👍
Twitter
Benjamin De Cock
The CSS Working Group agreed this morning on adding many math functions. We now have: • calc() • min() • max() • clamp() • sin() • cos() • tan() • acos() • asin() • atan() • atan2() • hypot() • sqrt() • pow() The face of CSS is rapidly changing.
С сегодняшнего дня мастер ветка репозитория спецификации содержит версию ES2020, а ES2019 выделен в отдельную ветку. Напомню, что следуя документу процесса TC39, feature freeze ES2019 происходит после январской встречи, а все последующие предложения в спецификацию, которые достигнут stage 4, попадут уже в ES2020. Официальный релиз ES2019 произойдет в июле.
https://twitter.com/bterlson/status/1101226568985174016
https://twitter.com/bterlson/status/1101226568985174016
Twitter
bterlson.d.ts
ECMA262 master branch is now ES2020! Really looking forward to all the hindsight jokes ya'll are inevitably going to make!
Hashbang Grammar добавили в SpiderMonkey. В Firefox Nightly изменение пока не доехало, но скоро выкатится (а в Chrome Canary 74 уже есть). Такой синтаксис нужен для запуска скриптов в unix-системах интерпретатором (в случае с js это в основном, конечно, NodeJS). Поддержка на уровне языка позволит считать такую строку комментарием и соответственно игнорировать её. Так можно переиспользовать скрипты как из CLI окружений, так и в движках JavaScript.
https://bugzilla.mozilla.org/show_bug.cgi?id=1519097
https://bugzilla.mozilla.org/show_bug.cgi?id=1519097
В Firefox собираются сделать String.prototype.matchAll доступным без каких-либо флагов во всех сборках. На данный момент эта фича доступна только в Nightly.
https://bugzilla.mozilla.org/show_bug.cgi?id=1531830
https://bugzilla.mozilla.org/show_bug.cgi?id=1531830
Бенедикт Мойрер (команда Google V8) опубликовал свои исследования производительности конкатенации строк в JavaScript и конкретно в V8.
bit.ly/fast-string-concatenation-in-javascript
bit.ly/fast-string-concatenation-in-javascript
Google Docs
Fast string concatenation in JavaScript
Fast string concatenation in JavaScript Attention: Shared Google-externally Author: bmeurer@ Last Updated: 2019-03-21 TL;DR Fast String concatenation is hard in JavaScript. Engines have plenty of clever optimizations in place that make it non-trivial to find…
Рабочая группа W3C Web Authentication опубликовала W3C Recommendation спецификации Web Authentication: An API for accessing Public Key Credentials Level 1 (WebAuthn). Этот API позволяет веб-приложениям использовать простую и надежную аутентификацию и уже поддерживатся в Windows 10, Android, а также браузерах Chrome, Firefox, Edge и Safari. Подробнее в пресс-релизе от W3C и FIDO Alliance:
https://www.w3.org/2019/03/pressrelease-webauthn-rec.html
https://www.w3.org/2019/03/pressrelease-webauthn-rec.html
Совсем забыл написать вчера огненную новость 🔥 (но возможно Вы уже в курсе).
В Chrome 73, который выйдет уже через неделю (12 марта) убрали поддержку Web Components v0, что привело к поломке некоторых сайтов, например… YouTube. Этот видеосервис от Google использует JavaScript библиотеку Polymer 1.0, основанную на устаревшей версии веб-компонентов и добавляет полифиллы для всех браузеров, кроме основанных на Chromium. Проверки на версию Chromium на YouTube до сих пор нет, поэтому в Canary он выглядит как на скриншоте. Представители команды Polymer прокомментировали это под твитом от Веса Боса.
Данный факт стал причиной появления множества шуток с использованием слогана от команды Polymer “Use the platform”.
В Chrome 73, который выйдет уже через неделю (12 марта) убрали поддержку Web Components v0, что привело к поломке некоторых сайтов, например… YouTube. Этот видеосервис от Google использует JavaScript библиотеку Polymer 1.0, основанную на устаревшей версии веб-компонентов и добавляет полифиллы для всех браузеров, кроме основанных на Chromium. Проверки на версию Chromium на YouTube до сих пор нет, поэтому в Canary он выглядит как на скриншоте. Представители команды Polymer прокомментировали это под твитом от Веса Боса.
Данный факт стал причиной появления множества шуток с использованием слогана от команды Polymer “Use the platform”.
Пока разработчики JavaScript движков занимаются имплементацией приватных полей классов (а разработчики V8 уже реализовали их и добавили без флага в Chrome 74), споры вокруг этого предложения в спецификацию не угасают. Одна из свежих issue: “private fields will break vue/mobx”. Также можно почитать последние комментарии из “Private members break proxies”.
На только что завершившейся встрече #WebAssembly Community Group был достигнут консенсус по переносу предложения Bulk memory operations с phase 2 на phase 3 (фаза имплементации). В настоящее время это предложение уже реализовано в SpiderMonkey и V8.
В сети появились первые скриншоты новой версии браузера Edge, основанной на Chromium.
https://www.neowin.net/news/exclusive-this-is-what-the-new-chromium-based-edge-looks-like
https://www.neowin.net/news/exclusive-this-is-what-the-new-chromium-based-edge-looks-like
Neowin
Exclusive: This is what the new Chromium-based Edge looks like
Microsoft is working on a new Chromium-based Edge browser, and we now have some screenshots of what some of the early internal builds for the new browser look like, along with its new extension store.
Релиз Safari TP 77 с изменениями в WebRTC, обновлениями CSS Grid, исправлениями доступности, улучшениями Web inspector и пр.
https://webkit.org/blog/8658/release-notes-for-safari-technology-preview-77/
https://webkit.org/blog/8658/release-notes-for-safari-technology-preview-77/
WebKit
Release Notes for Safari Technology Preview 77
Safari Technology Preview Release 77 is now available for download for macOS Mojave and macOS High Sierra.
В Firefox 67 собираются убрать флаг для динамических импортов и включить их подефолту.
https://bugzilla.mozilla.org/show_bug.cgi?id=1517546
https://bugzilla.mozilla.org/show_bug.cgi?id=1517546
bugzilla.mozilla.org
1517546 - Enable dynamic module import by default
NEW (jcoppeard) in Core - JavaScript Engine. Last updated 2019-03-06.
А вот это интересно. Некоторые члены #TC39 отказываются принять динамические импорты в стандарт из-за проблем безопасности. При этом они уже заимплеменчены во всех браузерах (относительно Firefox см. новость выше).
https://twitter.com/_gsathya/status/1103430437920104448
https://twitter.com/_gsathya/status/1103430437920104448
Twitter
Sathya Gunasekaran
import() is shipping in all the browsers but will probably never be part of the ECMAScript thanks to @TC39 committee politics 😞 https://t.co/fKqhQNVwUx
String.prototype.matchAll теперь доступен в Firefox 67 Nightly без флага
https://bugzilla.mozilla.org/show_bug.cgi?id=1531830
https://bugzilla.mozilla.org/show_bug.cgi?id=1531830
Вышел Chrome 73.
Из изменений в JavaScript:
-
-
-
Другие изменения:
- добавлена поддержка PWA на всех платформах, и теперь они доступны везде
- Signed HTTP Exchanges
- Constructable style sheets
- тёмный режим теперь доступен на macOS
https://developers.google.com/web/updates/2019/03/nic73
Из изменений в JavaScript:
-
Object.fromEntries()-
String.prototype.matchAll()-
Atomics.wake() переименован в Atomics.notify() в соответствии с изменениями в спецификацииДругие изменения:
- добавлена поддержка PWA на всех платформах, и теперь они доступны везде
- Signed HTTP Exchanges
- Constructable style sheets
- тёмный режим теперь доступен на macOS
https://developers.google.com/web/updates/2019/03/nic73
В блоге WebKit опубликована статья об улучшениях WebRTC в Safari 12.1
https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/
https://webkit.org/blog/8672/on-the-road-to-webrtc-1-0-including-vp8/
WebKit
On the Road to WebRTC 1.0, Including VP8
Safari 11 was the first Safari version to support WebRTC.
В кодовую базу Firefox наконец-то добавили флаг для включения Class Fields. Ждем в ближайшем обновлении Firefox Nightly
https://bugzilla.mozilla.org/show_bug.cgi?id=1529758
https://bugzilla.mozilla.org/show_bug.cgi?id=1529758
bugzilla.mozilla.org
1529758 - Add a pref for fields
RESOLVED (jorendorff) in Core - JavaScript Engine. Last updated 2019-03-12.