Vibe Takes

Claude
следит

Он читает каналы и собирает тейки про AI-инструменты. 61 автор — дизайнеры, разработчики, фаундеры.

Саммари на основе постов до 17 мая 2026 — все со ссылками на оригиналы.

🦜 on the web

🦜 on the web

@parrotontheweb·Разработчик·2.1K подписчиков

AI-саммари

Хочет убить isMobile раз и навсегда: ведёт серию исследований о том, как перенести всю адаптивную логику из JS в CSS через container queries и fluid-типографику — без пропсов, без хуков, без вычислений в рантайме. JetBrains называет клоунами за то, что спрятали AI-чат за пейвол, CRA — пустышкой, которой место только в туториалах для новичков. Посещает HolyJS 2026, следит за Next.js изнутри: хвалит фикс RSC-десериализации, который команда некста занесла прямо в React. Для vibe-кодинга использует Opus 4.6 — конкретно для проверки гипотез с container queries и grid-формулами. Следит за Hero UI, React Scan и Chrome DevTools MCP; разбирал, почему React Compiler несовместим с OXC и SWC на уровне AST-интеграции.

15 мая 2026 г.838 просмотров

Второй день Holyjs.

Был уже на докладе про реактивный css. Полезный и крутой доклад.

Сейчас на докладе по LLM.

6 мая 2026 г.1.5K просмотров

14-15 Мая буду на Holyjs 2026 Spring.

Есть интересные доклады для меня, плюс добавили ИИ трек. Вообще еще думаю залететь на дебаты, не помню, чтобы раньше было такое. В этом сезоне чувствуется, что было какое-то большое переосмысление.

Кто точно пойдет, пишите, можем понетворкаться.

Если тоже хотите на конфу, пишите мне в личку, подскажу как лучше это сделать.

13 апреля 2026 г.2.1K просмотров

Сhrome's DevTools MCP теперь включает:

* Проверки производительности через Lighthouse * Навык обнаружения утечек памяти * Навык отладки доступности * Навык оптимизации LCP

и экспериментальный новый CLI

https://github.com/ChromeDevTools/chrome-devtools-mcp

19 марта 2026 г.1.1K просмотров

Next.js 16.2 — AI, DX, и ускорение турбопака.

Сначала про турбопак.

Был тред, от platformatic про то, что некст медленный и на 1к реквестов у него 50-60 процентов success rate. Началось шапкозакидательство, потому что начали сравнивать с tanstack start.

Команда некста, взяла platformatic/flame, нашла проблему. Далее буду цитировать.

Tim Neutkens from Next.js found a hotspot in React Server Components: JSON.parse with a reviver callback forces a C++ to JS boundary crossing for every key-value pair.

His fix landed in React itself. 75% speedup in RSC deserialization. Benefits every React framework.

Next.js 16.2.0-canary.66: throughput more than doubled (322 to 701 req/s). Average latency dropped by 6x. 83% reduction in latency. Тем самым добились следующего: Up to ~60% faster rendering Up to ~400% faster 𝚗𝚎𝚡𝚝 𝚍𝚎𝚟 startup. Подробнее по ссылкам можно почитать.

Далее про AI и DX.

Теперь проект проще для AI‑ассистентов. Агентам легче понимать структуру проекта, ловить баги прямо из терминала и инспектировать приложение в работе — всё это без браузера. Можно копировать в документации (появилась отдельная кнопка) целые страницы оптимизированые под ИИ.

Логи из браузера теперь попадают в терминал. Добавили дифф ошибки гидратации. Дебаг ноды добавили для прод сервера.

https://nextjs.org/blog/next-16-2-turbopack

https://nextjs.org/blog/next-16-2-ai

6 февраля 2026 г.1.3K просмотров

Opus 4.6 уже лучше понимает container queries, container units с гридами. Самое трудное в таком подходе это формулы пропорций отступов, флюидная типографика, и вообще смена мышления зависимости от вьюпорта.

В этой задачи ИИ позволяет быстро проверять мысли и видеть результат.

Пока выводы делать рано, нужны еще переменные, чтобы окончательно понять, а можно ли сделать компоненты без пропсов isDesktop, isMobile, size, без вычисления в рантайме. Для простого копипаста композиции и переиспользования на других экранах.

22 января 2026 г.2.1K просмотров

Agent Skills

Новая спецификация от Anthropic — Skills — быстро набирает популярность в AI-дев сообществе. Идея в том, что агент может получать новые возможности по требованию, через progressive disclosure: подгружается только то, что действительно нужно, чтобы контекст оставался компактным и управляемым.

Тема активно обсуждается и появляются ресурсы: • Skills.sh — платформа от Vercel для поиска популярных open-source skills • React Best Practices от Vercel — skills для React и Next.js

Пробуйте, подбирайте на свой вкус. Кому-то поможет в команде прийти к единому стилю вайбкодинга🙂

16 июня 2025 г.2.3K просмотров

Набор настраиваемых частиц разбавит приложение анимациями для ваших Call to Action.

Upd. Разобрали почему есть проблемы с производительностью

3 июня 2025 г.2.8K просмотров

Почему нам нужны новые подходы к адаптивному дизайну

В мире веб-разработки адаптивный дизайн всегда был ключевым аспектом создания качественных пользовательских интерфейсов. Долгое время мы полагались на медиа-запросы, привязанные к размеру экрана:

/* Традиционный подход с медиа-запросами */ @media (max-width: 768px) { .card { flex-direction: column; } }

Этот подход привел к появлению условных конструкций в коде компонентов: <Button size={isMobile ? 'xs' : 'md'}> Нажми меня </Button> <Card variant={isTablet ? 'compact' : 'full'} />

Хотя медиа-запросы решали многие проблемы, они имеют существенный недостаток: компоненты реагируют только на размер экрана, а не на контекст, в котором они используются. Но что, если компоненты могли бы адаптироваться к размеру своего непосредственного контейнера?

Если схематично представить, то получается так, что вписываем наши компоненты в рамки и от их размеров этот компонент сам будет меняться 0px 350px 500px │─────────│────────────│

│ ┌────────────────────────────┐ │ │ ┌──────┐ Address │ │ │ │ IMG │ $280k–$310k │ │ │ └──────┘ [Confidence: 85%] │ │ └────────────────────────────┘ 0px 350px │─────────│

│ ┌────────────────────────────┐ │ │ ┌────────────┐ │ │ │ │ IMAGE │ │ │ │ └────────────┘ │ │ │ 123 Main St, Phoenix AZ │ │ │ $280,000 – $310,000 │ │ │ [Confidence score: 85%] │ │ └────────────────────────────┘

Далее это вижу так: любой шаблон, макет, layout — это всегда набор блоков, в которые помещаются элементы интерфейса и контент.

Возьмём лист А4 — у него фиксированная ширина, но внутри этой ограниченной области мы можем располагать элементы, считая, что доступная ширина — 100%. Аналогично с экранами устройств: у каждого девайса своя фиксированная ширина в пикселях, но с точки зрения CSS мы всё равно часто оперируем значением width: 100%.

Контент всегда занимает доступную ширину родителя. Один блок вкладывается в другой, и относительные значения продолжают работать — 100% внутри 100%, но в пикселях это уже конкретные числа, зависящие от контекста.

Это база (пересказал css): любой layout строится из вложенных прямоугольников с фиксированной пиксельной шириной, даже если мы пишем width: 100%.

Так вот вопрос: если карточки, блоки и секции в макетах всё равно имеют фиксированные размеры, зачем нам ориентироваться на ширину экрана? Мы же хотим вписывать компоненты в конкретные блоки, а не подгонять их под экран. Гораздо логичнее мыслить не “экранами”, а “контейнерами”.

Проще заложить в макетах компактный начальный стиль и максимальную ширину контента — а остальное рассчитывать динамически через clamp, minmax, пока не упрёмся в минимальный или максимальный порог.

И да, про это тоже будет отдельный пост: как донести такую философию до дизайнеров. Потому что рисовать по 5 версий одного экрана под каждое разрешение — это уже вайбы 2015 года, а не современный рабочий процесс.

3 июня 2025 г.1.9K просмотров

После того как я погрузился в возможности container queries, container units, а также fluid-типографику с clamp() и minmax(), возник вопрос: а можно ли вообще избавиться от флагов, пропсов и хуков в React-компонентах, которые отвечают за адаптивность?

Зачем каждый раз писать isMobile, size, compact, dense, fullWidth, вызывать хук для определения ширины экрана, если можно описать поведение компонента сразу через CSS и дать ему возможность адаптироваться к размеру своего контейнера?

Это размышление постараюсь разбить в небольшую серию постов, где я исследую, как убрать всю эту логику из JS и сделать компоненты по-настоящему контекстными и адаптивными.

Вот с чего обычно всё начинается: function ProductCard({ product, isMobile }) { return ( <Card size={isMobile ? 'compact' : 'full'}> <Image src={product.image} size={isMobile ? 'small' : 'large'} /> <Title fontSize={isMobile ? '16px' : '24px'}>{product.name}</Title> {!isMobile && <Description>{product.description}</Description>} <Price>{product.price}</Price> <Button size={isMobile ? 'xs' : 'md'}>Купить</Button> </Card> ); } К чему хочется прийти (css modules не обязательно, будем пробовать tailwind-variants, headless решения, какой-нибудь react-aria-components) function ProductCard({ product }) { return ( <div className="product-card-container"> <Card className="product-card"> <Image src={product.image} /> <div className="product-info"> <Title className="product-title">{product.name}</Title> <Description className="product-description">{product.description}</Description> <Price className="product-price">{product.price}</Price> <Button className="buy-button">Купить</Button> </div> </Card> </div> ); }

26 мая 2025 г.2.2K просмотров

Когда кажется, что паттерн Render Props — это устаревшее и непопулярное решение, вдруг находишь ему применение в headless UI-компонентах, а потом появляются и новые проекты, которые раскрывают его возможности по-новому.

RenderHooks позволяет размещать хуки прямо рядом с разметкой, где они действительно нужны — без обёрток-компонентов, без нарушения правил хуков и без шаблонного кода, даже если вы используете собственные хуки.

import $ from 'render-hooks';

export function Counter() { return ( <$> {({ useState }) => { const [n, set] = useState(0); return <button onClick={() => set(n + 1)}>Clicked {n}</button>; }} </$> ); }

А вот with-react — коллекция React-компонентов, которые оборачивают хуки и предоставляют более композиционный API. Каждый компонент принимает render prop, получающий значение, возвращаемое хуком.

Это позволяет реализовать поведение, которое ранее нарушало бы правила хуков. function SearchForm() { return ( <form action="/search"> <input name="q" /> <WithFormStatus> {(status) => ( <button disabled={status.pending}> {status.pending ? 'Submitting...' : 'Submit'} </button> )} </WithFormStatus> </form> ) }

Но не забывайте: чрезмерная логика внутри компонентов приводит к проблемам с поддержкой и производительностью. Поведение, основанное на ререндеринге, может быть непредсказуемым. Лучше выносить логику вне React-компонентов, когда это возможно.

12 мая 2025 г.2.6K просмотров

Сейчас занимаюсь ресерчем — обновлять ESLint до 9 версии или переходить на что-то более свежее и быстрое: OXC, RSLint, Biome. И вот в процессе наткнулся на интересный ишью по React Compiler.

В обсуждении на GitHub отписался Evan You. Он подробно описал, почему сегодня сложно эффективно использовать React Compiler вместе с инструментами на Rust — такими как OXC и SWC.

React Compiler реализован как набор Babel-плагинов на JavaScript. OXC и SWC — это компиляторы и линтеры, написанные на Rust. Между ними нет общего API, и прямой интеграции не получается без существенных компромиссов.

Основные проблемы: • Для запуска React Compiler потребуется передавать AST между Rust и JavaScript. • Это ограничивает параллелизм и добавляет накладные расходы. • В случае SWC интеграция достигается через встроенный JS-движок (QuickJS), но такой подход не масштабируется и остаётся временным решением. • Команда OXC считает подобный путь неоправданным и рекомендует запускать React Compiler отдельно.

Что предлагается сейчас:

Использовать React Compiler как отдельный Babel-проход, например, через @vitejs/plugin-react и его babel-настройку. Такой способ работает стабильно в экосистеме Vite.

Возможные направления развития: • Переписать React Compiler на Rust. Это обеспечит наибольший прирост производительности (по оценкам — в десятки раз), но требует значительных усилий. • Перенос на Go с использованием C FFI-интерфейса (FFI — Foreign Function Interface). Такой подход применяет команда TypeScript при переносе своих инструментов. • Создание API для “лёгких JS-трансформов”: AST передаётся в JS, где создаются инструкции по изменениям, а финальная работа выполняется обратно в Rust. Такой подход уже используется в некоторых Vite-плагинах, но в случае с React Compiler его применимость под вопросом из-за сложности самого компилятора.

Если хочется использовать современный Rust-базированный сборщик и линтер, то подключение React Compiler создаст неудобства. И наоборот — если в проекте требуется React Compiler, то отказ современных сборщиков и переход на Babel может усложнить сборку и снизить ее скорость.

На текущий момент приходится выбирать: либо современный toolchain, либо полная поддержка React Compiler — вместе они пока работают с ограничениями.

16 апреля 2025 г.2.7K просмотров

https://blog.jetbrains.com/webstorm/2025/04/webstorm-2025-1

JB клоуны🤡, конечно, лютые. Добавили возможность подключиться к локальной LLM, но плати👀, если тебе нужен чат из виджета в ИДЕ. Стикер сами знаете какой😡

25 марта 2025 г.3.1K просмотров

Vibe coding? Может лучше Vibe Drawing?

https://github.com/martin226/vibe-draw

18 марта 2025 г.2.2K просмотров

В одной соц сети пожаловались на медленную навигацию Next.js.

Lee Robinson выпустил 5 минутное видео объясняющее, что произошло. Он воссоздал через v0 проблемное приложение и показал как решать данный кейс

12 марта 2025 г.2.6K просмотров

Подсмотрел как можно использовать https://manus.im/ (есть еще его опенсорс аналог ANUS 😳)

MANUS — универсальный ИИ агент, который может и код писать, и путешествие запланировать, и анализ провести.

На видео пример, как проверяет SEO оптимизацию и выдает отчет по веб сайту.

12 марта 2025 г.2.2K просмотров

Большое обновление Hero UI

Теперь рядом с компонентом появилась кнопка "открыть в чате" и в нем можно изменить компонент под свои нужны.

Как мне кажется, такой тренд могут подхватить и другие хедлесс либы, или юай киты, если, конечно, у них на это будут ресурсы. Кастомизировать под себя и проверять визуал можно будет еще до начала интеграции в проект.

https://heroui.chat/

7 марта 2025 г.2.5K просмотров

Утекли промты Vercel для v0.dev.

Формат промта похож на системный, а v0 использует gpt-4o, а для размышления DeepSeek.

Сам промт на гитхабе

27 февраля 2025 г.2.4K просмотров

React Scan Inspector — браузерное расширение для React-scan.

React-scan — инструмент, который автоматически находит проблемы с производительностью в React приложениях.

https://github.com/jantimon/chrome-react-scan-inspector

21 февраля 2025 г.2.3K просмотров

Реакту нужен фреймворк при создании приложений, и вот почему:

За 8 лет работы с React я убедился во всех его особенностях. React — отличная библиотека, но, по сути, это лишь часть решения для создания масштабных приложений. Когда ты попадаешь в проект, где сборка настроена хаотично, отсутствует единый подход к роутингу, а идеологическое обоснование выбора инструментов практически отсутствует, это начинает сильно раздражать.

Особенно остро ощущается проблема сборки. Представьте себе: «голый» вебпак без плагинов для оптимизации приводит к долгому холодному старту и долгим ребилдам, меня такое вгоняет в тильт. Нажал на save — и можно отлучиться пить чай пять минут, ведь сборщик на JavaScript просто не справляется с обходом графа зависимостей. Такое окружение способно вывести из себя любого разработчика.

Решением становится использование готовых инструментов, в которых большинство этих болевых точек уже учтены «из коробки». Современные фреймворки, такие как Next.js, предлагают встроенный файловый роутинг, оптимизации для разработки и продакшена, настроенные линтеры, горячую перезагрузку и fast refresh. Ребилды происходят мгновенно, зависимости оптимизированы, а сборка не превращается в кошмар. При этом тебе не нужно тратить часы на настройку инфраструктуры — ты сразу можешь сосредоточиться на создании продукта. И да, не продаю тут Next.js.

Кстати, нельзя не упомянуть гугловскую команду Аврора, которая вместе с разработчиками Next.js активно работает над оптимизацией сборки приложений.

Как мне кажется, депрекейт CRA тому доказательство. Его было сложно настроить, он не нес никакой философии и оказался пустышкой. В документации CRA даже говорится: "Create React App is a comfortable environment for learning React, and is the best way to start building a new single-page application in React." Я всегда утверждал, что это решение должно оставаться лишь «комфортной средой для изучения React» и не больше.

Кроме того, не каждая команда располагает фронтопсом, способным самостоятельно настроить как девелопмент-окружение, так и продакшн-сборку с нужными оптимизациями для каждой мелочи — от кода до ассетов. Поэтому подход, когда всё необходимое уже собрано и настроено, становится настоящим спасением для разработчиков, позволяя сконцентрироваться на создании продукта, а не на борьбе с инфраструктурой.

Пора перестать мириться с устаревшими инструментами, которые только замедляют работу и выводят из себя. Если вы стремитесь к продуктивной и эффективной разработке, выбирайте современные фреймворки, которые работают на вас с первого дня. Это не просто улучшение — это революция в подходе к созданию приложений, где технологии служат инструментом для творчества, а не источником бесконечных проблем.

p.s. Однако если вы создаёте расширения или виджеты на React, полноценный фреймворк вам не нужен — в этом случае вполне достаточно всего, что даёт React «из коробки».

11 февраля 2025 г.2.8K просмотров

В следующей версии Bun

Bun.serve() получит встроенную поддержку горячей перезагрузки фронтенд-приложений.

Выше приведено демонстрационное приложение-клон интерфейса Twitter TailwindCSS + shadcn / ui. Это быстрая перезагрузка css и js / ts / tsx, запуск плагина tailwind css, перенос jsx / tsx, websocket hmr, который выполняется в реальном времени по мере ввода текста.