|
| 1 | +--- |
| 2 | +title: 'В этом выпуске мы поговорим о релизе TypeScript 4.8, ререндеран React, новой утилите для парсинга аргументов в Node.js, узнаем какие планы у Bun, посмотрим на другие релизы недели и фичи CSS :has() и @layer.' |
| 3 | +soundcloudLink: 'https://soundcloud.com/csssr/typescript-48-parsing-argumentov-v-nodejs-plany-bun-fichi-css-has-i-layer' |
| 4 | +date: '2022-09-05T00:00:00.000Z' |
| 5 | +episodeNumber: 215 |
| 6 | +tag: 'news' |
| 7 | +author: 'Ислам Виндижев' |
| 8 | +--- |
| 9 | + |
| 10 | +Всем привет! Этот выпуск будет несколько короче предыдущих, но в нём мы поговорим о релизе TypeScript 4.8, новой утилите для парсинга аргументов в Node.js, узнаем какие планы у Bun, посмотрим на другие релизы недели и фичи CSS :has() и @layer. |
| 11 | + |
| 12 | +Небольшое объявление: после следующего выпуска, 9 сентября, мы возьмём небольшую паузу на пару недель и вернёмся по плану 30-го сентября. Я постараюсь подготовить для вас большой выпуск с новостями за время всего перерыва. Теперь к новостям. |
| 13 | + |
| 14 | +<ParagraphWithImage imageName="laptopNews" > |
| 15 | + ### Интересные публикации |
| 16 | + |
| 17 | +Выпуск начинается со статьи доктора Акселя Раушмаера [о новой утилите Node.js utils:parseArgs()](https://2ality.com/2022/08/node-util-parseargs.html). В начале он касается обработки аргументов командной строки в принципе, потом раскрывает возможности новой утилиты и приводит примеры использования. Он разбирает и работу с опциями, флагами и другие нюансы работы утилиты. Утилита стала доступна в новом релизе LTS-версии 16.17.0, и ей уже можно пользоваться и попробовать разобраться. |
| 18 | +</ParagraphWithImage> |
| 19 | + |
| 20 | +Джейк Арчибальд (Jake Archibald) и Кэсси Эванс (Cassie Evans) в [новом выпуске HTTP 203](https://www.youtube.com/watch?v=_iq1fPjeqMQ&ab_channel=GoogleChromeDevelopers) обсудили, почему события готовности DOМ могут быть вредными и какими неожиданными способами могут замедлять ваши приложения. Они обсуждают альтернативы, например кастомные элементы, mutation observer’ы и другие. Получилось интересно — посмотрите, выпуск идёт всего 20 с хвостиком минут. |
| 21 | + |
| 22 | +В блоге Webkit Джен Симмонс (Jen Simmons) опубликовала [статью о псевдоселекторе :has()](https://webkit.org/blog/13096/css-has-pseudo-class/). В выпусках новостей мы немало обсуждали его и его возможности. В 2021 году его начали продвигать инженеры Igalia. В итоге разные браузеры начали его реализовывать. В Safari 15.4 он уже был доступен, а в Chrome по идее должен появиться в 105 версии. Джен немного рассказывает о разработке фичи и погружает читателя в возможности :has(). Она приводит и базовый пример использования, и более продвинутые — в комбинации с разными операторами и селекторами. |
| 23 | + |
| 24 | +Давно в новостях не было статей от Джоша Комо. И вот сегодня с нами его новая статья «[Почему React совершает перерендеры](https://www.joshwcomeau.com/react/why-react-re-renders/)». Как вы знаете, часто очень большой процент и пласт работ по оптимизации фронтенд-приложений заключается в одном — уменьшении количества перерендеров. Мы используем логические методы оптимизации, кэширование и другие приёмы для решения этой задачи. Джош разбирается в цикле рендера React, пропсах и изменениях состояния, касается вопросов профилирования через React DevTools. |
| 25 | + |
| 26 | +Завершит рубрику [заметка об ещё одной новой фиче CSS — @layer](https://css-tricks.com/using-css-cascade-layers-to-manage-custom-styles-in-a-tailwind-project/). Олли Уильямс (Ollie Williams) в CSS Tricks написал о том, как при помощи директивы @layer можно изолировать кастомные стили в проектах с Tailwind и убедиться в том, что приоритет стилей не нарушится и не появятся связанные с этим неприятные баги. У Tailwind есть свой синтаксис @layer. Его недостаток в том, что этот код скомпилируется и не попадёт в итоговый CSS в DevTools. Это одна из причин, почему Олли предлагает пользоваться нативной директивой. Больше подробностей и примеры — на CSS Tricks. |
| 27 | + |
| 28 | +<ParagraphWithImage imageName="manWithLaptop"> |
| 29 | + ### Новости релизов |
| 30 | + |
| 31 | +Вышел [TypeScript 4.8](https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/). Напомню, в этой версии есть одно ломающее изменение: если вы используете конструкцию Error.cause, то теперь, если возникнет исключение, TS выведет тип не Error, а unknown. Во время исключения автор какого-либо кода может вернуть не объект класса Error, а в принципе что угодно, поэтому логичнее выяснить, что внутри, самостоятельно. Это безопаснее для системы. Помимо этого улучшается поддержка типов, немного оптимизируется компиляция, производительность, расширяются возможности существующих конструкций. Можно обновляться. |
| 32 | +</ParagraphWithImage> |
| 33 | + |
| 34 | +Вышла [104-ая версия браузера Firefox](https://www.mozilla.org/en-US/firefox/104.0/releasenotes/). В новой версии был добавлен режим редактирования в инструмент просмотра PDF, появилась экспериментальная возможность QuickActions, которая позволяет выполнять определённые действия прямо из адресной строки браузера. В интерфейс профилирования добавлены графики потребления энергии при работе сайта (пока фича доступна только на Windows 11 и на машинах Apple с процессорами M1). Помимо этого был устранён ряд уязвимостей. Практически сразу после релиза вышел [патч 104.0.1](https://www.mozilla.org/en-US/firefox/104.0.1/releasenotes/) — в нём исправили проблему с воспроизведением видео на YouTube, которая возникает в основном на видеокартах Nvidia из-за багов использования аппаратного ускорения. |
| 35 | + |
| 36 | +Вышли новые версии Node.js. В релизе [LTS-версии 16.17.0](https://nodejs.org/en/blog/release/v16.17.0/) появилась утилита parseArgs() для парсинга аргументов командной строки, о которой я уже говорил в начале выпуска. В релизе [current-ветки 18.8.0](https://nodejs.org/en/blog/release/v18.8.0/) появился удобный бутстрап для создания пользовательских снапшотов. |
| 37 | + |
| 38 | +Команда Storybook представила [альфа-версию 7-ой мажорной версии](https://storybook.js.org/blog/7-0-design-alpha/). Вы можете увидеть переработанный и осовремененный дизайн, улучшения UX. Кроме того, обещают улучшить производительность. Больше подробностей — в блоге Storybook. |
| 39 | + |
| 40 | +Также я хочу отметить релизы [Safari Technology Preview 152](https://webkit.org/blog/13137/release-notes-for-safari-technology-preview-152/) и стабильный выпуск [СУБД MariaDB 10.9.2](https://mariadb.org/mariadb-10-10-1-rc-and-10-9-2-ga-now-available/). |
| 41 | + |
| 42 | +<ParagraphWithImage imageName="laptopNews" > |
| 43 | + ### Другие новости |
| 44 | + |
| 45 | +В прошлых выпусках мы уже говорили о новом JavaScript-рантайме Bun. Оказалось, что за Bun всё-таки есть организация, и она называется [Oven](https://oven.sh/). Это такая игра слов: bun — булочка, oven — духовка. Компания уже успела привлечь 7 миллионов долларов инвестиций при участии разных акселераторов и инвесторов, среди которых, кстати, Гильермо Раух — CEO в Vercel. Насколько я понимаю, план у ребят такой же, как у Deno: создать рантайм, построить вокруг него инфраструктуру для разработки и деплоев, запартнёриться с кем-то или самостоятельно монетизировать свои наработки. Кажется, я как в воду глядел насчёт маркетинговых войн и гонки в разработке. Посмотрим что из этого получится. Oven сейчас активно нанимает специалистов для разработки и выстраивает маркетинговую стратегию. |
| 46 | +</ParagraphWithImage> |
| 47 | + |
| 48 | + ### Пишите нам и читайте |
| 49 | + [Telegram—канал CSSSR](https://t.me/csssr) |
| 50 | + |
| 51 | + [Twitter CSSSR](https://twitter.com/csssr_dev) |
| 52 | + |
| 53 | + [Twitter новостей](https://twitter.com/csssr_news) |
| 54 | + |
| 55 | + [Telegram ведущего](https://t.me/Vindizh) |
| 56 | + |
| 57 | + [Twitter ведущего](https://twitter.com/Vindizh) |
0 commit comments