DevRel’ы Samsung Internet о результатах года в развитии браузера (прямая трансляция)
https://www.youtube.com/watch?v=6db3pyB9Yfg
https://www.youtube.com/watch?v=6db3pyB9Yfg
YouTube
Year In Review and What's Next!
Phew! It's been that kind of year. Come join us on Thursday 17 December for an informal live stream chit-chat with the Samsung Internet Developer Advocacy team: Ada Rose Cannon, Laura Morinigo, Lola Odelola, Kevin Picchi, and Dan Appelquist. We'll be talking…
Много статей с web.dev (по мотивам Chrome Dev Summit и не только)
- Обзор воркеров (Web Worker, Service Worker)
- Про обновление Workbox
- Squoosh v2 (новые кодеки, дизайн и CLI)
- Лучшие практики для формы адресов и платежей
- Лучшие практики для форм регистрации и логина
- Кроссбраузерные Paint Worklet’ы
- Использование современного JavaScript для веб-приложений
- Гайд по кэшированию
- Автоматизированный аудит сайтов с помощью AutoWebPerf
- Как спозиционировать элемент по центру блока в CSS
- Обзор воркеров (Web Worker, Service Worker)
- Про обновление Workbox
- Squoosh v2 (новые кодеки, дизайн и CLI)
- Лучшие практики для формы адресов и платежей
- Лучшие практики для форм регистрации и логина
- Кроссбраузерные Paint Worklet’ы
- Использование современного JavaScript для веб-приложений
- Гайд по кэшированию
- Автоматизированный аудит сайтов с помощью AutoWebPerf
- Как спозиционировать элемент по центру блока в CSS
#WebAssembly пропозал bulk memory operations реализован в JavaScriptCore, движке, используемом в Safari.
https://bugs.webkit.org/show_bug.cgi?id=200938
https://bugs.webkit.org/show_bug.cgi?id=200938
GitHub
bulk-memory-operations/proposals/bulk-memory-operations/Overview.md at master · WebAssembly/bulk-memory-operations
Bulk memory operations. Contribute to WebAssembly/bulk-memory-operations development by creating an account on GitHub.
⚡️ Mozilla не имеет планов на развитие поддержки PWA в Firefox
https://twitter.com/domenic/status/1341816308380405761
https://twitter.com/domenic/status/1341816308380405761
Twitter
Domenic Denicola
Firefox looking to remove their "site-specific browser" prototype, i.e. PWA support: https://t.co/lSP43OtYb6
Результаты 79 встречи TC39 (16 - 19 ноября)
Лучше поздно, чем никогда. Общие результаты ноябрьской встречи. Стенограммы на английском опубликованы тут.
🐥 Error Cause переходит на stage 2 (слайды)
🐣 новое предложение JS Module Blocks переходит на stage 1 (слайды)
🐣 новое предложение Extensions переходит на stage 1 (слайды)
🐣 новое предложение Grouped Accessors and Auto-Accessors переходит на stage 1 (слайды)
Не продвинулись на следующий stage по результатам встречи:
- Realms остаётся на stage 2 (слайды)
- Standardized Debug остаётся на stage 1
- JSON modules остаётся на stage 2 (слайды)
Обновления по пропозалам:
- Обратная связь от разработчиков движка JavaScriptCore о пропозале RegExp Matches Indices — stage 3 обновление (слайды)
.item() rename + revisit inclusion on String — stage 3 обновление (слайды)
(слайды)
- Import Assertions — stage 3 обновление (слайды)
(слайды)
- Temporal — stage 2 обновление (слайды)
- Intl Enumiration — stage 2 обновление (слайды)
- Vision for concurrent JS + constellations of proposals — презентация stage 0 пропозала (без запроса на продвижение) (слайды)
- Adopting Unicode behavior for set notation in regular expressions — презентация stage 0 пропозала (для продвижения было добавлено слишком поздно) (слайды)
Принятые нормативные изменения:
- Handling of NaN and side effects in Date.prototype.set* methods
- proto normative optional options
- IntegerIndexedElementSet should always indicate success
- Give %TypedArray% methods explicit algorithms
- Default constructors and spread operation
Другие доклады и обсуждения:
- Представлен календарь встреч на 2021 год (слайды)
- Отчёт редакторов ECMA262
- Отчёт редакторов ECMA402
- Изменения в составе группы председателей (слайды)
- Supporting MDN's documentation about in TC39's output
(слайды)
- Обновления процесса (слайды)
- Dealing with TC39 Data (слайды)
- Batch preloading (слайды)
Более подробные отчёты от меня по дням:
- 16 ноября
- 17 ноября
- 18 ноября
- 19 ноября
Лучше поздно, чем никогда. Общие результаты ноябрьской встречи. Стенограммы на английском опубликованы тут.
🐥 Error Cause переходит на stage 2 (слайды)
🐣 новое предложение JS Module Blocks переходит на stage 1 (слайды)
🐣 новое предложение Extensions переходит на stage 1 (слайды)
🐣 новое предложение Grouped Accessors and Auto-Accessors переходит на stage 1 (слайды)
Не продвинулись на следующий stage по результатам встречи:
- Realms остаётся на stage 2 (слайды)
- Standardized Debug остаётся на stage 1
- JSON modules остаётся на stage 2 (слайды)
Обновления по пропозалам:
- Обратная связь от разработчиков движка JavaScriptCore о пропозале RegExp Matches Indices — stage 3 обновление (слайды)
.item() rename + revisit inclusion on String — stage 3 обновление (слайды)
(слайды)
- Import Assertions — stage 3 обновление (слайды)
(слайды)
- Temporal — stage 2 обновление (слайды)
- Intl Enumiration — stage 2 обновление (слайды)
- Vision for concurrent JS + constellations of proposals — презентация stage 0 пропозала (без запроса на продвижение) (слайды)
- Adopting Unicode behavior for set notation in regular expressions — презентация stage 0 пропозала (для продвижения было добавлено слишком поздно) (слайды)
Принятые нормативные изменения:
- Handling of NaN and side effects in Date.prototype.set* methods
- proto normative optional options
- IntegerIndexedElementSet should always indicate success
- Give %TypedArray% methods explicit algorithms
- Default constructors and spread operation
Другие доклады и обсуждения:
- Представлен календарь встреч на 2021 год (слайды)
- Отчёт редакторов ECMA262
- Отчёт редакторов ECMA402
- Изменения в составе группы председателей (слайды)
- Supporting MDN's documentation about in TC39's output
(слайды)
- Обновления процесса (слайды)
- Dealing with TC39 Data (слайды)
- Batch preloading (слайды)
Более подробные отчёты от меня по дням:
- 16 ноября
- 17 ноября
- 18 ноября
- 19 ноября
GitHub
notes/meetings/2020-11 at main · tc39/notes
TC39 meeting notes. Contribute to tc39/notes development by creating an account on GitHub.
В Wasmtime реализована поддержка wasi-nn
Есть множество кейсов для использования #WebAssembly для машинного обучения, но при этом надо решить несколько проблем. Wasi-nn создаёт высокоуровневый API для доступа к возможностям хоста по использованию специфических инструкций центрального и графического процессоров. В Wasmtime в качестве бекенда для wasm-nn используется OpenVINO.
В блоге Bytecode Alliance опубликованы две статьи, посвящённые этому:
- Machine Learning in WebAssembly: Using wasi-nn in Wasmtime
- Implementing a WASI Proposal in Wasmtime: wasi-nn
Есть множество кейсов для использования #WebAssembly для машинного обучения, но при этом надо решить несколько проблем. Wasi-nn создаёт высокоуровневый API для доступа к возможностям хоста по использованию специфических инструкций центрального и графического процессоров. В Wasmtime в качестве бекенда для wasm-nn используется OpenVINO.
В блоге Bytecode Alliance опубликованы две статьи, посвящённые этому:
- Machine Learning in WebAssembly: Using wasi-nn in Wasmtime
- Implementing a WASI Proposal in Wasmtime: wasi-nn
GitHub
GitHub - WebAssembly/wasi-nn: Neural Network proposal for WASI
Neural Network proposal for WASI. Contribute to WebAssembly/wasi-nn development by creating an account on GitHub.
Firefox присоединился к инициативе других браузеров по блокировке шпионского государственного сертификата в Казахстане
https://www.opennet.ru/opennews/art.shtml?num=54284
https://www.opennet.ru/opennews/art.shtml?num=54284
www.opennet.ru
В Firefox, Chrome, Edge и Safari заблокирован сертификат, используемый для перехвата трафика в Казахстане
Компания Mozilla объявила о добавлении в списки отозванных сертификатов корневого сертификата, использованного в декабрьских учениях по перехвату HTTPS-трафика в Казахстане. Аналогичные действия предприняли компании Google, Apple и Microsoft, которые также…
Рабочая группа WebGPU планирует дорожную карту проектирования спецификации
Для того, чтобы определить, что будет включено в версию спецификации v1, был опубликован документ, в котором члены рабочей группы отмечают какие из фич они хотели бы видеть в первой или последующих версиях.
Для того, чтобы определить, что будет включено в версию спецификации v1, был опубликован документ, в котором члены рабочей группы отмечают какие из фич они хотели бы видеть в первой или последующих версиях.
Oriol Brufau рассказал о том, как добавлял поддержку псевдо-элемента ::marker в Chromium
Поддержка фичи появилась в Chromium 86. В других браузерах ::marker уже успешно работает. В статье описываются технические особенности реализации фичи в движке Blink.
Поддержка фичи появилась в Chromium 86. В других браузерах ::marker уже успешно работает. В статье описываются технические особенности реализации фичи в движке Blink.
Oriol Brufau’s blog
CSS ::marker pseudo-element in Chromium
The CSS ::marker pseudo-element has shipped in Chromium 86. Implementation details.
Состоялся релиз Ruby 3.0
В языке появилось много значительных улучшений. Ruby 3.0 с использованием JIT в 3 раза быстрее, чем Ruby 2.0. Помимо этого появилась поддержка параллелизма (Ractor — экспериментальная модель акторов на уровне языка, Fiber Scheduler), паттерн-матчинг и статический анализ (RBS — язык описания типов, TypeProf — инструмент для статического анализа) и другие, менее значимые, но интересные изменения.
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
В языке появилось много значительных улучшений. Ruby 3.0 с использованием JIT в 3 раза быстрее, чем Ruby 2.0. Помимо этого появилась поддержка параллелизма (Ractor — экспериментальная модель акторов на уровне языка, Fiber Scheduler), паттерн-матчинг и статический анализ (RBS — язык описания типов, TypeProf — инструмент для статического анализа) и другие, менее значимые, но интересные изменения.
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
W3C опубликовал CSS Snapshot 2020
В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год.
https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css
В нём собраны воедино все спецификации, которые вместе формируют текущее состояние CSS по состоянию на 2020 год.
https://www.w3.org/TR/2020/NOTE-css-2020-20201222/#css
Декабрьские релизы спецификаций от W3C
- Web Authentication: An API for accessing Public Key Credentials Level 2 (Candidate Recommendation)
- CSS Text Module Level 3 (Candidate Recommendation)
- CSS Box Model Module Level 3 (Candidate Recommendation)
- CSS Backgrounds and Borders Module Level 3 (Candidate Recommendation)
- CSS Cascading and Inheritance Level 3 (Proposed Recommendation)
А также совместная работа W3C и WHATWG — HTML Review Draft (Proposed Recommendation)
- Web Authentication: An API for accessing Public Key Credentials Level 2 (Candidate Recommendation)
- CSS Text Module Level 3 (Candidate Recommendation)
- CSS Box Model Module Level 3 (Candidate Recommendation)
- CSS Backgrounds and Borders Module Level 3 (Candidate Recommendation)
- CSS Cascading and Inheritance Level 3 (Proposed Recommendation)
А также совместная работа W3C и WHATWG — HTML Review Draft (Proposed Recommendation)
Сегодня прощаемся с Flash Player
Adobe больше не будет поддерживать Flash Player после 31 декабря 2020 года, а также будет блокировать запуск Flash-содержимого в Flash Player с 12 января 2021 года. Кстати, если вдруг кто-то не знал, то ActionScript 2.0+ был частичной имплементацией так и не выпущенной спецификации ECMAScript 4.
https://www.adobe.com/products/flashplayer/end-of-life.html
Adobe больше не будет поддерживать Flash Player после 31 декабря 2020 года, а также будет блокировать запуск Flash-содержимого в Flash Player с 12 января 2021 года. Кстати, если вдруг кто-то не знал, то ActionScript 2.0+ был частичной имплементацией так и не выпущенной спецификации ECMAScript 4.
https://www.adobe.com/products/flashplayer/end-of-life.html
Adobe
Adobe Flash Player End of Life
Adobe Flash Player End of Life general information
Команда React представила своё исследование серверных компонентов
Скорее всего Вы уже в курсе, но я на всякий случай расскажу об этом. Серверные компоненты — это новый тип компонентов React, которые имеют прямой доступ к данным бекенда и не отправляются в составе бандла на клиент. Они также могут быть sharable (одновременно клиентскими и серверными), позволяют автоматически разделять код на чанки. Обмен данными происходит в специальном компактном формате (представляющем JSX). Для реализации данного подхода был разработан экспериментальный плагин для Webpack. Дальнейшая разработка будет вестись совместно усилиями команд React и Next.js.
Запись в блоге React и видео: https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html
Статья Addy Osmani из Google о серверных компонентах в React: https://addyosmani.com/blog/react-server-components/
Черновик RFC: https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md
Скорее всего Вы уже в курсе, но я на всякий случай расскажу об этом. Серверные компоненты — это новый тип компонентов React, которые имеют прямой доступ к данным бекенда и не отправляются в составе бандла на клиент. Они также могут быть sharable (одновременно клиентскими и серверными), позволяют автоматически разделять код на чанки. Обмен данными происходит в специальном компактном формате (представляющем JSX). Для реализации данного подхода был разработан экспериментальный плагин для Webpack. Дальнейшая разработка будет вестись совместно усилиями команд React и Next.js.
Запись в блоге React и видео: https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html
Статья Addy Osmani из Google о серверных компонентах в React: https://addyosmani.com/blog/react-server-components/
Черновик RFC: https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md
legacy.reactjs.org
Introducing Zero-Bundle-Size React Server Components – React Blog
This blog site has been archived. Go to react.dev/blog to see the recent posts. 2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components. To introduce React…
Выложен полный плейлист со всеми видео недавней онлайн конференции #WebAssembly Live! On Air
https://www.youtube.com/playlist?list=PL6TuxoG36L8lwmNrlIqGBXwlh1ejfk8xJ
https://www.youtube.com/playlist?list=PL6TuxoG36L8lwmNrlIqGBXwlh1ejfk8xJ
YouTube
WebAssembly - YouTube
Авторы State of CSS опубликовали The State of CSS 2020 Trend Report
В отчёте отражены три основных тренда в CSS: CSS фреймворки, CSS-in-JS фреймворки и новые фичи в самом CSS.
Полные результаты State of CSS: https://2020.stateofcss.com/en-US/
В отчёте отражены три основных тренда в CSS: CSS фреймворки, CSS-in-JS фреймворки и новые фичи в самом CSS.
Полные результаты State of CSS: https://2020.stateofcss.com/en-US/
Source Map Visualization
Новый инструмент для отладки Source Map от Evan Wallace (автор esbuild). Его отличительная черта, что спроектирован быть высокопроизводительным, так что отладка огромных карт кода становится возможной. Работает действительно быстро.
Ценителям стоит заглянуть в репозиторий, потому что вся имплементация это по одному файлу на HTML, JavaScript и CSS. Проект не использует зависимостей, то есть каких либо фреймворков или сборщиков, что нетипично для современного фронтенда. При этом весь JS это ~1200 sloc или 48kb. Ключевая часть интерфейса (две скролируемые области с текстом и связи между фрагментами) реализована на canvas.
Новый инструмент для отладки Source Map от Evan Wallace (автор esbuild). Его отличительная черта, что спроектирован быть высокопроизводительным, так что отладка огромных карт кода становится возможной. Работает действительно быстро.
Ценителям стоит заглянуть в репозиторий, потому что вся имплементация это по одному файлу на HTML, JavaScript и CSS. Проект не использует зависимостей, то есть каких либо фреймворков или сборщиков, что нетипично для современного фронтенда. При этом весь JS это ~1200 sloc или 48kb. Ключевая часть интерфейса (две скролируемые области с текстом и связи между фрагментами) реализована на canvas.
Движок ChakraCore окончательно передан коммьюнити
JavaScript движок ChakraCore, который ранее использовался в браузере Edge Legacy (Edge до миграции на Chromium), окончательно передан коммьюнити. Microsoft будет предоставлять обновления безопасности для ветки 1.11 до 9 марта 2021.
Репозиторий движка теперь находится тут: https://github.com/chakra-core/ChakraCore
Проект нуждается в контрибьюторах. Исходный код движка очень хорошо структурирован и отлично подходит для изучения работы виртуальных машин. А добавление какой-нибудь фичи идеально подойдёт в качестве дипломного проекта 😉
Присоединиться к разработке можно через issues на GitHub или чат в Discord.
JavaScript движок ChakraCore, который ранее использовался в браузере Edge Legacy (Edge до миграции на Chromium), окончательно передан коммьюнити. Microsoft будет предоставлять обновления безопасности для ветки 1.11 до 9 марта 2021.
Репозиторий движка теперь находится тут: https://github.com/chakra-core/ChakraCore
Проект нуждается в контрибьюторах. Исходный код движка очень хорошо структурирован и отлично подходит для изучения работы виртуальных машин. А добавление какой-нибудь фичи идеально подойдёт в качестве дипломного проекта 😉
Присоединиться к разработке можно через issues на GitHub или чат в Discord.
GitHub
GitHub - chakra-core/ChakraCore: ChakraCore is an open source Javascript engine with a C API.
ChakraCore is an open source Javascript engine with a C API. - chakra-core/ChakraCore