Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

213,11
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Когда фронтенд перестаёт быть игрушкой: пишем собственный реактивный движок на JavaScript

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9.9K

Почти каждый фронтенд-разработчик однажды задаётся вопросом: что на самом деле происходит внутри современных фреймворков. Почему изменение переменной автоматически обновляет интерфейс? Как библиотека понимает, что именно нужно перерисовать?

Читать далее

VRack2 — Кот аристократ в мире локальной автоматизации

Уровень сложностиСложный
Время на прочтение42 мин
Охват и читатели5.6K

Это большая статья про дешевую локальную автоматизацию на основе VRack2. Будет очень много тем разной направленности. Работа с железом, мелкие сервисы, организация инфраструктуры.

По сути это компиляция моей работы за последние несколько лет. Важно подметить - моей и только моей.

Если какая-то тема не привлекает - просто переходите к следующей, скорее всего на что-нибудь интересное наткнетесь.

Вначале я приведу немного вводной информации, потом будут практические реализации.

Ну что, поехали!

Я написал мессенджер с серверами и голосовыми каналами. Один. Рассказываю зачем и как

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели7.3K

Когда в октябре 2024-го заблокировали Дискорд, я сидел в голосовом канале с друзьями. Связь оборвалась, все полезли за впн-ками, кто-то ушёл в Телеграм, кто-то просто пропал. Серверы, которые мы строили годами, с каналами, ролями, ботами, в один момент стали недоступны.

Я фрилансер, пишу на React и Node.js. В тот вечер подумал: а насколько сложно вообще сделать свой мессенджер с серверной структурой? Не чат на вебсокетах из туториала, а нормальный. С серверами, каналами, ролями, голосовыми комнатами, ботами. Такой, чтобы можно было перетащить своё сообщество и не чувствовать разницы.

Оказалось, сложно. Но я всё равно сделал.

Читать далее

Как я интегрировал GigaChat API в свой проект: опыт создания AI-ассистента с голосовым управлением

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.7K

Всем привет! Сегодня я хочу поделиться опытом создания веб-приложения на основе GigaChat API от Сбера. В проекте я использовал не только текстовый диалог с нейросетью, но и добавил голосовой ввод (распознавание речи) и озвучку ответов с помощью SaluteSpeech. Получился полноценный голосовой AI-ассистент. В этой статье я расскажу о технических деталях: как получить доступ к API, как организовать обмен сообщениями, кэшировать токены, обрабатывать ошибки и сделать удобный интерфейс.

Читать далее

Temporal: 9-летний путь к исправлению времени в JavaScript

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели7.5K

Cтарший инженер-программист в организации JavaScript Infrastructure & Terminal Experience компании Bloomberg Джейсон Уильямс опубликовал пост, в котором рассказал, как он вместе с командой реализовывал библиотеку Temporal вместо Date для различных типов дат и времени. Автор выступает делегатом TC39 (группы экспертов из Ecma International, отвечающей за стандартизацию и развитие языка JavaScript) и имеет опыт стандартизации функций, реализации языка и участия в крупных проектах с открытым исходным кодом. Джейсон также является создателем движка Boa JavaScript.

Читать далее

10 причин попробовать Effect TS/Основы Effect TS

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели6.3K

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

Читать далее

5 библиотек, которые помогут улучшить UX в вашем React Native-приложении

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.6K

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

И будет здорово, если их первая реакция будет не «ну, работает», а «вау, это выглядит как полноценный продукт».

Почему разработчикам вообще стоит задумываться о пользовательском опыте? Кажется, что это зона ответственности product/project-менеджеров, UX-дизайнеров и аналитиков. Но на практике у разработчиков в мобильных проектах есть довольно большая свобода влиять на UX-детали.

Более того, многие мелкие улучшения интерфейса стоят буквально десятки строк кода и несколько минут времени, но при этом заметно повышают ощущение «живости» приложения.

Меня зовут Алексей Цуцоев, я Frontend TeamLead в KODE. В этой статье разберу несколько библиотек, которые позволяют быстро улучшить UX React Native-приложения без значительных затрат на разработку.

Читать далее

Frontend Status: свежий дайджест фронтенда и AI — 12.03.2026

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.4K

Привет!

Это восьмой выпуск Frontend Status — дайджеста по фронтенд-разработке.

В этом выпуске — CodePen 2.0 и клон Loom на Next.js в видео; про AI: почему коллекция промптов не заменяет мышление, автоисследования на игровом PC и онбординг через Oncode. Безопасность в центре: Clinejection (4000 машин через GitHub-issue), как GitHub защищает агентские воркфлоу, укорочение срока жизни TLS-сертификатов, веб-агенты, сливающие данные пользователей, и 22 CVE в Firefox после проверки кодовой базы Claude. В CSS — все способы выбрать <html>, война z-index и подводный камень Anchor Positioning; в JS — когда пора переходить на Rust, разбор requestAnimationFrame и постмортем npm-червя Shai-Hulud. По фреймворкам: ретро-компоненты и cron-генератор в React, микрофронтенды в Angular 21. Веб-стандарты: обновление WCAG 3 и отчёт TC39 про ES2026. Браузеры: Chrome переходит на двухнедельные релизы, Edge предлагает атрибут focusgroup. Плюс VS Code 1.111 с инфраструктурой для Copilot-агентов, «убедительный дизайн» и усталость от токенов, TDD в эпоху AI, элемент <geolocation>, AT Protocol под капотом Bluesky и запуск Cursor-агентов из Telegram.

Читать

Symbiote.js — изоморфные веб-компоненты без лишних сложностей

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.2K

Привет, Хабр!

Меня зовут Алекс, и я мейнтейнер Symbiote.js - библиотеки для создания UI-компонентов и изоморфных приложений на самых современных веб-стандартах. Сегодня я расскажу про наше важное мажорное обновление - версию 3.x.

Читать далее

Я прочитал статью про 9 AI-ревьюеров — и сломал свой бюджет на токены

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.6K

Текст в ленту: AI-агент пишет код. Другой AI-агент его ревьюит. Первый фиксит замечания. Ревьюер проверяет фикс. 9 параллельных субагентов, 18 000 токенов в минуту каждый, и вопрос, который никто не задаёт: а кто проверяет ревьюера?

Читать далее

Как сделать двунаправленный бесконечный скролл в React

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.9K

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

В этом гайде я покажу, как собрать двунаправленный бесконечный скролл с нуля. Здесь React и @tanstack/react-virtual, но сама техника — просто математика над scroll offset. Работает так же в Vue, Svelte или на ванильном JS.

Демо | Исходный код

Читать далее

О специфике разработки приложений под Smart TV: личный опыт перехода от веба к ТВ

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.1K

Смотреть шоу, телеканалы, спортивные трансляции, фильмы и другой контент на Smart TV, используя приложения видеоплатформ — уже типовой сценарий. По данным на конец 2025 года, объём потребления контента в VK Видео увеличился в 2,1 раза (на 110%) по сравнению с аналогичным периодом 2024 года. Наибольшее вовлечение аудитории зафиксировано на платформе Smart TV: в начале 2026 года среднее время просмотра на одного пользователя — 241 минута. При этом многие не думают, как устроен софт для большого экрана.

Читать далее

Stitches закрыт — да здравствует StyleX

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.8K

История фронтенда хорошо показывает, что инструменты редко исчезают мгновенно. Чаще они проходят понятный цикл: сначала решают конкретную проблему и быстро набирают популярность, потом становятся привычной частью стека, а со временем уступают место следующему подходу. Примерно так развивается и CSS-in-JS. Когда он появился, это выглядело логичным шагом: стили рядом с компонентами, темы, токены и удобная интеграция с React. Со временем стало ясно, что у этой модели есть и ограничения — стили генерируются в рантайме, усложняется SSR, а в больших приложениях начинают накапливаться накладные расходы. Появились попытки сделать CSS-in-JS легче и быстрее. Одной из них стал Stitches: он сохранил удобный DX и заметно сократил рантайм. Но развитие проекта остановилось, а требования к фронтенду продолжают расти. Поэтому всё чаще обсуждают другой подход — перенос генерации стилей на этап сборки. В этой логике и появился StyleX.

Читать далее

Ближайшие события

Поколение JSON: цена удобных абстракций и упадок культуры ресурсов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели21K

В 1988 году бортовой компьютер с памятью 128 КБ посадил космический корабль в шторм. Сегодня ваш смартфон с многоядерным процессором заикается при скролле списка контактов. Мы привыкли думать, что данные невесомы, а JSON – это «просто текст». В этой статье мы препарируем один обычный fetch-запрос и посчитаем его реальную цену: в байтах, миллисекундах и скрытых архитектурных издержках. Разберемся, почему мы стали «поколением JSON» и как вернуть себе инженерную осознанность в эпоху избыточности.

Читать далее

Time-Travel Debugging: почему Ctrl+Z это только начало

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели5.5K

Time-travel debugging — это возможность сохранять снимки состояния приложения и перемещаться между ними. Традиционно он ассоциируется с инструментами отладки, такими как Redux DevTools. Однако пользователи современных приложений (Figma, Google Docs, VS Code) ожидают функциональности по перемещению между состояниями и от форм и веб-приложений.

Эта статья делится на две части:

Теория (Часть 1): Универсальные паттерны и концепции, которые останутся актуальны независимо от используемых библиотек.

Практика (Часть 2): Туториал по реализации пользовательского time-travel с использованием Nexus State.

Читать далее

Когда curl перестаёт работать: многоуровневый детект ботов и где в этой схеме живёт облачный браузер

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели11K

Эта статья не о том, что Puppeteer плохой инструмент. Puppeteer — отличный. И грамотный TLS-фингерпринтинг вынесет большинство защит. Но есть класс задач, где даже идеальный сетевой стек не спасает — потому что детект давно приземлился на уровень поведения рендеринг-движка. Разберём, как Cloudflare и Akamai палят вас через WebGL и Canvas, и почему "чистый" код больше не работает.

Вскрываем антифрод

Инвалидация nginx кэша

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели7.9K

Высоконагруженная система. Несколько миллионов страниц. Много сервисов, много данных. Имеются кэши разного уровня. Возникла идея сделать полный html кэш страницы. Достаем с полки nginx, ставим перед системой, включаем кэширование запросов. Работает. Но как быть, если данные изменяются? Надо сбрасывать кэш.

Читать далее

GridKit Enhanced: Enterprise-функции для TanStack Table

Время на прочтение14 мин
Охват и читатели5.4K

Все любят TanStack Table. Она гибкая, headless, даёт полный контроль над рендерингом.

Но в какой-то момент приходят требования от бизнеса:

«Давайте добавим аудит всех изменений для compliance»

«А можно логировать, как часто меняют сортировку?»

«Нужен экспорт в Excel для пользователей»

«Почему таблица тормозит на 10 000 строк?»

«Отслеживайте действия пользователей для аналитики»

И разработчик понимает: TanStack — отличный инструмент, но для enterprise-функций нужно написать кучу обвязки:

Event-система (вместо бесконечных useEffect)

Performance monitoring (метрики, алерты)

Validation (схема, проверка, исправление)

Plugin-менеджер (аудит, аналитика, экспорт)

Это 3-4 недели работы.

Читать далее

Визуальный инспектор аудиографов на Web Audio API: мотивация создания, детали реализации и размышления о стандарте

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели7.3K

Всем привет! Меня зовут Александр Григоренко, я фронтенд-разработчик и создатель Web Audio Studio — браузерного инструмента для визуализации и исследования аудиографов на Web Audio API. В этой статье я хочу поделиться историей разработки этого проекта, техническими деталями и особо интересными инженерными вызовами, с которыми я столкнулся в процессе его создания. Кроме того, я выскажу свои мысли о Web Audio API, о том, почему этот стандарт недооценен у веб-разработчиков и что с этим можно сделать (спойлер: во многом ему не хватает хорошего инструментария для разработки и отладки).

Читать далее

Vue DnD Kit v2: революция в мире Drag N Drop для Vue.js

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели10K

Vue DnD Kit v2: headless drag-and-drop с composable API — делай что хочешь, как хочешь

Если вы когда-нибудь пробовали сделать drag-and-drop на Vue по-настоящему гибким — с кастомным overlay, вложенными зонами, multi-drag и анимацией при отпускании — вы знаете, что большинство библиотек держат вас в клетке. Vue DnD Kit v2 эту клетку сломал.

И вам это понравится!)

Читать далее