Очередная статья от Axel Rauschmayer, на этот раз про атрибуты свойств JavaScript объектов.
https://2ality.com/2019/11/object-property-attributes.html
https://2ality.com/2019/11/object-property-attributes.html
Неплохой доклад от Сигурда Шнайдера из команды V8 о том как работает сборщик мусора в V8 с WeakMap, WeakRef (stage 3) и когда стоит предпочесть приватные поля классов (stage 3, но уже доступны в Chrome 74+ и Node.js 12+) WeakMap’ам для увеличения производительности приложения.
https://www.youtube.com/watch?v=MQsUiqVCJMc&list=PLB17qI-lepyi5DeCsXSj5m1BWKsqU2DSP&index=5
https://www.youtube.com/watch?v=MQsUiqVCJMc&list=PLB17qI-lepyi5DeCsXSj5m1BWKsqU2DSP&index=5
YouTube
Inside V8: weak collections, ephemerons, and private fields by Sigurd Schneider | JSCAMP 2019
More information:
https://jscamp.tech
https://jscamp.tech
В Firefox Nightly добавили поддержку HTTP/3, который использует QUIC в качестве транспортного протокола. Пока что HTTP/3 выключен по умолчанию и включается флагом.
https://bugzilla.mozilla.org/show_bug.cgi?id=1581637
https://bugzilla.mozilla.org/show_bug.cgi?id=1581637
bugzilla.mozilla.org
1581637 - Add Http3 support
RESOLVED (dd.mozilla) in Core - Networking: HTTP. Last updated 2020-03-24.
Вышел TypeScript 3.7. В нём:
- Optional Chaining & Coalescing
- Assertion Functions
- .d.ts Emit From .js Files
- Smarter Control Flow Analysis
- Flatter Error Messages
https://t.co/mJ3EpvTz3H?amp=1
- Optional Chaining & Coalescing
- Assertion Functions
- .d.ts Emit From .js Files
- Smarter Control Flow Analysis
- Flatter Error Messages
https://t.co/mJ3EpvTz3H?amp=1
TypeScript
Announcing TypeScript 3.7 | TypeScript
We’re thrilled to announce the release of TypeScript 3.7, a release packed with awesome new language, compiler, and tooling features. If you haven’t yet heard of TypeScript, it’s a language based on JavaScript that adds static type-checking along with type…
На этой неделе очень плотный график в связи с грядущим HolyJS, поэтому могут быть перерывы с новостями. Ещё я принял непростое решение — заканчивать отдыхать и начинать искать что бы такого интересного поделать за деньги. Можете помочь мне ретвитом, если нравится контент тут. 🙂
https://twitter.com/chicoxyzzy/status/1191650977553752073
https://twitter.com/chicoxyzzy/status/1191650977553752073
Twitter
Sergey Rubanov
After a refreshing sabbatical, I'm back in the market for exciting remote (full or part-time) opportunities. I'm experienced with working on web standards and quite active in TC39 and WebAssembly CG, and would love to work in that domain. RT for reach 🙏
Forwarded from Defront — про фронтенд-разработку и не только
Пару дней назад команда Edge опубликовала статью про то, как подготовиться к стабильному релизу нового браузера на движке Chromium — "Getting your sites ready for the new Microsoft Edge".
Четвёртого ноября был опубликован релиз кандидат Edge. Официальной стабильный релиз запланирован на 15 января 2020 года. Разработчики рекомендуют добавить прогон тестов в свежем браузере. Edge полностью совместим с Selenium-тестами, которые были написаны для Chromium-based браузеров. Можно использовать Puppeteer для автоматизации тестирования. Также можно запустить браузер в режиме совместимости с IE11, для прогона тестов в этом режиме нужно использовать Selenium-драйвер IEDriverServer. Ещё разработчики призывают отправлять фидбеки, если возникают проблемы. Пишут, что на данный момент получили более 230 тысяч сообщений о проблемах.
#announcement #edge
https://blogs.windows.com/msedgedev/2019/11/04/edge-chromium-release-candidate-get-ready/
Четвёртого ноября был опубликован релиз кандидат Edge. Официальной стабильный релиз запланирован на 15 января 2020 года. Разработчики рекомендуют добавить прогон тестов в свежем браузере. Edge полностью совместим с Selenium-тестами, которые были написаны для Chromium-based браузеров. Можно использовать Puppeteer для автоматизации тестирования. Также можно запустить браузер в режиме совместимости с IE11, для прогона тестов в этом режиме нужно использовать Selenium-драйвер IEDriverServer. Ещё разработчики призывают отправлять фидбеки, если возникают проблемы. Пишут, что на данный момент получили более 230 тысяч сообщений о проблемах.
#announcement #edge
https://blogs.windows.com/msedgedev/2019/11/04/edge-chromium-release-candidate-get-ready/
Microsoft Edge Blog
Getting your sites ready for the new Microsoft Edge
This morning, we released Microsoft Edge Beta version 79, which is the final Beta before the new Microsoft Edge is generally available, also known as the “Release Candidate.” On January 15th, we expect to release the “Stable” channel, at which point Microsoft…
👍 упустил это. От себя добавлю, что релиз назначен на следующий день после Widows 7 End of Extended Support. Согласно statcounter, Windows 7 — это практически 28% от всех версий Windows, а значит главный поставщик Internet Explorer 11. Конец расширенной поддержки Windows 7 означает, что Microsoft больше не будет выпускать обновления безопасности для этой операционной системы, и её использование небезопасно. Единственной из поддерживаемых операционных систем семейства Windows с предустановленным и используемым по умолчанию браузером Internet Explorer 11 останется Windows 8.1. У этой версии ОС 5% по statcounter, основная поддержка её закончилась в январе 2018 года, а расширенная закончится в 2023 году.
StatCounter Global Stats
Desktop Windows Version Market Share Worldwide | Statcounter Global Stats
This graph shows the market share of desktop windows versions worldwide based on over 5 billion monthly page views.
Сейчас по интернету гуляет вот эта ссылка с планами WebKit на 2020 год. Список интересный, но вызывает некоторые вопросы. Например, в списке присутствует WebGL 2, но фактически никакая работа над WebGL 2 давно не ведется (и вообще Apple планомерно выпиливает OpenGL из macOS), зато ведётся работа над WebGPU, о котором я тут часто пишу. Как-то не очень верится в то, что WebGL 2 в WebKit будут доделывать. Также некоторые фичи уже реалтзованы, например, Resize Observer или Unicode 12 (и вообще в марте 2020 выйдет Unicode 13).
Telegram
Juliarderity (ECMAScript, WebAssembly, Web APIs, specs)
Если кто-то еще не в курсе, Apple прекращает поддержку OpenGL и OpenCL начиная с macOS Mojave и iOS 12. В этих версиях операционных систем данные API все еще будут работать, но не будут обновляться и впоследствии могут быть удалены. Apple предлагает вместо…
В блоге WebKit опубликовано видео и некоторая другая информация о поддержке WebGPU и WSL в веб инспекторе.
https://webkit.org/blog/9624/webgpu-and-wsl-in-web-inspector/
https://webkit.org/blog/9624/webgpu-and-wsl-in-web-inspector/
В SpiderMonkey добавили String.prototype.replaceAll (stage 3).
https://bugzilla.mozilla.org/show_bug.cgi?id=1540021
https://bugzilla.mozilla.org/show_bug.cgi?id=1540021
Статья о том, как создавать отличные UX с Concurrent Mode и Suspence в официальном блоге React.
https://reactjs.org/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html
https://reactjs.org/blog/2019/11/06/building-great-user-experiences-with-concurrent-mode-and-suspense.html
legacy.reactjs.org
Building Great User Experiences with Concurrent Mode and Suspense – React Blog
This blog site has been archived. Go to react.dev/blog to see the recent posts. At React Conf 2019 we announced an experimental release of React that supports Concurrent Mode and Suspense. In this post we’ll introduce best practices for using them that we’ve…
А доктор Аксель Раушмайер выпустил очередную статью о стримах в ноде и о том, как использовать асинхронную итерацию для работы с ними.
https://2ality.com/2019/11/nodejs-streams-async-iteration.html
https://2ality.com/2019/11/nodejs-streams-async-iteration.html
#WebAssembly пропозал Multiple result values (phase 3) реализован в V8.
https://bugs.chromium.org/p/v8/issues/detail?id=6672#c14
https://bugs.chromium.org/p/v8/issues/detail?id=6672#c14
Через полтора часа начнётся Chrome Dev Summit. Следить за ним можно будет в прямом эфире на YouTube: https://www.youtube.com/watch?v=gUteNZ0IvrE
В V8 8.0 появилась поддержка String.prototype.replaceAll (stage 3) под флагом. Исчерпывающая статья об этой фиче под авторством Mathias Bynens появилась в блоге V8.
https://v8.dev/features/string-replaceall
https://v8.dev/features/string-replaceall
v8.dev
String.prototype.replaceAll · V8
JavaScript now has first-class support for global substring replacement through the new `String.prototype.replaceAll` API.
Ввязался в добавление Promise.any (stage 3) в движок JavaScriptCore. Тикет уже заассайнили на меня. Обратной дороги нет :)
Намечается интересный опыт разработки JS фичи от написания текста спецификации до самой имплементации в моём любимом JavaScript движке!
Намечается интересный опыт разработки JS фичи от написания текста спецификации до самой имплементации в моём любимом JavaScript движке!
⚡⚡⚡ Node.js 13.2.0 с поддержкой ESM без флага должна выйти уже 19 ноября. Для этого уже всё готово, не хватает только документации! ⚡⚡⚡
https://github.com/nodejs/node/pull/29866
https://github.com/nodejs/node/pull/29866
GitHub
esm: Unflag --experimental-modules by guybedford · Pull Request #29866 · nodejs/node
This PR unflags the --experimental-modules support making modules on-by-default, while remaining backwards-compatible with the current runMain.
This PR should only land after the remaining PRs have...
This PR should only land after the remaining PRs have...
Mozilla, Fastly, Intel и Red Hat объединились чтобы создать Bytecode Alliance для совместной работы над стандартами, относящимся к #WebAssembly вне браузера. Члены альянса собираются много вкладывать в безопасность и совместимость. Также был представлен новый паттерн — WebAssembly nanoprocess, который требует меньше накладных расходов и предоставляет более быструю коммунакацию, чем между обычными процессами. Предполагается также, что такой подход позволит разработчикам не опасаться уязвимостей в зависимостях. Подробнее в статье Lin Clark.
https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/
https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/
Mozilla Hacks – the Web developer blog
Announcing the Bytecode Alliance: Building a secure by default, composable future for WebAssembly
Lin Clark introduces the Bytecode Alliance, and uses Code Cartoon illustrations to share their vision of a WebAssembly ecosystem that is secure by default, fixing cracks in today’s software foundations. ...
Результаты сегодняшней онлайн встречи #WebAssembly CG:
- предложение Multiple memories переходит с phase 0 на phase 2
- предложение WebAssembly BigInt<->i64 conversion in JS API переходит с phase 2 на phase 3
- предложение Multiple memories переходит с phase 0 на phase 2
- предложение WebAssembly BigInt<->i64 conversion in JS API переходит с phase 2 на phase 3
Вебня
⚡⚡⚡ Node.js 13.2.0 с поддержкой ESM без флага должна выйти уже 19 ноября. Для этого уже всё готово, не хватает только документации! ⚡⚡⚡ https://github.com/nodejs/node/pull/29866
Влили поддержку ECMAScript модулей без флага.
https://github.com/nodejs/node/commit/796f3d0af49164314868c4778af90eca356f1fef
https://github.com/nodejs/node/commit/796f3d0af49164314868c4778af90eca356f1fef
GitHub
esm: unflag --experimental-modules · nodejs/node@796f3d0
PR-URL: https://github.com/nodejs/node/pull/29866
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>