Рубрика «vue»

Аналоги умеют мигать рамкой вокруг обновившегося компонента. Этого хватает, чтобы заметить проблему, но не чтобы её починить: остаётся вопрос «а что вообще изменилось?».

Оказалось, Vue знает ответ и отдаёт его сам — просто этим почти никто не пользуется. Под катом: как устроен хук renderTriggered, почему сырое событие из него нечитаемо, и три способа уронить прод‑сборку чужого приложения дев‑инструментом, который в проде вообще не должен работать.

Чего не хватало

Есть Vue DevTools с галкой «Highlight updates». Есть react‑scan в соседней экосистеме. Оба показывают одно и то же: вот этот компонент перерисовался.

Читать полностью »

Привет!

С виду даже самый простой проект, который можно «запромптить» в пару подходов, содержит десятки подводных камней, из‑за которых его нельзя назвать production‑ready. В этой статье я расскажу, с какими проблемами столкнулась моя команда при разработке сервиса «Запомни это» (ankigo.ru) с помощью нейросетей, почему «два вечера» превратились в полгода и как мы закрывали пробелы, которые ИИ закрыть не смог.

Как легко недооценить проект

Многие знакомы с методом интервальных повторений и Anki‑карточками (хороший разбор есть здесьЧитать полностью »

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

Всё началось с задачи в секции дашбордов и виджетов. Секция ранее была переведена на библиотеку GridStack. Нужно было использовать функцию GridStack nested grids — размещение одной сетки внутри другой. Для пользователя это возможность создать новый виджет‑группу, внутри которого можно размещать другие виджеты. То есть еще один маленький дашборд внутри общего. Грид внутри грида. 

Читать полностью »

Разбираю неожиданные проблемы cross-platform onboarding между Telegram Mini Apps и native apps.

Недавно я столкнулся с неожиданной проблемой при разработке Telegram Mini App onboarding flow для native networking клиента.

На старте мне казалось, что весь onboarding займет буквально пару часов:
открыть deeplink → импортировать подписку → подключиться.

Но на практике именно эта часть оказалась самой нестабильной во всем проекте.

На первый взгляд задача выглядела довольно простой:

Telegram Mini App
↓
happ://...
↓
native app
↓
import subscription
↓
connect

Но на практике оказалось, что custom URI schemes внутри Telegram Mini Apps ведут себя совершенно по-разному:

На дворе 2026-й, и за это время как React, так и Vue сделали гигантский скачок в развитии и создании экосистемы вокруг себя. Но статистика до сих пор беспощадна к Vue. На React в два раза больше вакансий, чем на Vue. Сколько я ни спрашивал React-инженеров, ответ был всегда один и тот же: «React для серьезных проектов, а Vue так уж».. Серьезно? Почему вы до сих пор так думаете?? Ну хоть один пример приведите, что нельзя сделать во Vue. Хотя бы потратьте 1 день на изучение экосистемы Vue 3 Composition API, Vue Router, Pinia - да вы после этого забудете про свой React. А про различные useState я вообще молчу, Vue тут вообще вас всех обошел с обычными refЧитать полностью »

Современный frontend давно перестал быть страницей, которую можно объяснить через DOM, сетевые запросы и консоль браузера. Значительная часть поведения интерфейса рождается уже после загрузки: внутри состояния приложения, реактивных зависимостей, цепочек computed-логики, store, runtime-обновлений и внутренних связей между компонентами. При этом основной QA-инструментарий во многих сценариях остаётся почти тем же, каким был в эпоху, когда большая часть логики ещё находилась снаружи.

  • Network показывает транспорт.

  • DOM показывает результат.

  • Console показывает ошибки.

Читать полностью »

Привет.

Это моя первая статья здесь. Долгое время не решался что-то публиковать, хотя регулярно читал и разбирал материалы других авторов.

Для первой публикации я выбрал тему внутренней оптимизации реактивности во Vue 3 — trackOpBits и работу ReactiveEffect. Этот механизм почти не заметен при обычной работе с фреймворком, но он напрямую влияет на производительность рендера компонентов и поведение вложенных computed.

В статье разберём, какую проблему решает trackOpBits, как именно он используется внутри системы реактивности и почему эта оптимизация важна в реальных приложениях.

Кратко о ReactiveEffect

Читать полностью »

Адский эксперимент: личный сайт на нищих микросервисах - 1

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

Читать полностью »

Tailwind напишет ИИ, Redux — давно пора похоронить, а фронтендеру остаётся главный вопрос: быть инженером или уйти в историю как «человек, который красил кнопки».

Кто спасёт фронтенд, когда кнопки перекрашивает ИИ? - 1

Читать полностью »

Когда в Telegram начали появляться первые кликер-игры вроде Notcoin, стало ясно: мессенджер идеально подходит для лёгких и социальных игровых проектов. Никаких установок, просто открыл ссылку и играешь.

До MoonTap у меня уже был опыт в смежных областях: я занимался разработкой криптообменника, работал с Web3, интегрировал bitcoind и другие ноды. Это дало понимание того, как устроены транзакции, работа с блокчейном и распределённые системы.

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

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js