Как и было обещано неделю назад, сегодня вышли обновления безопасности разных версий Node.js:
- Node v8.17.0 (LTS)
- Node v10.18.0 (LTS)
- Node v12.14.0 (LTS)
- Node v13.4.0 (Current)
- Node v8.17.0 (LTS)
- Node v10.18.0 (LTS)
- Node v12.14.0 (LTS)
- Node v13.4.0 (Current)
В TensorFlow.js 1.4.0, библиотеке для тренировки и разработки ML моделей для браузеров и Node.js, появился экспериментальный #WebAssembly бэкенд (в статусе альфа), который значительно ускоряет работу по сравнению с CPU бэкендом (на чистом JavaScript).
Подробнее в статье:
https://yashints.dev/blog/2019/12/17/tfjs-wasm
Бенчмарки:
https://github.com/tensorflow/tfjs/tree/master/tfjs-backend-wasm#benchmarks
Подробнее в статье:
https://yashints.dev/blog/2019/12/17/tfjs-wasm
Бенчмарки:
https://github.com/tensorflow/tfjs/tree/master/tfjs-backend-wasm#benchmarks
В V8 появилась частичная поддержка stage 3 пропозала RegExp Match Indices, который добавляет возможность получить позиции начала и окончания вхождений соответствий.
v8.dev
RegExp match indices · V8
RegExp match indices provide `start` and `end` indices of each matched capture group.
Forwarded from Defront — про фронтенд-разработку и не только
Среди разработчиков иногда проскакивала шутка: "Что будет, когда V8 доберётся до версии V8?". И вот сегодня зарелизился V8 version 8.0 — V8. Лесджек Свирски рассказал про новые фичи в движке.
В новой версии было оптимизировано потребление памяти — график из статьи показывает падение на 40%. Оптимизация была достигнута за счёт компрессии tagged values (указателей на кучу V8 и small integers). Хорошим побочным эффектом оптимизации стало улучшение производительности движка на реальных сайтах. В статье мало подробностей, но обещают написать подробнее в другом посте.
Оптимизировали работу со встроенными в язык методами
Теперь в движке есть полноценная поддержка Optional chaining и Nullish coalescing. Это новые фичи языка, которые помогают при обработке falsey-значений:
#v8 #release #announcement
https://v8.dev/blog/v8-release-80
В новой версии было оптимизировано потребление памяти — график из статьи показывает падение на 40%. Оптимизация была достигнута за счёт компрессии tagged values (указателей на кучу V8 и small integers). Хорошим побочным эффектом оптимизации стало улучшение производительности движка на реальных сайтах. В статье мало подробностей, но обещают написать подробнее в другом посте.
Оптимизировали работу со встроенными в язык методами
Function.prototype.apply, Reflect.apply и методами Array. Теперь код, в котором используются эти методы, оптимизируется с помощью Turbofan.Теперь в движке есть полноценная поддержка Optional chaining и Nullish coalescing. Это новые фичи языка, которые помогают при обработке falsey-значений:
function Component(props) {
const enable = props?.enabled ?? true;
// …
}#v8 #release #announcement
https://v8.dev/blog/v8-release-80
v8.dev
V8 release v8.0 · V8
V8 v8.0 features optional chaining, nullish coalescing, faster higher-order builtins — oh and 40% less memory use thanks to pointer compression, no big deal.
Вебня
Как и было обещано неделю назад, сегодня вышли обновления безопасности разных версий Node.js: - Node v8.17.0 (LTS) - Node v10.18.0 (LTS) - Node v12.14.0 (LTS) - Node v13.4.0 (Current)
И сразу же релиз 13.5.0. В 13.4.0 был по ошибке включён WASI модуль без флага.
nodejs.org
Node v13.5.0 (Current) | Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
Вышел Safari Technology Preview 97. В нём оооочень много интересных изменений:
- ResizeObserver теперь включен по умолчанию
- в WebAuthn добавлены поддержка Google NFC Titan и инструкции по использованию ключей безопасности
- Web Animations CSS Integration включена подефолту, а также улучшения и исправления Web Animations API
- очень много улучшений и исправлений Web Inspector
- улучшения рендерера
- улучшено кэширование сайтов с помощью Back-Forward Cache
- улучшения и исправления SVG
- улучшения Clipboard API
- различные исправления и улучшения CSS
- Remote Playback API включено по умолчанию
- Picture-in-Picture API включено по умолчанию
- исправления различных Web API
Изменения JavaScript:
- поддержка операторов
- оптимизированы промисы
- исправление
- String.prototype.replaceAll (stage 3)
#WebAssembly:
- поддержка
- интерпретатор WebAssembly
А ещё (хотя это и не указано в релизных записях) теперь Optional Chaining и Nullish Coalescing (попавшие недавно в ES2020) доступны по умолчанию без каких-либо флагов.
- ResizeObserver теперь включен по умолчанию
- в WebAuthn добавлены поддержка Google NFC Titan и инструкции по использованию ключей безопасности
- Web Animations CSS Integration включена подефолту, а также улучшения и исправления Web Animations API
- очень много улучшений и исправлений Web Inspector
- улучшения рендерера
- улучшено кэширование сайтов с помощью Back-Forward Cache
- улучшения и исправления SVG
- улучшения Clipboard API
- различные исправления и улучшения CSS
- Remote Playback API включено по умолчанию
- Picture-in-Picture API включено по умолчанию
- исправления различных Web API
Изменения JavaScript:
- поддержка операторов
++ и -- для BigInt- оптимизированы промисы
- исправление
Intl.DateTimeFormat- String.prototype.replaceAll (stage 3)
#WebAssembly:
- поддержка
WebAssembly.Global в JavaScript API- интерпретатор WebAssembly
А ещё (хотя это и не указано в релизных записях) теперь Optional Chaining и Nullish Coalescing (попавшие недавно в ES2020) доступны по умолчанию без каких-либо флагов.
WebKit
Release Notes for Safari Technology Preview 97
Safari Technology Preview Release 97 is now available for download for macOS Catalina and macOS Mojave.
Разработчики Samsung Internet недавно написали статью о своём видении TWA. Алексей Родионов (@FluorescentHallucinogen), один из самых активных евангелистов PWA в России и основной поставщик новостей в @pwa_ru, поделился инсайдами после общения c PM Samsung Internet (см следующий пост).
Medium
Why You Won’t Hear Us Say TWA
Trusted Web Activities are definitely a thing; Progressive Web Apps are more important
Forwarded from Alexey Rodionov
На днях посчастливилось пообщаться лично вживую с Diego из команды Samsung Internet (https://twitter.com/alexey_rodionov/status/1203767691527503872). ☺️
Обсудили кучу всего интересного, так или иначе связанного с PWA. Сошлись в том числе на том, что TWA как технология — "костыль", который решает сейчас 2 проблемы:
1. Публикация в сторах (люди привыкли искать и устанавливать приложения там, где они привыкли, то есть из сторов). TWA позволяет упаковать PWA в APK-файл и опубликовать его, например, в Google Play.
2. Более глубоко интегрировать PWA в операционную систему Android и использовать возможности, недоступные на данный момент в Web-платформе, а доступные только нативным приложениям. Так как TWA — это APK-файл, то есть нативное Android-приложение, то оно отображается не только в виде иконки на главном экране, но и в списке приложений, оно может выступать в виде Web Share Target и т.д. Так как TWA — это по сути гибридное приложение, можно реализовать нативно, например, Background Geolocation, которого сейчас нет в Web, а всё остальное останется написано на Web-технологиях.
Но то, что делает команда Samsung Internet, делает TWA ненужным:
* Galaxy Store позволяет публиковать PWA "как есть" по URL без необходимости вообще что-то паковать.
* Samsung Internet при установке PWA автоматически генерирует APK-файл, что даёт все вышеперечисленные преимущества более глубокой интеграции в ОС. Только это не TWA, а WebAPK.
* Те фичи, которых сейчас нет в Web-платформе, а есть только у нативных приложений, команда считает правильным добавлять в Web-платформу, чтобы они были реализованы в браузере (браузер как раз и есть нативное приложение).
А TWA — это костыль, временное решение для более глубокой интеграции только в одну единственную операционную систему от Google (а есть и другие ОС) и публикации в сторе от Google (если бы Google Play позволял публиковать PWA по URL, паковать в TWA не пришлось бы).
Samsung Internet на собственном примере показывает, что можно решить эти проблемы по другому. Что PWA — это, действительно, кроссплатформенная открытая технология, а TWA — это Google-only thing.
Обсудили кучу всего интересного, так или иначе связанного с PWA. Сошлись в том числе на том, что TWA как технология — "костыль", который решает сейчас 2 проблемы:
1. Публикация в сторах (люди привыкли искать и устанавливать приложения там, где они привыкли, то есть из сторов). TWA позволяет упаковать PWA в APK-файл и опубликовать его, например, в Google Play.
2. Более глубоко интегрировать PWA в операционную систему Android и использовать возможности, недоступные на данный момент в Web-платформе, а доступные только нативным приложениям. Так как TWA — это APK-файл, то есть нативное Android-приложение, то оно отображается не только в виде иконки на главном экране, но и в списке приложений, оно может выступать в виде Web Share Target и т.д. Так как TWA — это по сути гибридное приложение, можно реализовать нативно, например, Background Geolocation, которого сейчас нет в Web, а всё остальное останется написано на Web-технологиях.
Но то, что делает команда Samsung Internet, делает TWA ненужным:
* Galaxy Store позволяет публиковать PWA "как есть" по URL без необходимости вообще что-то паковать.
* Samsung Internet при установке PWA автоматически генерирует APK-файл, что даёт все вышеперечисленные преимущества более глубокой интеграции в ОС. Только это не TWA, а WebAPK.
* Те фичи, которых сейчас нет в Web-платформе, а есть только у нативных приложений, команда считает правильным добавлять в Web-платформу, чтобы они были реализованы в браузере (браузер как раз и есть нативное приложение).
А TWA — это костыль, временное решение для более глубокой интеграции только в одну единственную операционную систему от Google (а есть и другие ОС) и публикации в сторе от Google (если бы Google Play позволял публиковать PWA по URL, паковать в TWA не пришлось бы).
Samsung Internet на собственном примере показывает, что можно решить эти проблемы по другому. Что PWA — это, действительно, кроссплатформенная открытая технология, а TWA — это Google-only thing.
Вышла новая статья от Акселя Раушмайера, на этот раз про top-level await (stage 3):
https://2ality.com/2019/12/top-level-await.html
https://2ality.com/2019/12/top-level-await.html
Статья о том, какие устаревшие фичи в Chrome были помечены как deprecated или убраны:
https://developers.google.com/web/updates/2019/12/chrome-80-deps-rems
Среди прочего, наконец-то убрали Web Components v0, которые долго не могли убрать (изначально планировалось это сделать в Chrome 73, вышедшем в марте 2019) из-за того, что это ломало YouTube.
Бонус: короткая новость о депрекейте WebVR 1.1, который был поглощён стандартом WebXR.
https://developers.google.com/web/updates/2019/12/chrome-80-deps-rems
Среди прочего, наконец-то убрали Web Components v0, которые долго не могли убрать (изначально планировалось это сделать в Chrome 73, вышедшем в марте 2019) из-за того, что это ломало YouTube.
Бонус: короткая новость о депрекейте WebVR 1.1, который был поглощён стандартом WebXR.
Google Developers
Deprecations and removals in Chrome 80 | Web | Google Developers
A round up of the deprecations and removals in Chrome 80 to help you plan.
Всем привет. Я запустил Patreon, на котором Вы можете поддержать мою работу над каналом @Juliarderity, стандартами и опенсорсом.
https://www.patreon.com/chicoxyzzy
В этом канале не было и не будет никакой коммерческой рекламы, все публикацию всегда были и останутся бесплатными, а вся активность держится на энтузиазме ведущих.
Ещё в самом начале, осенью 2018, когда у канала было не более 400 подписчиков, некоторые читатели выражали поддержку и готовность мотивировать развитие канала и предлагали создать страницу на Patreon. Также многие просили создать чат для обсуждения новостей и технологий, о которых пишет Хулиардерити. Поддерживать такой чат было бы очень сложно, если бы он был публичным, и скорее всего там было бы очень много флуда. Я искренне надеюсь, что Patreon позволит ограничить пользователей чата лишь заинтересованными людьми и поддерживать обсуждения максимально интересными и сфокусированными. Добавление патронов в чат будет происходить волнами.
Если Вам хочется поддержать канал ещё сильнее, а также время от времени получать некоторую дополнительную инсайдерскую информацию и возможно какие-то приятные сюрпризы, то для этого есть отдельный tier Хулиардеро на Patreon.
Также я планирую начать писать статьи, но пока что мне сложно выделить на это время и мотивацию. Ваша поддержка поможет мне увидеть, что это действительно нужно и замотивирует к этому 🙂
Спасибо всем читателям канала, всем кто подходит поблагодарить и пообщаться на митапах, конференциях и на улице (да, и такое было 😄)! Спасибо всем каналам, подкастам и другим ресурсам, которые делятся публикациями из Хулиардерити и не забывают указать источник или поблагодарить!
Вы все супер! ❤️
Помните, что выражение поддержки на Patreon — дело добровольное, и Вы классные независимо от того, поддерживаете ли вы канал материально, информационно или морально!
https://www.patreon.com/chicoxyzzy
В этом канале не было и не будет никакой коммерческой рекламы, все публикацию всегда были и останутся бесплатными, а вся активность держится на энтузиазме ведущих.
Ещё в самом начале, осенью 2018, когда у канала было не более 400 подписчиков, некоторые читатели выражали поддержку и готовность мотивировать развитие канала и предлагали создать страницу на Patreon. Также многие просили создать чат для обсуждения новостей и технологий, о которых пишет Хулиардерити. Поддерживать такой чат было бы очень сложно, если бы он был публичным, и скорее всего там было бы очень много флуда. Я искренне надеюсь, что Patreon позволит ограничить пользователей чата лишь заинтересованными людьми и поддерживать обсуждения максимально интересными и сфокусированными. Добавление патронов в чат будет происходить волнами.
Если Вам хочется поддержать канал ещё сильнее, а также время от времени получать некоторую дополнительную инсайдерскую информацию и возможно какие-то приятные сюрпризы, то для этого есть отдельный tier Хулиардеро на Patreon.
Также я планирую начать писать статьи, но пока что мне сложно выделить на это время и мотивацию. Ваша поддержка поможет мне увидеть, что это действительно нужно и замотивирует к этому 🙂
Спасибо всем читателям канала, всем кто подходит поблагодарить и пообщаться на митапах, конференциях и на улице (да, и такое было 😄)! Спасибо всем каналам, подкастам и другим ресурсам, которые делятся публикациями из Хулиардерити и не забывают указать источник или поблагодарить!
Вы все супер! ❤️
Помните, что выражение поддержки на Patreon — дело добровольное, и Вы классные независимо от того, поддерживаете ли вы канал материально, информационно или морально!
Новое в грядущем Chrome 80 (выйдет 4 февраля 2020):
- Content Indexing API
- ES модули в веб воркерах
- Contact Picker API (под origin trial)
и другие фичи
https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html
- Content Indexing API
- ES модули в веб воркерах
- Contact Picker API (под origin trial)
и другие фичи
https://blog.chromium.org/2019/12/chrome-80-content-indexing-es-modules.html
Chromium Blog
Chrome 80, Content Indexing, ES Modules and More
Unless otherwise noted, changes described below apply to the newest Chrome beta channel release for Android, Chrome OS, Linux, macOS, and Wi...
В блоге web.dev вышло сразу много полезных статей (по мотивам Chrome Dev Summit 2019):
- Use web workers to run JavaScript off the browser's main thread
- Indexing your offline-capable pages with the Content Indexing API
- Lighthouse evolution: continuous integration, new performance score formula, and more
- Speed tooling evolutions: highlights from Chrome Developer Summit 2019
- Threading the web with module workers
- Improving page dismisal in synchronous XMLHttpRequest()
- Next-generation web styling
- Adaptive loading: improving web performance on slow devices
- Adaptive icon support in PWAs with maskable icons
- Use web workers to run JavaScript off the browser's main thread
- Indexing your offline-capable pages with the Content Indexing API
- Lighthouse evolution: continuous integration, new performance score formula, and more
- Speed tooling evolutions: highlights from Chrome Developer Summit 2019
- Threading the web with module workers
- Improving page dismisal in synchronous XMLHttpRequest()
- Next-generation web styling
- Adaptive loading: improving web performance on slow devices
- Adaptive icon support in PWAs with maskable icons
Axel Rauschmayer написал несколько новых статей о различных предложениях в ECMAScript:
- ECMAScript proposal: Promise.any()
- ECMAScript proposal: String.prototype.replaceAll
- ECMAScript proposal: RegExp match indices
- Feature watch: ECMAScript 2020
- ECMAScript proposal: Promise.any()
- ECMAScript proposal: String.prototype.replaceAll
- ECMAScript proposal: RegExp match indices
- Feature watch: ECMAScript 2020
Вышла статья о главных изменениях в Safari 13 (вышедшей 19 сентября 2019) для Catalina, iPadOS, iOS 13 и watchOS 6. Эта версия включает все изменения, вошедшие в Safari Technology Preview с 77 по 89 версии.
WebKit
New WebKit Features in Safari 13
This year’s releases of Safari 13 for macOS Catalina, iPadOS, iOS 13, and watchOS 6 include a tremendous number of WebKit improvements for the web across Apple’s platforms.
Команда V8 собирается включить бейслайн компилятор Liftoff на мобильных устройствах. Этот компилятор #WebAssembly уже включен по умолчанию на десктопах, начиная с версии 6.9. Liftoff имеет поддержку arm и arm64, но в данный момент поддержка мобильных платформ не используется. Включение необходимо для запланированного использования Liftoff в отладочних целях.
Google Docs
Inspectable Liftoff
Inspectable Liftoff Attention - this doc is public and shared with the world! Contact: Clemens Backes <clemensb@chromium.org> Contributors: Clemens Backes Last Updated: 2020-01-09 Status: Inception | Draft | Accepted | Done LGTMs needed Abstract Objective…
Опубликованы планы на WebStorm 2020.1:
- продолжение оптимизации времени запуска
- оптимизации индексации
- установка и обновление плагинов без перезагрузки IDE
- использование машинного обучения для автодополнения JavaScript и TypeScript
- поддержка новых фич JavaScript, TypeScript, а также улучшения поддержки React, Redux, Vuex и документации React и Angular.
- улучшенниая поддержка ESLint и Prettier
- существующую подсветку предупреждений проревьюят чтобы убрать нерелевантные предупреждения
- некоторую встроенную и редко используемую функциональность вынесут в плагины
- продолжение оптимизации времени запуска
- оптимизации индексации
- установка и обновление плагинов без перезагрузки IDE
- использование машинного обучения для автодополнения JavaScript и TypeScript
- поддержка новых фич JavaScript, TypeScript, а также улучшения поддержки React, Redux, Vuex и документации React и Angular.
- улучшенниая поддержка ESLint и Prettier
- существующую подсветку предупреждений проревьюят чтобы убрать нерелевантные предупреждения
- некоторую встроенную и редко используемую функциональность вынесут в плагины
Все видео с декабрьского митапа #WebAssembly SF
https://youtube.com/playlist?list=PLqh1Mztq_-N08lDdlzbrX3tVyVmZi_hSk
https://youtube.com/playlist?list=PLqh1Mztq_-N08lDdlzbrX3tVyVmZi_hSk
YouTube
December 2019 - YouTube
Новая коротенькая статья от Axel Rauschmayer — Simple pluralization via Intl.PluralRules.
И ещё одна статья от Axel Rauschmayer — JavaScript regular expressions: .lastIndex and the flags /g and /y. С примерами, волчьими ямами и достаточно подробно.