Между тем, не так давно вышел PHP 8. — очень большой и значимый релиз, помимо всего прочего добавляющий паттерн-матчинг, JIT и улучшения системы типов. С анонсом на русском языке можно ознакомиться тут.
www.php.net
PHP 8.0 Released
PHP 8.0 — большое обновление языка PHP. Оно содержит множество новых возможностей и оптимизаций, включая именованные аргументы, тип union, атрибуты, упрощённое определение свойств в конструкторе, выражение match, оператор nullsafe, JIT и улучшения в системе…
JSON Modules и Import Assertions уже в браузере
Мы уже писали про то, что эти фичи попали в Chrome 91 Beta, но не будет лишним напомнить, что теперь они доступны в стабильных версиях Chromium без флагов. Что примечательно, самое ценное среди этих двух фич даже не JSON Modules как может показаться на первый взгляд (хотя тоже ценно). Куда важней Import Assertions, так как это открывает возможность для новых типов модулей (помимо JSON), таких как CSS (работа идет), WebAssembly и, возможно, HTML. Немного деталей в короткой статье Акселя Раушмайера ECMAScript proposal: Import assertions.
Мы уже писали про то, что эти фичи попали в Chrome 91 Beta, но не будет лишним напомнить, что теперь они доступны в стабильных версиях Chromium без флагов. Что примечательно, самое ценное среди этих двух фич даже не JSON Modules как может показаться на первый взгляд (хотя тоже ценно). Куда важней Import Assertions, так как это открывает возможность для новых типов модулей (помимо JSON), таких как CSS (работа идет), WebAssembly и, возможно, HTML. Немного деталей в короткой статье Акселя Раушмайера ECMAScript proposal: Import assertions.
TablesNG
Еще одно нововведение в Chrome 91, которое почему то прошло мимо заметок к релизу, что включили по умолчанию TablesNG (часть проекта LayoutNG), переписанный модуль отвечающий за лейаут таблиц (<table>). Это позволило починить древние баги связанные с размерами, замещением фона в ячейках, отрисовкой рамок, использованием position отличный от static для разных элементов таблицы (thead/tbody/tfoot/tr/td/th) и др. В частности, теперь корректно работает
Еще одно нововведение в Chrome 91, которое почему то прошло мимо заметок к релизу, что включили по умолчанию TablesNG (часть проекта LayoutNG), переписанный модуль отвечающий за лейаут таблиц (<table>). Это позволило починить древние баги связанные с размерами, замещением фона в ячейках, отрисовкой рамок, использованием position отличный от static для разных элементов таблицы (thead/tbody/tfoot/tr/td/th) и др. В частности, теперь корректно работает
position: sticky
для секций (thead/tbody/tfoot) и рядов, хаки больше не нужны. Правда TablesNG пока не используется для печати, так как еще не реализовали фрагментацию. Интересные детали в TablesNG developer notesTwitter
Aleks Totic
@aardrian @chriscoyier It is fixed in M91. We rewrote tables. Developer notes: docs.google.com/document/d/16P…
Улучшения производительности в V8 9.1
В блоге Chromium вышла небольшая статья, в которой авторы заявляют об ускорении браузера Chrome до 23% благодаря новому компилятору Sparkplug и short builtin calls.
В блоге Chromium вышла небольшая статья, в которой авторы заявляют об ускорении браузера Chrome до 23% благодаря новому компилятору Sparkplug и short builtin calls.
Chromium Blog
Chrome is up to 23% faster in M91 and saves over 17 years of CPU time daily
Since the launch of Chrome in 2008, speed has been one of the 4 core principles that shape the work we do to deliver a highly performant br...
⚡️В Safari для iOS и IPadOS также появится поддержка Web Extensions. А на прошлой неделе была анонсирована Web Extensions Community Group, созданная совместно Apple, Google, Microsoft и Mozilla.
Вышел Safari 15 Beta
https://developer.apple.com/documentation/safari-release-notes/safari-15-beta-release-notes
В новой версии:
- поддержка OTP
- поддержка Webauthn Passkey
- улучшенная поддержка aspect-ratio
- поддержка цветовых функций lab(), lch(), hwb() и пространств цветов в color()
- новый дизайн форм
- мета-тэг theme-color
- top-level await (ES2022)
- поддержка ES модулей в воркерах и сервис воркере
- Error.cause (stage 3)
- приватные методы классов и аксессоры (ES2022)
- поддержка TypedArray с элементами BigInt типов
- аппаратное ускорение VP9 и WebM
- Opus кодек для аудио в WebM контейнерах
- автоматический апгрейд соединения до HTTPS
- автоматическое скрытие IP от трекеров
- разные улучшения Private Click Measurement
- потоковая компиляция #WebAssembly
- #WebAssembly Bulk Memory Operations
- #WebAssembly Reference Types
- #WebAssembly Non-trapping float-to-int Conversations
- WebGL 2 включен по умолчанию
- Web Share API level 2
- поддержка Web Extensions на iOS и iPadOS
- отладка CSS Grid в Web Inspector
https://developer.apple.com/documentation/safari-release-notes/safari-15-beta-release-notes
В новой версии:
- поддержка OTP
- поддержка Webauthn Passkey
- улучшенная поддержка aspect-ratio
- поддержка цветовых функций lab(), lch(), hwb() и пространств цветов в color()
- новый дизайн форм
- мета-тэг theme-color
- top-level await (ES2022)
- поддержка ES модулей в воркерах и сервис воркере
- Error.cause (stage 3)
- приватные методы классов и аксессоры (ES2022)
- поддержка TypedArray с элементами BigInt типов
- аппаратное ускорение VP9 и WebM
- Opus кодек для аудио в WebM контейнерах
- автоматический апгрейд соединения до HTTPS
- автоматическое скрытие IP от трекеров
- разные улучшения Private Click Measurement
- потоковая компиляция #WebAssembly
- #WebAssembly Bulk Memory Operations
- #WebAssembly Reference Types
- #WebAssembly Non-trapping float-to-int Conversations
- WebGL 2 включен по умолчанию
- Web Share API level 2
- поддержка Web Extensions на iOS и iPadOS
- отладка CSS Grid в Web Inspector
⚡️ W3C и WHATWG совместно собираются представить обновление спецификаций DOM от 15 июня 2020 года в статусе Candidate Recommendation 6 июля 2021 года.
Вебня
Все будущие сессии WWDC 2021, касающиеся Safari.
Более полный список сессий WWDC 2021 о WebKit и Safari из блога WebKit:
https://webkit.org/blog/11700/webkit-features-in-safari-at-wwdc21/
https://webkit.org/blog/11700/webkit-features-in-safari-at-wwdc21/
WebKit
WebKit Features in Safari at WWDC21
There’s a lot of news coming out of WWDC21 about WebKit and the web technology that’s shipping in Safari 15 on Apple’s platforms.
Forwarded from Defront — про фронтенд-разработку и не только (Alexander Myshov)
Команда React поделилась планами разработки следующей мажорной версии библиотеки — "The Plan for React 18".
В React 18 будет добавлен автоматический батчинг обновлений стейта компонентов, новые API (например, startTransition) и стриминговый серверный рендерер с поддержкой React.lazy. Изменится работа с конкурентным режимом. Он будет включаться автоматически при использовании новых фич, которые требуют этот режим. Такая стратегия упростит миграцию приложений на React 18.
С этой версии команда React начинает больше работать с сообществом. Для этого была организована специальная рабочая группа из экспертов, разработчиков, авторов библиотек и образовательных программ.
Также была опубликована альфа-версия React 18. Команда React призывает авторов библиотек поэкспериментировать с ней и поделиться фидбеком.
#react
https://reactjs.org/blog/2021/06/08/the-plan-for-react-18.html
В React 18 будет добавлен автоматический батчинг обновлений стейта компонентов, новые API (например, startTransition) и стриминговый серверный рендерер с поддержкой React.lazy. Изменится работа с конкурентным режимом. Он будет включаться автоматически при использовании новых фич, которые требуют этот режим. Такая стратегия упростит миграцию приложений на React 18.
С этой версии команда React начинает больше работать с сообществом. Для этого была организована специальная рабочая группа из экспертов, разработчиков, авторов библиотек и образовательных программ.
Также была опубликована альфа-версия React 18. Команда React призывает авторов библиотек поэкспериментировать с ней и поделиться фидбеком.
#react
https://reactjs.org/blog/2021/06/08/the-plan-for-react-18.html
react.dev
The Plan for React 18 – React
The library for web and native user interfaces
Проблемы доступности, которые можно обнаружить и исправить используя интрументы разработчика в браузере
Christian Heilmann из команды Microsoft Edge собрал материалы и записал видео о том, как улучшить доступность сайтов.
https://christianheilmann.com/2021/06/08/accessibility-issues-you-can-discover-and-fix-using-the-browser-developer-tools/
Christian Heilmann из команды Microsoft Edge собрал материалы и записал видео о том, как улучшить доступность сайтов.
https://christianheilmann.com/2021/06/08/accessibility-issues-you-can-discover-and-fix-using-the-browser-developer-tools/
Вышел браузер Vivaldi 4.0
В нём добавлена встроенная возможность перевода, а также бета-версии почтового клиента, читалки для подписок, и календарь.
https://vivaldi.com/blog/vivaldi-4-0/
В нём добавлена встроенная возможность перевода, а также бета-версии почтового клиента, читалки для подписок, и календарь.
https://vivaldi.com/blog/vivaldi-4-0/
Vivaldi Browser
Vivaldi 4.0 | Vivaldi Translate launches on desktop and Android
Translate websites on desktop or Android privately with Vivaldi 4.0! Our latest update also adds beta versions of Mail, Calendar, and Feed Reader.
This media is not supported in your browser
VIEW IN TELEGRAM
В комментариях новостей про Web Extensions в Safari 15 многие интересовались будут ли доступны блокировщики рекламы. Я записал видео, на котором вы можете увидеть, что на данный момент там практически только они есть. Также присутствуют ссылки на два альтернативных браузера - Firefox Focus (при этом его блокировщик работает и в Safari) и DuckDuckGo (только standalone, как альтернатива Safari)
Опубликованы стенограммы майской встречи #TC39
День 1 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-25.md
День 2 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-26.md
День 1 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-25.md
День 2 — https://github.com/tc39/notes/blob/master/meetings/2021-05/may-26.md
GitHub
notes/meetings/2021-05/may-25.md at main · tc39/notes
TC39 meeting notes. Contribute to tc39/notes development by creating an account on GitHub.
Forwarded from Валя читает ишью
Будущее HTTP клиента в Node.js
В Node.js существует 3 встроенных модуля для HTTP запросов: HTTP, HTTPS и HTTP/2. Из названий, в общем-то, понятно для чего каждый из них предназначен. Все эти модули используют встроенный модуль Net для осуществления запросов.
Но обычно с этими модулями напрямую мы не работаем. Самый популярный пакет-обертка — это request. (он, кстати, задепрекейчен) Следующий по популярности это node-fetch, ну а догоняет его got от Синдре Сорхуса. Где-то в районе четвёртого места появляется axios.
Все эти библиотеки используют те самые встроенные модули. И это проблема, т.к. многие из них манки-патчат методы и это затрудняет добавление фич и исправление багов в ноде.
И здесь мы переходим к undici. Этот непопулярный клиент (52 000 установок в неделю против более 20 000 000 у каждого из пакетов выше) написаный Маттео Калина (со-автор fastify и член TSC Node.js) фундаментально отличается от всех остальных библиотек — он использует модуль Net в обход встроенных http и https. Так же используется WASM билд парсера llhttp. За счёт этого undici в разы быстрее, но что более интересно — в документации Node.js будет ссылка на undici. Т.е. это будет один из рекомендованных способов для работы с HTTP.
Но отвлечёмся на node-fetch и axios: их популярность более чем очевидна — зачем мне учить 2 разных API для сервера и клиента, если я могу использовать одну и ту же библиотеку и всё работает? Тем более учитывая, что в ноде начинают появляться Web API, например Crypto. А ишью с просьбой добавить fetch в ноду вот уже 3 года, но недавно началось интересное движение: один из членов репозитория ноды запостил скрин с использванием fetch из ноды со словами «now who wants to write tests for it :P». Конечно, это ничего не значит, но немного приближает нас к наличию fetch в ноде.
Так же нужно отметить, что существует undici-fetch и скорей всего он будет вмерджен в сам undici. Опять же, сейчас это не более чем размышления на тему, но, возможно, именно undici — будущее HTTP в Node.js.
Отдельно оставлю ссылки на ключевые ишью:
Future of the Node HTTP Client
Implement window.fetch into core
В Node.js существует 3 встроенных модуля для HTTP запросов: HTTP, HTTPS и HTTP/2. Из названий, в общем-то, понятно для чего каждый из них предназначен. Все эти модули используют встроенный модуль Net для осуществления запросов.
Но обычно с этими модулями напрямую мы не работаем. Самый популярный пакет-обертка — это request. (он, кстати, задепрекейчен) Следующий по популярности это node-fetch, ну а догоняет его got от Синдре Сорхуса. Где-то в районе четвёртого места появляется axios.
Все эти библиотеки используют те самые встроенные модули. И это проблема, т.к. многие из них манки-патчат методы и это затрудняет добавление фич и исправление багов в ноде.
И здесь мы переходим к undici. Этот непопулярный клиент (52 000 установок в неделю против более 20 000 000 у каждого из пакетов выше) написаный Маттео Калина (со-автор fastify и член TSC Node.js) фундаментально отличается от всех остальных библиотек — он использует модуль Net в обход встроенных http и https. Так же используется WASM билд парсера llhttp. За счёт этого undici в разы быстрее, но что более интересно — в документации Node.js будет ссылка на undici. Т.е. это будет один из рекомендованных способов для работы с HTTP.
Но отвлечёмся на node-fetch и axios: их популярность более чем очевидна — зачем мне учить 2 разных API для сервера и клиента, если я могу использовать одну и ту же библиотеку и всё работает? Тем более учитывая, что в ноде начинают появляться Web API, например Crypto. А ишью с просьбой добавить fetch в ноду вот уже 3 года, но недавно началось интересное движение: один из членов репозитория ноды запостил скрин с использванием fetch из ноды со словами «now who wants to write tests for it :P». Конечно, это ничего не значит, но немного приближает нас к наличию fetch в ноде.
Так же нужно отметить, что существует undici-fetch и скорей всего он будет вмерджен в сам undici. Опять же, сейчас это не более чем размышления на тему, но, возможно, именно undici — будущее HTTP в Node.js.
Отдельно оставлю ссылки на ключевые ишью:
Future of the Node HTTP Client
Implement window.fetch into core
W3C Web Machine Learning Working Group опубликовала первый публичный черновик спецификации Web Neural Network API
Документ описывает низкоуровневый API для аппаратного ускорения нейросетей в вебе.
Можно также почитать блогпост о создании рабочей группы W3C.
Документ описывает низкоуровневый API для аппаратного ускорения нейросетей в вебе.
Можно также почитать блогпост о создании рабочей группы W3C.
www.w3.org
W3C Launches the Web Machine Learning Working Group
This post is co-authored by Anssi Kostiainen (Working Group Chair), Ningxin Hu and Chai Chaoweeraprasit (Web Neural Network API Editors), and Ping Yu (TensorFlow.js Core team).