Category : javascript

javascript
Мы запихнули LifeOS в Telegram Mini App: как сделать сложный UI на React + Framer Motion и не сойти…

Кто за этим стоит? Нас двое, и этот проект — результат столкновения двух разных подходов к разработке:Дмитрий Спирихин (Я) — System Architecture & Full-stack Development. Я притащил в проект логику из Unity, заставил всё работать на Rx JS и выстроил архитектуру так, чтобы она не рассыпалась под весом десятка модулей.Демиан Авольстийный — Product Vision, Design & Vibe Coding. Демиан отвечал за тот самый «вайб», премиальный дизайн в стиле Apple и тактильность. Его задача была сделать та…

  • среда, 4 февраля 2026 г. в 00:00:07
javascript
Как мы рендерим видео на клиенте с помощью ffmpeg

Обычно FFmpeg используют на сервере, но есть обертки и сборки для браузера, которые позволяют выполнять операции и на фронтенде. Сегодня речь пойдет о ffmpeg.wasm и настройке параметров для односекундной сборки видео, которое после просмотра пользователь может скачать. В статье покажем, как выглядит решение. Оно подойдет и для бэкенда, но нам пришлось обрабатывать и склеивать ролики именно на клиенте.В Далее много специфичных проектов. На одном из таких клиент ограничивает доступ к серверной ча…

  • среда, 4 февраля 2026 г. в 00:00:07
javascript
Как мы «усложнили жизнь» автотестам и повысили качество тестирования

Представьте: ваши автотесты проходят стабильно, ошибок почти нет, команда довольна. Но со временем тесты стали работать в «стерильных» условиях и перестали отражать реальность. Именно с такой ситуацией мы столкнулись на крупном продукте после трех лет регулярных прогонов. В этой статье расскажем, как мы перешли от «зашитых» констант к системе динамической генерации данных, сделали тесты «сложнее» и в итоге повысили их реальную эффективность в 10 раз. Причина такого поведения оказалась в самом …

  • вторник, 3 февраля 2026 г. в 00:00:05
javascript
Замыкание в JavaScript — зачем функциям личное пространство

Привет, меня зовут Саша, и я продолжаю рассказывать о JavaScript тем, кто только взялся за освоение этого языка. В разработке нам постоянно нужны «умные», самостоятельные функции: счетчики, которые знают свое предыдущее значение, обработчики событий с индивидуальными настройками, механизмы для защиты данных. Чтобы не городить глобальные переменные и не писать громоздкие конструкции (что почти всегда ведет к багам), мы посмотрим на еще одну фишку JS.В предыдущих статьях мы разобрали: функции, их…

  • вторник, 3 февраля 2026 г. в 00:00:05
javascript
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS

Предыстория: Откуда взялась идея.История проекта началась в прошлом году (2025). Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы.На лекции мне задали резонный вопрос: А где посмотреть актуальный и понятные материалы по RxJs?.Я провел …

  • понедельник, 2 февраля 2026 г. в 00:00:08
javascript
Kawai-Focus 2.2: Python-бинарник в Tauri — проблемы и альтернативы

Всем доброго дня! В предыдущей статье Kawai-Focus 2.1: переезд на новый стек я:Объяснил, почему перехожу с Kivy на новый стек;Перевёл часть кода на новый стек: FastAPI + Vue.js + Tauri + Ionic;Собрал приложение для Linux в формате AppImage;Рассказал о некоторых критических недостатках текущего решения при запуске на Arch Linux.В данной статье я расскажу, с какими проблемами, связанными с бинарником, столкнулось моё решение при запуске на Arch Linux у моих знакомых, и почему у меня оно работает …

  • суббота, 31 января 2026 г. в 00:00:08
javascript
React Native. Часть 2: Bare Workflow, Expo, стили и платформенные особенности

В первой части мы разобрали эволюцию архитектуры React Native. Теперь перейдем к практическим вопросам: как организован процесс разработки и какие платформенные особенности встретятся в работе.Процесс разработкиВыбор между классическим подходом и Expo – одно из первых архитектурных решений в проекте. Разберем оба варианта.Bare React NativeПроцесс требует настройки окружения (Xcode для iOS, Android Studio для Android). В упрощенном виде процесс запуска приложения для разработки выглядит следующи…

  • суббота, 31 января 2026 г. в 00:00:07
javascript
Главные изменения JavaScript в 2026 году

В 2026 году обновят JavaScript. Окончательный список изменений сформируется из проектов ECMAScript, достигших 4 этапа к марту. Но многие из них уже на заключительной стадии, а другие готовы и доступны в некоторых браузерах и средах. Под катом — что ждёт разработчиков и какие проблемы будут решены в этом апдейте.  Информация об изменениях — отсюда. Temporal API: исправление для объекта Date Temporal — долгожданная замена проблемного объекта Date в JavaScript. Он уже достиг стадии 3 в TC39, и дл…

  • суббота, 31 января 2026 г. в 00:00:05
javascript
DOM-дерево — как не запутаться в ветвях объектной модели документа

Бывало такое: смотрите вы на красивую страницу интернет-магазина, открываете консоль разработчика (ту самую, по F12 или через правый клик), а там — лес из тегов, который вообще не похож на то, что вы видите глазами?Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. В этой статье мы продолжаем знакомиться с элементами страницы, а именно с DOM. Эти знания вам точно понадобятся в работе с любым проектом. Давайте же больше узнаем, что это за дерево и как с ним работать. Поеха…

  • суббота, 31 января 2026 г. в 00:00:04