Обновить
512K+

JavaScript *

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

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

Почему вопрос «Какой язык программирования выбрать в 2026» убивает вашу будущую карьеру

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

Привет, Хабр! (И тебе, питонист, который считает свой язык идеальным, и тебе, JS-ник, у которого уже вышел новый фреймворк, пока ты читал это предложение, и тебе, 1С-ник, который устал объяснять, что ты тоже программист всем во круг.)

Наткнувшись миллионный раз на статью «КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ВЫБРАТЬ?» я задался вопросом, почему люди ещё не поняли ответа на этот вопрос, ведь он на поверхности.

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

Читать далее

Capacitor: от веба к мобильным приложениям. Часть 2. Как написать свой плагин (Android + iOS)

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

В этой, уже 3 по счету статье мы переходим к самому важному месту во всей архитектуре Capacitor — к плагинам.

Именно плагины делают из WebView полноценное мобильное приложение. С ними у Вас появляется доступ к камере, файловой системе, push-уведомлениям, Bluetooth и т.д.

В статье разберем:

как устанавливаются официальные плагины;

как работать с community-плагинами;

как мигрировать с Cordova;

и главное — как написать собственный плагин с нуля на реальном примере отправки SMS.

Читать далее

Почему статические сайты возвращаются и чему они научились

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

Помните времена, когда статический сайт был сайтом-визиткой на голом HTML, а любой серьёзный проект требовал CMS?

Мы привыкли считать нормальным сайт на WordPress, «Битриксе» или хотя бы самописном Django. Статика же оставалась уделом гиков, документации и страниц о скором запуске.

В 2025 году статические сайты вернулись. Не в качестве альтернативы для бедных, а как зрелая архитектура, которая решает 90% задач быстрее, дешевле и безопаснее, чем тяжёлый бэкенд.

Читать далее

pure-md5: Современная реализация MD5 для JavaScript с поддержкой TypeScript, стримов и нулевыми зависимостями

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

В 2026 году может показаться странным писать новую библиотеку для MD5. Алгоритм считается устаревшим, браузеры постепенно убирают его из Web Crypto API, а в документации Node.js есть предупреждения о его использовании.
Но реальность сложнее. MD5 всё ещё жив в:

Контрольных суммах файлов (многие репозитории до сих пор публикуют MD5-хеши)

Системах кэширования (ключи на основе контента)

Легаси-протоколах (некоторые API требуют MD5-подписи)

Внутренних идентификаторах (где безопасность не важна)

Проблема в том, что существующие реализации либо устарели, либо не имеют TypeScript, либо не работают универсально (Node.js + браузер). Я решил это исправить и представил pure-md5 — современную, типизированную и адаптивную библиотеку.
В этой статье расскажу о технических решениях, архитектуре и покажу, почему это может быть полезно в ваших проектах.

Читать далее

Инструменты навигации в GIGA IDE

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

Добрый день! Меня зовут Андрей Слекеничс, я PO GigaIDE, и сегодня мы продолжаем наш экскурс по функциональности GigaIDE.

Первая и предыдущая статьи цикла доступны здесь и здесь. Сегодняшний материал — последний, затрагивающий функциональность GigaIDE Community, и первый, в котором мы переходим к возможностям уже только GigaIDE PRO.

Читать далее

2022 vs 2024 vs 2026. Один сценарий: как меняется мышление, а не код

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

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

Читать далее

Мы сократили деплой кнопок с двух дней до одного часа, или как Nx облегчил жизнь фронтендеров Рунити

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

Привет, Хабр! На связи Никита Ли, frontend-разработчик в Рунити.

За последние годы мы в Рунити пришли к довольно привычной для крупных frontend-команд ситуации: проектов становилось больше, кодовая база разрасталась, а количество переиспользуемых пакетов и микрофронтендов росло слишком быстро. Поддерживать зоопарк репозиториев становилось всё сложнее — и по времени, и по нервам.

В этой статье расскажу,  с какими проблемами мы столкнулись, зачем вернулись к одному репозиторию и что Nx реально изменил в нашей работе.

Читать далее

WebMCP: Революция в интеграции ИИ прямо в браузере

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

Google и Microsoft представили в ограниченном превью новую технологию — WebMCP. Это стандарт, который обещает кардинально изменить взаимодействие ИИ-агентов с веб-приложениями. Если вы уже знакомы с Model Context Protocol (MCP) от Anthropic, то WebMCP — это его идеологический наследник, перенесенный непосредственно на сторону клиента (в браузер).

Читать далее

ReactiveEffect во Vue 3: что на самом деле исполняет вашу реактивность

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

В предыдущей статье мы разобрали trackOpBits — механизм оптимизации трекинга зависимостей во Vue 3.
Но тогда мы смотрели на систему через одну конкретную оптимизацию.

Сегодня поднимемся уровнем выше.

Почти всё, что вы делаете во Vue:

Читать далее

Nexus State: Современный менеджер состояния для JavaScript-приложений

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

В экосистеме JavaScript-разработки управление состоянием приложений всегда оставалось одной из самых сложных задач. От глобальных переменных до сложных библиотек вроде Redux и MobX — разработчики постоянно ищут более простые и эффективные решения.

Сегодня мы познакомимся с Nexus State — новой библиотекой для управления состоянием, которая сочетает простоту использования Atom-подхода с мощными функциями для реальных приложений. В этой статье мы рассмотрим архитектуру Nexus State, его возможности, и проведем объективное сравнение с существующими решениями.

Читать далее

Как я в 16 лет создал свой Pomodoro-таймер: месяц дисциплины и первые пользователи из 7 стран

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

Мне 16 лет. Последние 8 месяцев я учусь на Frontend-разработчика. Я решил проверить свои силы и создать инструмент, которым буду пользоваться сам. Но мой путь начался не с мощного ПК и гигабайтов интернета, а с мечты и обычного смартфона.

Мой путь в программировании начался 26 декабря 2024 года. Это была мечта, к которой я шел 5 лет. На тот момент я был «полным нулем»: у меня не было стабильного интернета и я почти ничего не знал о Frontend. Я записался на курсы, даже не до конца понимая, что это такое.

Первые две недели у меня не было ноутбука, и я писал свой первый код прямо на телефоне. Только спустя время у меня появился ноутбук и нормальный доступ к сети, чтобы узнать: что такое Frontend и какие задачи он решает?

Узнать историю...

View Transitions API: полное руководство по плавным переходам в браузере

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

View Transitions API: полное руководство по плавным переходам в браузере

View Transitions API часто показывают на демках с одной карточкой. Но когда вы начнёте внедрять его в реальный проект с асинхронной загрузкой, React, кастомными анимациями и поддержкой старых браузеров, — окажется, что демки умалчивают о массе деталей.

Узнать подробнее

Тихие сбои React Compiler и как их исправить

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

React Compiler обещает избавить от ручной мемоизации и вернуть разработчику фокус на логику интерфейса. Но за этой когнитивной разгрузкой скрывается тонкий риск: в ряде случаев компилятор тихо откатывается к обычному поведению React, и вы узнаёте об этом только по деградации UX. В статье — практический разбор «тихих» сбоев, ограничений синтаксиса и способа заставить сборку честно сигнализировать о проблемах через ESLint.

Разобрать проблему

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

trackOpBits во Vue 3: как битовые маски ускоряют ReactiveEffect

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

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

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

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

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

Читать далее

Я до сих пор бомблю от редизайна DuoLingo. Настолько, что сделал свой велосипед

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

Я до сих пор бомблю от редизайна Duolingo.

Чтобы тренироваться без отвлечения на геймификацию, написал небольшой тренажер грамматики английского языка. Супер простой (vanilla JS + HTML), но со своими особенностями.

Особенности решения — под катом.

Долой Сов!

Как приблизить веб-звонки к нативному UX

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

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

Поэтому некоторые популярные сервисы вообще запрещают звонки из мобильного браузера и просто отправляют пользователя устанавливать нативное приложение.

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

Читать далее

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

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

Привет!

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

JS/TS: Evan You — Vite, Rust, VoidZero; State of JS 2025 и новый интерфейс npm (npmx).

AI: Transformers.js v4 в NPM; тест «заменит ли ИИ опытного дебаггера».

Фреймворки: React — ViewTransition, SSG-сравнение, календарь DayFlow; Angular — обзор v22 и демо проект на Genkit.

CSS и браузеры: гистограммы и подсветка поиска без JS; предпочтения размера шрифта из системы в Chrome.

Доступность и интерфейсы: когнитивная доступность (W3C), combobox vs multiselect, якоря и UX.

Разное: ограничения и вдохновение, «искусство неправильного взаимодействия», репортаж с t-sync.

Читать

Интерактивная поздравительная открытка на JavaScript

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

Наверное, каждый из нас ловил себя на мысли: что отправить на день рождения в этот раз? Просто текст, тёплую фотографию или голосовое сообщение? И сразу вспоминается это чувство, когда ищешь или обдумываешь креативный текст, а потом вспоминаешь о милой картинке с котиком, гифке с шампанским или стандартном «С ДР!» — и отправляешь, чисто для галочки.

Со временем я заметил: когда получаешь такое поздравление в Telegram, становится немного грустно, что человек хоть и поздравил, но не потратил время на то, чтобы обдумать и искренне пожелать чего-то хорошего и уникального только про тебя. Хотя понимаешь — это нормально. Поколение постарше привыкло обмениваться этими милыми, но безликими посланиями. Хотя не все делают это из-за нежелания — некоторым просто понравилась картинка, вот и скинули.

Читать далее

Zod: строгая валидация и удобная типизация. Опыт перехода

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

Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру.

В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных.

К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме.

Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string')?

С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

Читать далее

Глобальная область видимости в JavaScript

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

Как любой другой язык программирования, JavaScript позволяет создавать элементы доступные в любом месте приложения. И, как и с другими механизмами, JS тут имеет свои уникальные, но важные особенности, которые мы подробно сейчас рассмотрим.

Глобальная область видимости может принимать различные формы в зависимости от того как загружаются код JS...

Какие ещё формы?