В ноябре 2020 Python впервые обогнал Java в индексе TIOBE
TIOBE — известный индекс популярности языков программирования. Он существует около 20 лет, и всё это время языки C и Java занимали первое и второе место, иногда сменяя друг друга. В этом месяце Python впервые за всю историю существования индекса вырвался на второе место.
TIOBE — известный индекс популярности языков программирования. Он существует около 20 лет, и всё это время языки C и Java занимали первое и второе место, иногда сменяя друг друга. В этом месяце Python впервые за всю историю существования индекса вырвался на второе место.
Второй день 79й встречи #TC39
Через час начнётся второй день ноябрьской встречи. Сегодня должно быть поинтереснее — обновления по некоторым пропозалам и представление некоторых из них к продвижению, а также другие технические и организационные темы. Результаты обсуждений и слайды будут добавляться к этому посту.
Отчёт по первому дню встречи можно почитать тут.
———
Default constructors and spread operations (PR, по которому необходим консенсус)
(ссылка)
Достигнут консенсус.
.item() rename + revisit inclusion on String (stage 3 обновление)
(слайды)
Напомню, что были обнаружены проблемы веб совместимости. На обсуждение фичи не хватило отведенного времени.
Standardized Debug (stage 1 -> stage 2)
(слайды позже)
Консенсус для перехода на stage 2 не достигнут. Чемпиона попросили проработать документацию и мотивационную часть в ней.
Import Assertions (stage 3 обновление)
(слайды)
Есть определённые открытые проблемы, но они в процессе обсуждения и решения. Для дальнейшего продвижения необходим ещё один host hook (для кэширования), и для этого был достигнут консенсус.
Grouped Accessors and Auto-Accessors (-> stage 1)
(слайды)
Консенсус не достигнут. Обсуждения продолжатся позже.
Realms (stage 2 -> stage 3)
(слайды)
Консенсус не достигнут. Обсуждение продолжится на следующих встречах TC39
Через час начнётся второй день ноябрьской встречи. Сегодня должно быть поинтереснее — обновления по некоторым пропозалам и представление некоторых из них к продвижению, а также другие технические и организационные темы. Результаты обсуждений и слайды будут добавляться к этому посту.
Отчёт по первому дню встречи можно почитать тут.
———
Default constructors and spread operations (PR, по которому необходим консенсус)
(ссылка)
Достигнут консенсус.
.item() rename + revisit inclusion on String (stage 3 обновление)
(слайды)
Напомню, что были обнаружены проблемы веб совместимости. На обсуждение фичи не хватило отведенного времени.
Standardized Debug (stage 1 -> stage 2)
(слайды позже)
Консенсус для перехода на stage 2 не достигнут. Чемпиона попросили проработать документацию и мотивационную часть в ней.
Import Assertions (stage 3 обновление)
(слайды)
Есть определённые открытые проблемы, но они в процессе обсуждения и решения. Для дальнейшего продвижения необходим ещё один host hook (для кэширования), и для этого был достигнут консенсус.
Grouped Accessors and Auto-Accessors (-> stage 1)
(слайды)
Консенсус не достигнут. Обсуждения продолжатся позже.
Realms (stage 2 -> stage 3)
(слайды)
Консенсус не достигнут. Обсуждение продолжится на следующих встречах TC39
Все результаты второго дня TC39 выше ^
Сегодня также ожидаются релизы Firefox 83 и Chrome 87.
Что интересно, параллельно с выходом Firefox 83 и Firefox 84 Beta, Firefox Nightly переключится на ветку 85, в которой Flash будет выключен по умолчанию, и Mozilla советует обратиться за дальнейшей поддержкой Flash к HARMAN, которые по соглашению с Adobe, оказывается будут продолжать поддержку и предоставлять обновления безопасности для Flash и Air до конца 2023 года, а может быть и позже.
upd: только что Mozilla еще и новость об этом опубликовала вот тут.
Сегодня также ожидаются релизы Firefox 83 и Chrome 87.
Что интересно, параллельно с выходом Firefox 83 и Firefox 84 Beta, Firefox Nightly переключится на ветку 85, в которой Flash будет выключен по умолчанию, и Mozilla советует обратиться за дальнейшей поддержкой Flash к HARMAN, которые по соглашению с Adobe, оказывается будут продолжать поддержку и предоставлять обновления безопасности для Flash и Air до конца 2023 года, а может быть и позже.
upd: только что Mozilla еще и новость об этом опубликовала вот тут.
Вышел Firefox 83
В нём:
- улучшения DevTools
- CSS conic gradients (которые уже давно реализованы в Chrome и Safari)
- WebRenderer теперь работает на Windows 7 и 8, а также на macOS 10.12-10.15
- pinch to zoom на десктопах
- включён новый JIT-компилятор Warp
Ещё больше инфы:
- Релизные записи для разработчиков
- Релизные записи для конечных пользователей
В нём:
- улучшения DevTools
- CSS conic gradients (которые уже давно реализованы в Chrome и Safari)
- WebRenderer теперь работает на Windows 7 и 8, а также на macOS 10.12-10.15
- pinch to zoom на десктопах
- включён новый JIT-компилятор Warp
Ещё больше инфы:
- Релизные записи для разработчиков
- Релизные записи для конечных пользователей
Mozilla Hacks – the Web developer blog
Firefox 83 is upon us
In this release we’ve got a few nice additions: Conical CSS gradients, overflow debugging in the Developer Tools, enabling of WebRender.
Вышел Chrome 87
Из нового:
- управление веб камерами
- HTTP range requests теперь работают в Service Worker
- новый origin trial: Font access API для использования шрифтов, установленных на компьютере
- стримы теперь могут быть переданы в
- разные улучшения CSS
Ещё:
- What's new in Chrome DevTools (87)
- Chrome 87 deprecations & removals
- What's new in JavaScript in Chrome 87
- Chromium source repository change list
Из нового:
- управление веб камерами
- HTTP range requests теперь работают в Service Worker
- новый origin trial: Font access API для использования шрифтов, установленных на компьютере
- стримы теперь могут быть переданы в
postMessage- разные улучшения CSS
Ещё:
- What's new in Chrome DevTools (87)
- Chrome 87 deprecations & removals
- What's new in JavaScript in Chrome 87
- Chromium source repository change list
Chrome for Developers
New in Chrome 87 | Blog | Chrome for Developers
Chrome 87 is rolling out now! You can now control pan, tilt, and zoom on webcams that support it, range requests and service workers don't require as many workarounds, the font access API starts it's origin trial, and plenty more. Let's dive in and see what's…
Проект Servo переходит в Linux Foundation
https://blog.servo.org/2020/11/17/servo-home/
Ранее в августе команда, работавшая в Mozilla над Servo, была полностью ликвидирована.
https://blog.servo.org/2020/11/17/servo-home/
Ранее в августе команда, работавшая в Mozilla над Servo, была полностью ликвидирована.
Статические публичные поля классов (stage 3) только что были добавлены в JavaScriptCore (JS движок, используемый в Safari/WebKit)
https://bugs.webkit.org/show_bug.cgi?id=194095
https://bugs.webkit.org/show_bug.cgi?id=194095
Вебня
Проект Servo переходит в Linux Foundation https://blog.servo.org/2020/11/17/servo-home/ Ранее в августе команда, работавшая в Mozilla над Servo, была полностью ликвидирована.
А сами Mozilla написали о том, как они гордятся своим детищам и рады, что оно теперь совсем взрослое и самостоятельное.
https://hacks.mozilla.org/2020/11/foundations-for-the-future/
https://hacks.mozilla.org/2020/11/foundations-for-the-future/
Mozilla Hacks – the Web developer blog
Foundations for the Future
Mozilla is pleased to see Servo, which began as a research effort in 2012, open new doors that can lead it to broader benefits for users.
Третий день 79й встречи #TC39
Отчёт по первому дню встречи можно почитать тут. По второму — тут.
———
JSON modules (stage 2 -> stage 3)
(слайды)
Там какие-то вопросы надо дообсудить. Я проспал, пока не разобрался в чём дело. Пока нет консенсуса.
Temporal (stage 2 обновление)
(слайды)
Всё классно, API стабилен. Идут кое-какие обсуждения с другуми организациями, работающими со стандартами. Пропозал возможно будет представлен к stage 3 уже в январе.
Intl Enumiration (stage 2 обновление)
(слайды)
Всё хорошо. Будет двигаться, был запрос на пообщаться с авторами Temporal.
JS Module Blocks (-> stage 1)
(слайды)
Консенсус и stage 1.
Обновления процесса (обсуждение)
(слайды)
Некоторуе уточнения в документ TC39 процесса. Консенсус достигнут.
Adopting Unicode behavior for set notation in regular expressions (новый пропозал, обсуждение)
(слайды)
Пропозал был добавлен слишком поздно, поэтому чемпионы не могут запросить продвижение на stage 1.
Отчёт по первому дню встречи можно почитать тут. По второму — тут.
———
JSON modules (stage 2 -> stage 3)
(слайды)
Там какие-то вопросы надо дообсудить. Я проспал, пока не разобрался в чём дело. Пока нет консенсуса.
Temporal (stage 2 обновление)
(слайды)
Всё классно, API стабилен. Идут кое-какие обсуждения с другуми организациями, работающими со стандартами. Пропозал возможно будет представлен к stage 3 уже в январе.
Intl Enumiration (stage 2 обновление)
(слайды)
Всё хорошо. Будет двигаться, был запрос на пообщаться с авторами Temporal.
JS Module Blocks (-> stage 1)
(слайды)
Консенсус и stage 1.
Обновления процесса (обсуждение)
(слайды)
Некоторуе уточнения в документ TC39 процесса. Консенсус достигнут.
Adopting Unicode behavior for set notation in regular expressions (новый пропозал, обсуждение)
(слайды)
Пропозал был добавлен слишком поздно, поэтому чемпионы не могут запросить продвижение на stage 1.
Четвёртый день 79й встречи #TC39
Продолжаем лайв. Сегодня заключительны день ноябрьской встречи TC39.
Отчёт по первому дню встречи можно почитать тут. По второму — тут. Третий — здесь.
———
Extensions (-> stage 1)
(слайды)
Много сомневались, но stage 1 взят.
Dealing with TC39 Data (обсуждение)
(слайды)
Очередная итерация попыток лучше организовать данные по пропозалам. Супер круто.
JSON modules (stage 2 -> stage 3)
(слайды)
Продолжение с третьего дня. Консенсус так и не был достигнут. Нет решения должны ли JSON модули быть мутабельными. Переносится на последующие встречи TC39.
Supporting MDN's documentation about in TC39's output (продолжение обсуждения с первого дня)
(слайды)
Grouped Accessors and Auto-Accessors (-> stage 1)
(слайды)
Продолжение обсуждения со второго дня. Консенсус и stage 1.
Error Cause (stage 1 -> stage 2)
(слайды)
Единогласный консенсус и stage 2.
Batch preloading (обсуждение)
(слайды)
Ради этого доклада подключился сам создатель JavaScript Brendan Eich. Обсуждались идеи для оптимизации предзагрузки скриптов.
Продолжаем лайв. Сегодня заключительны день ноябрьской встречи TC39.
Отчёт по первому дню встречи можно почитать тут. По второму — тут. Третий — здесь.
———
Extensions (-> stage 1)
(слайды)
Много сомневались, но stage 1 взят.
Dealing with TC39 Data (обсуждение)
(слайды)
Очередная итерация попыток лучше организовать данные по пропозалам. Супер круто.
JSON modules (stage 2 -> stage 3)
(слайды)
Продолжение с третьего дня. Консенсус так и не был достигнут. Нет решения должны ли JSON модули быть мутабельными. Переносится на последующие встречи TC39.
Supporting MDN's documentation about in TC39's output (продолжение обсуждения с первого дня)
(слайды)
Grouped Accessors and Auto-Accessors (-> stage 1)
(слайды)
Продолжение обсуждения со второго дня. Консенсус и stage 1.
Error Cause (stage 1 -> stage 2)
(слайды)
Единогласный консенсус и stage 2.
Batch preloading (обсуждение)
(слайды)
Ради этого доклада подключился сам создатель JavaScript Brendan Eich. Обсуждались идеи для оптимизации предзагрузки скриптов.
Симуляция особенностей зрения в Blink Renderer
Mathias Bynens написал статью о том, как с помощью Chrome DevTools можно улучшить доступность сайта для людей с особенностями зрения.
https://developers.google.com/web/updates/2020/11/cvd
Mathias Bynens написал статью о том, как с помощью Chrome DevTools можно улучшить доступность сайта для людей с особенностями зрения.
https://developers.google.com/web/updates/2020/11/cvd
Chrome for Developers
Simulating color vision deficiencies in the Blink Renderer | Chromium | Chrome for Developers
Why and how we implemented color vision deficiency simulation in DevTools and the Blink Renderer.
Видео и слайды с BlinkOn 13
BlinkOn — это конференция разработчиков Chromium. На YouTube канале конференции, которая в этом году проходила онлайн, выложили видео докладов.
https://www.youtube.com/playlist?list=PL9ioqAuyl6UJ_1hPrSWD1LpaIAeF9aaJi
Также выложены слайды для некоторых докладов, ссылки на них можно найти в расписании. Некоторые из них не доступны публично.
Интересно, что в это же время проходил WebKit contributors meetup. Я успел частично побывать на обоих этих закрытых событиях. О WebKit встрече расскажу отдельно.
BlinkOn — это конференция разработчиков Chromium. На YouTube канале конференции, которая в этом году проходила онлайн, выложили видео докладов.
https://www.youtube.com/playlist?list=PL9ioqAuyl6UJ_1hPrSWD1LpaIAeF9aaJi
Также выложены слайды для некоторых докладов, ссылки на них можно найти в расписании. Некоторые из них не доступны публично.
Интересно, что в это же время проходил WebKit contributors meetup. Я успел частично побывать на обоих этих закрытых событиях. О WebKit встрече расскажу отдельно.
YouTube
BlinkOn 13 — Virtual - YouTube
Вышел Safari Technology Preview 116
В нём добавились исправления Web Extensions, улучшения и исправления Web Inspector, улучшения Web Audio (включен AudioWorklet!) и MediaRecorder, исправления и улучшения CSS и другие правки и улучшения.
В нём добавились исправления Web Extensions, улучшения и исправления Web Inspector, улучшения Web Audio (включен AudioWorklet!) и MediaRecorder, исправления и улучшения CSS и другие правки и улучшения.
WebKit
Release Notes for Safari Technology Preview 116
Safari Technology Preview Release 116 is now available for download for macOS Big Sur and macOS Catalina.
Приватные поля экземпляров классов и приватные статические поля классов (stage 3) включены по умолчанию в JSC
https://bugs.webkit.org/show_bug.cgi?id=219179
https://bugs.webkit.org/show_bug.cgi?id=219179
Вебня
Вышел Safari Technology Preview 116 В нём добавились исправления Web Extensions, улучшения и исправления Web Inspector, улучшения Web Audio (включен AudioWorklet!) и MediaRecorder, исправления и улучшения CSS и другие правки и улучшения.
Ну офигеть. Как всегда со списками изменений у них всё плохо. Только что проверил сам что там есть из JS фич, и оказалось что там также включили WeakRefs (которые уже влиты в спецификацию и попадут в ES2021)!
API isInputPending() от Facebook добавлен в Chrome 87
В апреле 2019 я уже писал об этом API, которое позволяет улучшить usabilty за счёт возможности обнаружения пользовательского ввода. Теперь он добавлен по умолчанию в Chrome 87. Другие браузеры пока не высказали свой интерес в поддержке этой фичи.
В апреле 2019 я уже писал об этом API, которое позволяет улучшить usabilty за счёт возможности обнаружения пользовательского ввода. Теперь он добавлен по умолчанию в Chrome 87. Другие браузеры пока не высказали свой интерес в поддержке этой фичи.
Chrome for Developers
Better JS scheduling with isInputPending() | Capabilities | Chrome for Developers
A new JavaScript API that may help you avoid the trade-off between load performance and input responsiveness.
Статья: Постепенная миграция на Next.js
Разработчики Next.js написали статью о том, как можно мигрировать постепенно на этот фреймворк одним из трёх способов:
- конфигурация пути для открытия новых страниц с помощью Next.js
- проксирование на старые страницы через конфиг Next.js
- микрофронтенды с монорепой и субдоменами
https://nextjs.org/blog/incremental-adoption
Разработчики Next.js написали статью о том, как можно мигрировать постепенно на этот фреймворк одним из трёх способов:
- конфигурация пути для открытия новых страниц с помощью Next.js
- проксирование на старые страницы через конфиг Next.js
- микрофронтенды с монорепой и субдоменами
https://nextjs.org/blog/incremental-adoption
nextjs.org
Incrementally Adopting Next.js
Learn different strategies for incrementally adopting Next.js into your development workflow.
Electron 11
17 ноября вышел Electron 11 (а потом и ещё 2 патча), в основе которого теперь Chromium 87 и Node.js 12.8.3. В новой версии, помимо всего прочего, имеется экспериментальная поддержаа Apple Silicon.
17 ноября вышел Electron 11 (а потом и ещё 2 патча), в основе которого теперь Chromium 87 и Node.js 12.8.3. В новой версии, помимо всего прочего, имеется экспериментальная поддержаа Apple Silicon.
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Неделя релизов продолжается. Вчера вышел TypeScript 4.1. Дениэл Розенвассер рассказал о всех изменениях в новой версии.
В TypeScript 4.1 были добавлены литеральные шаблонные типы (Template Literal Types). Благодаря им можно описывать типы, состоящие из нескольких строковых литеральных типов. Также они позволяют на уровне типов "извлекать" строковые литералы из других литералов. В рамках этой фичи были добавлены новые утилитарные типы для манипуляции строками —
С новой версии можно ремапить ключи в отображаемых типах (mapped types). Это можно использовать для фильтрации свойств объектных типов или создания новых объектных типов с ключами, использующими литеральные шаблонные типы.
Появилась полноценная поддержка рекурсивных условных типов. Полезно для описания типов рекурсивных структур. Разработчики советуют не злоупотреблять этой фичей, так как она может негативно повлиять на производительность проверки типов.
Добавлен флаг
Есть несколько ломающих изменений. Условные спрэды создают опциональные свойства. Нужно обязательно указывать параметр функции
#release #typescript
https://devblogs.microsoft.com/typescript/announcing-typescript-4-1
В TypeScript 4.1 были добавлены литеральные шаблонные типы (Template Literal Types). Благодаря им можно описывать типы, состоящие из нескольких строковых литеральных типов. Также они позволяют на уровне типов "извлекать" строковые литералы из других литералов. В рамках этой фичи были добавлены новые утилитарные типы для манипуляции строками —
Uppercase, Lowercase, Capitalize , Uncapitalize.С новой версии можно ремапить ключи в отображаемых типах (mapped types). Это можно использовать для фильтрации свойств объектных типов или создания новых объектных типов с ключами, использующими литеральные шаблонные типы.
Появилась полноценная поддержка рекурсивных условных типов. Полезно для описания типов рекурсивных структур. Разработчики советуют не злоупотреблять этой фичей, так как она может негативно повлиять на производительность проверки типов.
Добавлен флаг
--noUncheckedIndexedAccess для более строгой проверки доступа к элементам массивов или свойствам объектов. Параметр paths теперь можно использовать без указания baseUrl. Теперь необязательно включать allowJs при использовании опции checkJs. Добавлена поддержка фабрик jsx и jsxs из React 17 (используются транспиляторами).Есть несколько ломающих изменений. Условные спрэды создают опциональные свойства. Нужно обязательно указывать параметр функции
resolve у промисов. Абстрактные члены больше не могут объявляться с async. Если в условном выражении falsy-позиция возвращает тип any`/`unknown, то any`/`unknown будет распространено на всё выражение.#release #typescript
https://devblogs.microsoft.com/typescript/announcing-typescript-4-1
Microsoft News
Announcing TypeScript 4.1
Today we’re proud to release TypeScript 4.1! If you’re unfamiliar with TypeScript, it’s a language that builds on JavaScript by adding syntax for type declarations and annotations. This syntax can be used by the TypeScript compiler to type-check our code…