Vibe Takes

Claude
следит

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

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

🦜 on the web

🦜 on the web

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

AI-саммари

Переосмысляет адаптивность в React: хочет избавиться от isMobile-флагов и size-пропсов, перенеся логику в CSS через container queries и fluid-типографику. Исследует Render Props через призму headless UI, следит за внутрянкой React Compiler и разбирается, почему его нельзя эффективно интегрировать с Rust-инструментами вроде OXC. Ругает JetBrains за платный AI-чат🤡, а CRA называет пустышкой. Для vibe-кодинга использует Opus 4.6, следит за Hero UI и v0.dev. Попутно тестирует React Scan для отладки производительности и экспериментирует с Godot/Unity.

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

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, который выполняется в реальном времени по мере ввода текста.

17 января 2025 г.2.7K просмотров

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

https://github.com/mlabonne/llm-course

14 января 2025 г.1.8K просмотров

https://github.com/aidenybai/bippy

Автор react-scan и million выложил инструмент, с помощью которого сделан react-scan. Bippy дает доступ к внутрянке реакта притворяясь "реакт девтулзами", тем самым предоставляет доступ к Fiber и другим внутренним компонентам.

Демо

3 декабря 2024 г.1.7K просмотров

🕹 Пробую делать игру на Godot и Unity: опыт для новичка

Решил попробовать сделать простую игру и заодно сравнить два движка: Godot и Unity. Для гугления использовал бесплатные AI типа Perplexity и DeepSeek, потому что у них нет ограничений по региону, и количеству токенов.

Godot: дружелюбно и по делу

Установка, запуск, первые шаги — всё супер. Не надо никакой IDE, автокомплит из коробки, интерфейс не перегружен. Если цель просто попробовать что-то быстро собрать — это идеальный вариант. Но вот с новой версией (4) справляться сложнее, нейросети вообще живут в прошлом.

Unity: монстр, который требует времени

После Godot переход на Unity ощущается как прыжок с велосипеда на грузовик. Движок кажется монструозным. Без туториалов можно часами кликать по интерфейсу и ничего не добиться. Обязательно нужна сторонняя IDE с настроенным автокомплитом и поддержкой C#, например, Rider или Visual Studio.

И что раздражает: • Запускается долго. Даже на SSD и 32 ГБ DDR5 приходится ждать. • Для простых вещей, вроде кнопки, приходится копаться в куче настроек.

Резюме

Если вы новичок и хотите быстро вкатиться — Godot ваш выбор. Unity лучше для серьёзных проектов, но чтобы освоить его, надо потратить уйму времени и терпения.

Осталось потестить Unreal Engine и понять, где та самая “золотая середина”.

25 ноября 2024 г.2.0K просмотров

Наткнулся на аналог (если можно так сказать) chatgpt — DeepSeek.

Можно использовать аналог gpt o1 с рассуждениями — Deep Think . Дают 50 использований в день, если я правильно понял.

👀 Ссылка — нет блокировки по РУ региону и можно через гугл акк.

20 ноября 2024 г.2.8K просмотров

React Scan detects performance issues in your React app.

Новый инструмент для отслеживания ререндеров и проблем с производительностью приложений на Реакте.

На видео от автора, можно увидеть как работает на примере слака и чатгпт (будет в комментах).