Telegram Group Search
К хорошим новостям

Год назад я делал испытания по индексации поисковиками SPA на Vue, и тогда Google справился, а Яндекс не потянул

За прошедшее время Яндекс подучился и поумнел (скриншот)

Итого, Vue SPA:

1. Индексируются поисковиками
2. Дают лучшие показатели Web vitals, чем SSR Nuxt

Да, постраничный OpenGraph по-прежнему надо делать для SPA отдельным скриптом на сервере, но это простая небольшая логика.

Чем там ещё SSR фреймворки хвалились?

Всегда говорил, что BFF SSR - тупиковая ветвь развития фронтенда, усложняющая архитектуру и загрязняющая код веб приложения без необходимости. Те самые "фокусы". Видимо, доходит и до других, потому как в последнее время что-то часто встречаются статьи типа: "Nuxt это не только SSR"

#ssr #seo #nuxt
Media is too big
VIEW IN TELEGRAM
Подписчик поделился самописным расширением для VS Code — помогает быстро и безболезненно менеджерить локализацию в vue-i18n. Добавлять ключи, переводить на все языки (через AI), быстро обновлять существующие фразы... Короче, просто зацените демку.

Сейчас на стадии сбора фидбека и различных юз-кейсов. Кому интересно потыкать раннюю версию (бесплатно ofc), тут можно заполнить небольшую форму: https://tally.so/r/mDMv5b

Просит потестировать и покритиковать в комментариях

Лично я использую всегда самописную реализацию i18n, но расширение выглядит очень круто и использует AI именно так, как его надо использовать - незаметно, под капотом, значительно расширяя функционал приложения и сильно улучшая UX/DX. Мне такого не хватает, потому что приходится вручную ходить по json файлам и добавлять новый ключ, пусть даже и автокомплит это быстро делает за тебя.

#vscode #extension #i18n #lib
Media is too big
VIEW IN TELEGRAM
На прошлой неделе прошла конференция Vuejs Amsterdam 2025

Полное видео здесь

Яндексом перевел выступление Эвана. Немного коряво вышло.

#vuejs #conf #evanyou
Опубликовали результаты опроса State of Vue.js 2025

Довольно много информации, надо самому смотреть

Удивили данные по "custom composables" aka "модульные / глобальные рефы" - занимают уже половину от рынка Pinia. Народ умнеет.

#stats
Я писал не так давно про MCP и их потенциально большую роль в будущем, и тут вот уже что появилось:

vite-plugin-vue-mcp

MCP сервер в форме Vite плагина, который позволяет AI агенту IDE запрашивать данные о твоем Vue проекте

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

Полезность конкретно этой штуки нуждается, конечно, в проверке, но начало положено.

#ai
Совсем недавно вышла Mistral OCR - первая LLM для качественного парсинга картинок и pdf с картинками

Подключил её в Lissa.

Отлично распознает. Бесплатно. Без лимитов. С санкционной территории работает. Где подстава пока не пойму...

Мучения с Tesseract и Ко закончились, хотя оставил их на фолбэк.

#ocr #ai
Кто не знал, есть в VS Code (Volar) такая команда

Разделяет на два окна один файл по секциям SFC

#vscode
Деривативом к Lissa Health создался телеграмный ботик для AI распознавания текста на фото и картинках

@argus_ocr_bot

Позволяет задать один уточняющий вопрос после распознавания для фильтрации данных, форматирования, перевода на другой язык или еще чего-то

Примеры:
1. Сфотографировать квитанцию СДЭК => Оставь только номер отправления
2. Сфотографировать визитку => Сделай json
3. Сфотографировать непонятный текст => Переведи на русский

Критика и предложения welcome

#lissa #tgbot #argus
Хех... Эван прочел этот пост, но один "meta" все же лишний

Иначе Laravel - это мета-фреймворк над Symfony

#vite #evanyou
При использовании сторов иногда получаются проблемы из-за перекрестных ссылок, которые дают ReferenceEror

При использовании модульных рефов может возникнуть аналогичная ситуация - например, когда переменная refA определяется в модуле А, который использует модуль B, а B вешает watch на refA. Причем это применимо только к системе реактивности Vue, потому что с обычными объектами такой проблемы нет.

#store #reactivity #architecture
Решения для проблемы выше

1. Переделать. Перекрестное использование сущностей - архитектурно плохая практика. Каждая должна содержать в себе только свое состояние и логику работы с собой. Если А использует B, значит B - утилитарен по отношению к А (например, А - какой-то бизнесовый стор, B - отвечает за открытие диалогов). Но тогда коду из А нечего делать в B.

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

Если есть логика, которая работает и с А, и с B, то, скорей всего, она прикладная для этих сторов, и должна лежать в отдельной сущности (компоненте, композабле, простом или реактивном модуле, сторе).

2. setTimeout / nextTick, как на картинке. Работает и с модульными рефами, но выглядит уродливым костылём

3. Шина событий (eventBus) для сообщений между сторами. Как самостоятельное решение возможно, но в данном случае опять же костыль.

4. Если refA в примере вынести в отдельный модуль, то ошибка пропадет. То же самое, скорей всего, справедливо и для сторов, но будет выглядеть неуклюже. Выносить надо не голый стейт, а разделять стор грамотно, по ответственности.

5. Не надо пихать реактивность туда, где можно обойтись без нее. Если переменная B зависит от А, и источников изменения А всего один-два, то необязательно ставить watch над А в B, можно обновлять B императивно напрямую. Это уберет прямую зависимость от А в B (если код в А уже как-то использует B), а также повысит читаемость и производительность. В первую очередь касается кода, который работает с бэкенд API.
Так же приоритетно, как и пункт 1.

#store #reactivity #architecture
В Твиттере обсуждение большого поста разработчика OpenNext (инициативы по облегчению деплоя Next приложений куда-то окромя Vercel)

Отмазывает компанию, говорит, всё это случайности, а не злой умысел. Что в Next.js было мало намеренных изменений, ломающих совместимость, но много ненамеренных багов при обновлениях версий.

Пишет, что Next.js стал популярным благодаря своим достоинствам, но в какой-то момент его "перепродвигали" из-за больших вложений в маркетинг. Теперь разработчики начинают понимать, что Next.js не всегда подходит для их задач. Предостерегает от того, чтобы называть тех, кто чувствует странности в продвижении Next.js, теоретиками заговора

Что сейчас у Vercel небольшая команда по связям с разработчиками (DevRel), и они не платят инфлюенсерам за продвижение. Однако раньше это было не так - Vercel активно спонсировал людей, как официально, так и неофициально.

#react #sst #nextjs #spa
Хорошая статья по использованию ИИ в программировании

Особенно, Заключение

Можно добавить, что большой бизнес все проблемы решит, а средний, малый и непрофильный столкнется с одноразовыми приложениями, накодеными vibe кодерами. Будет много недовольных клиентов.

Политика "одноразовых" продуктов из внешнего мира приходит в IT

#ai
2025/06/18 16:10:24
Back to Top
HTML Embed Code: