diff --git a/_posts/news512/news-250.md b/_posts/news512/news-250.md new file mode 100644 index 00000000..4b5fd905 --- /dev/null +++ b/_posts/news512/news-250.md @@ -0,0 +1,75 @@ +--- +title: 'В этом выпуске: будущее dev-режима Figma, бета TypeScript 5.4, критика Next.js App Router, security-релизы Node.js февраля.' +soundcloudLink: 'https://soundcloud.com/csssr/typescript-54-beta-figma-dev-interop-2024-zod-deno-140' +date: '2024-02-09T00:00:00.000Z' +episodeNumber: 250 +tag: 'news' +author: 'Ислам Виндижев' +--- + +Всем привет, это «Новости 512» от CSSSR. Сегодня вас ждёт короткий выпуск. В этом выпуске мы узнаем о будущем dev-режима Figma, посмотрим на бету TypeScript 5.4, критически взглянем на критику App Router Next.js, узнаем, как начать новый React-проект в 2024 году, и пробежимся по паре подборок полезностей. Ещё я анонсирую security-релизы Node.js февраля и скажу пару слов об амбициозном редакторе кода и о том, как Rust продолжает набирать популярность. + +Перед началом выпуска я хочу поправить ошибку в выпуске #248. Дело в планах команды Angular на год. Глобальный объект Zone не представили, а собираются сделать опциональным, уходя от него в сторону дальнейшего развития реактивности. Извините за эту неточность. Игорь Кацуба, спасибо, что обратил моё внимание на ошибку. + + + ### Интересные публикации + +Подъехала [ещё порция критики Next.js](https://www.flightcontrol.dev/blog/nextjs-app-router-migration-the-good-bad-and-ugly). На этот раз не всего целиком, а App Router. Брендан Байер (Brandon Bayer) попробовал App Router Next.js и нашёл как положительные, так и негативные моменты. Ему понравились лейауты, гибкость и относительная простота организации роутов. В этой статье есть уже знакомая критика того, что фича была анонсирована как production-ready, а на самом деле оказалась сыроватой. Также он отмечает, что сложно отслеживать ошибки, течёт память dev-сервера и его приходится перезапускать, да и вообще dev-сервер еле ворочается. Вы можете с ним не согласиться — все аргументы в оригинальной статье. + + +Вы уже слышали про Dev Mode в Figma. Если нет, то есть теперь такой тоггл, который включает режим разработчика, благодаря которому вы сможете просматривать макеты примерно как страницы в DevTools. Фича, конечно, многим пришлась по душе, а команда Figma [поделилась планами](https://www.figma.com/blog/dev-mode-ga/). Например, планируется сделать diff-инструмент и расширить интеграции с Jira. Помимо этого, продолжат развивать плагин для VS Code и добавить возможность использования кастомных плагинов по умолчанию. Dev-режим Figma вышел из бесплатной беты и теперь стал платным: с 31 января он стоит 25$ и 35$ за человека на тарифах Organization и Enterprise. + +Переходить на Vite с Webpack или нет? Решать, конечно, вам. Может быть, вы вообще хотите не париться ни с какими сборщиками и голый HTML писать. Но если вы пишете на Vue 3 и хотите ускорить разработку с его применением, то смысл перейти на Vite вполне себе может быть. Как раз об этом [следующая заметка](https://habr.com/ru/articles/789584/). Автор сравнивает скорость работы обоих на одинаковых задачах и демонстрирует последовательный перевод проекта на Vite. Лаконично и понятно. + +Вот ещё один призыв переходить на Vite. Робин Урих (Robin Wierich) в продолжение своей статьи о React-библиотеках 2024 написал заметку о том, [как стартовать новый проект на React](https://www.robinwieruch.de/react-starter/). Ладно, речь не только о Vite. Робин предлагает Vite, Next.js и Astro как современные и хорошие варианты для старта. Он приводит плюсы и минусы каждого решения, а в конце статьи ещё и ряд альтернатив. + +Как вы организуете кэширование? Способов, конечно же, много. У нас есть Local Storage, IndexedDB, Cache Storage и многие-многие другие. [Следующая статья](https://habr.com/ru/articles/788786/) посвящена относительно старому Cache Storage API. Дело в том, что он был создан специально для кэширования и обладает всеми качествами «правильного» кэша: асинхронный, позволяет хранить большой объём данных и удобный. В статье есть подробный пример использования и небольшое сравнение с другими технологиями, применяемыми для организации кэшей. + +Вот о чём я совсем не задумывался. Как потестить Bluetooth в веб-приложении через Puppeteer? Вообще сам Bluetooth поддерживается уже давно, а как его потестить рассказали в блоге Chrome for Developers. В [статье](https://developer.chrome.com/blog/test-web-bluetooth-with-puppeteer?hl=ru) вы найдёте пример кейса, который можно потестить, какой API использовать для тестирования и базовый пример теста. Так что, если у вас проект, в котором есть Bluetooth, очень даже стоит ознакомиться. + +Strapi — это headless CMS, которую можно использовать для разных целей, например для создания API и других серверных штук. Иногда встроенного поиска мало и нужны более продвинутые системы. В [следующем материале](https://habr.com/ru/articles/791414/) — обзор использования Elasticsearch и Meilisearch. Если коротко, то Meilisearch проще в интеграции и применении, а Elasticsearch функциональнее и мощнее. Подробности — в статье на Хабре. + +Теперь пара подборок полезностей. Стефании Эклз (Stephanie Eckles) обновила свой сборник улучшений CSS для 2024. В нём собрано [12 улучшений](https://moderncss.dev/12-modern-css-one-line-upgrades/), они разделены на категории. Заметка не очень длинная — заглядывайте. + +Далее [полезные фишки DevTools](https://habr.com/ru/articles/791554/). Здесь тоже есть категории. Вы увидите разделы «Доступность», «Анализ производительности и состоянии приложения», «Консоль» и «Сеть». + +Команда Bun представила [Bun Shell](https://bun.sh/blog/the-bun-shell). Это экспериментальный встроенный язык и интерпретатор, который позволяет писать shell-скрипты для разных операционных систем. Это эксперимент, но фичу вполне можно опробовать. Больше подробностей о том, как это работает, вы найдёте в блоге Bun. + +В конце рубрики такая вот интересная штучка: оказывается, pnpm поддерживает в актуальном состоянии [сравнение бенчмарков со своими конкурентами](https://pnpm.io/benchmarks). Последнее обновление было в феврале. Если интересно — ссылка в описании выпуска. + + + ### Новости релизов + +Появилась [бета TypesScript 5.4](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4-beta/). В TypeScript появятся методы Object.groupBy и Map.groupBy. Представлен новый утилитарный тип NoInfer, который нужен для вывода типов без сравнения с внутренними типами. Больше подробностей — в анонсе. Релиз ориентировочно запланирован на март. + + +Доступны [security-релизы Node.js](https://nodejs.org/en/blog/vulnerability/february-2024-security-releases). Релиз затрагивает 20, 21 и 18 версии рантайма. В версиях 20 и 21 было устранено 4 уязвимости высокой опасности, 4 средней и 1 низкой. В 18 — две высокой опасности, 2 средней и 1 низкой. Не забывайте вовремя обновляться, а больше подробностей — в release notes. + +[Deno 1.40](https://deno.com/blog/v1.40) отметился релизом Temporal API — для продвинутых манипуляций с датами и временем. Добавили поддержку нового синтаксиса декораторов. Также в этом релизе продолжили работать над WebGPU. + +Вышел [Puppeteer 22.0.0](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v22.0.0). В этой версии была прекращена поддержка Node.js 16. Кроме того, ранее Puppeteer обновил версию Chromium до версии 121. + +Доступна [версия 1.22](https://go.dev/blog/go1.22) языка программирования Go. Этот релиз был в основном посвящён тулчейну, рантайму и библиотекам. Тем не менее сам язык тоже получил пару фич. Циклы теперь поддерживают диапазоны целых чисел. Также релиз включает в себя экспериментальную фичу, которая позволяет использовать функцию в качестве итератора. Больше подробностей — в release notes. + +Возможно, вы пользуетесь или помните пакет Husky, который помогает создавать разные git-хуки. Вышла его [девятая версия](https://github.com/typicode/husky/releases/tag/v9.0.1): Husky стал ещё меньше, а пользоваться пакетом стало ещё проще. + + + ### Другие новости + +Периодически я вспоминаю про инициативу Interop. Напомню: она посвящена тому, чтобы браузеры договаривались и реализовывали фичи равномерно, чтобы повышать кроссбраузерность и уменьшать количество болей разработчиков. Есть соответствующие тесты веб-платформы, которые проверяют разные элементы веб-спецификаций. У тестов есть свой дашборд, ссылку на который я приложу к выпуску. Это интересно тем, что по дашборду можно быстро сориентироваться и посмотреть на приоритеты разных браузерных вендоров. [Дашборд](https://wpt.fyi/interop-2024) как раз обновился для 2024 года — довольно интересно. + + +Существует такой редактор кода — Zed. Он ориентирован на коллективное программирование, работает пока только на macOS, а его миссия — стать самым крутым редактором кода. Новость в том, что [теперь он open-source](https://zed.dev/blog/zed-is-now-open-source): на него можно посмотреть, поучаствовать в разработке, познакомиться с крутым продуктом изнутри. Ссылка приложена к выпуску. + +Язык Rust шагает по планете и покоряет умы и сердца людей. Microsoft [планирует создать Rust-команду](https://www.theregister.com/2024/01/31/microsoft_seeks_rust_developers/) и использовать язык в своих сервисах, в частности в Office 365, который был написан на C#. Rust продолжает набирать популярность и, видимо, уже довольно уверенно заходит в крупные компании. + + ### Пишите нам и читайте + [Telegram—канал CSSSR](https://t.me/csssr) + + [Twitter CSSSR](https://twitter.com/csssr_dev) + + [Twitter новостей](https://twitter.com/csssr_news) + + [Telegram ведущего](https://t.me/Vindizh) + + [Twitter ведущего](https://twitter.com/Vindizh)