Обновить
512K+

JavaScript *

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

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

Вы и я не знаем ни JavaScript ни какой-либо другой язык

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

Я 10 лет пишу на JavaScript и публично заявляю: я его не знаю. Но почему-то уверен, что закрою любую задачу из вашего бэклога. Разбираю манипулятивную схему, которой грешит весь рынок найма, особенно сейчас, во время кризиса.

Читать далее

Новости

Три причины раздувания JavaScript

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

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

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

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

Читать далее

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

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

Привет!

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

В этом выпуске:

📺 Разговор с Машей Кондрашиной из Авито о том, что в IT больше не спорят из-за технологий.

🤖 VS Code переходит на еженедельные релизы благодаря AI-агентам, Chrome объясняет разницу между MCP и WebMCP, а Эдди Османи вводит термин «comprehension debt».

⚛️ React получает shadcn/cli v4 с режимом для агентов, SvelteKit ловит FOWL, Astro v6 подтягивает данные из API прямо в content collections.

🌎 Chrome 146, Mozilla за анонимность в вебе.

🎨 Брэд Фрост о дизайне в эпоху AI.

📦 Эмпирическое исследование утечек памяти на 500 репозиториях.

...и многое другое.

Читать далее

Пишем Pac-Man на чистом JavaScript: ностальгия, «Пиксели» и туман войны

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

Недавно, когда писал статью про «Тетрис», я поймал себя на мысли, что вспоминаю не только падающие блоки, но и другой культовый проект — жёлтый кругляш, вечно убегающий от призраков. А потом в памяти всплыл фильм «Пиксели» (2015). Там есть сцена, которая одновременно смешная — жутковатая: создатель Пакмана, Тору Иватани, выходит к гигантскому Пакмену и пытается с ним поговорить по-отечески: 

«Пакман, я сделал тебя. Ты такой голодный, я знаю. Не надо больше есть. Хороший мальчик» — актёр Денис Акияма (Тору Иватани).

И вот я подумал: а почему бы не попробовать самому создать Пакмена? Не такого кровожадного, конечно, а просто для души. Тем более что с «Тетрисом» получилось удачно, захотелось закрепить успех.

Читать далее

JS — мне сегодня 30 лет

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

В 2025 году JavaScript исполнилось 30 лет — хороший повод попытаться объять необъятное разобраться, как он меняется и в каком направлении развивается. За три десятилетия язык переживал периоды скепсиса и бурного роста, обрастал экосистемой и стандартами, и в итоге вышел далеко за пределы браузера, охватив серверную и кросс‑платформенную разработку.

Всем привет! Меня зовут Владимир, я разработчик СберБанк Онлайн в канале «веб», и в этой статье я хотел бы затронуть этапы эволюции JavaScript, зафиксировать нововведения спецификации ECMAScript 2025, разобрать наиболее значимые предложения для будущих версий стандарта и попытаться понять его место в эпоху стремительного развития ИИ.

Читать далее

Почему JavaScript-функция RegExp.escape() экранирует латинские буквы, пробелы и ухо луны

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

Случайно увидел результат работы функции RegExp.escape() и был удивлен, потому что она заэкранировала пробелы, все спецсимволы, а также цифры и латинские буквы в начале строки. До появления RegExp.escape() (а она стала доступна в популярных браузерах лишь в 2025 году) я, как и многие другие, писал аналогичную функцию сам, но без экранировки вышеперечисленных символов. Получается, что я ошибался, и нужно бросать все дела, рыться в старых исходниках и переписывать функцию? И да, и нет.

/^Читать\s+далее$/

Temporal: долгий процесс решения проблемы времени в JavaScript

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

Как меняется JavaScript?

JavaScript уникален тем, что работает во всех браузерах. У него нет какого-то одного «владельца», поэтому нельзя внести изолированное изменение и ждать, что оно будет применено везде. Эволюция происходит через TC39 — Технический комитет, отвечающий за ECMAScript.

Предложения должны пройти последовательность этапов развития:

• Этап 0: идея.

• Этап 1: принято пространство задач.

• Этап 2: выбрана архитектура драфта, но работа продолжится.

• Этап 2.7: предложение одобрено в принципе; ожидает тестирования и обратной связи.

• Этап 3: реализация и обратная связь.

• Этап 4: предложение стандартизовано.

В 2018 году, когда я впервые изучал Temporal, он находился на Этапе 1. Комитет TC39 был убеждён, что проблема реальна. Это было радикальное предложение по добавлению в JavaScript новой библиотеки дат и времени. Она должна была:

• Стать заменой Date.

• Добавить новые типы DateTime (вместо единого API).

• Стать неизменяемой.

• Добавить поддержку часовых поясов и календаря.

Но как мы к этому пришли? Почему Date вызывает столько проблем? Чтобы ответить на эти вопросы, нужно вернуться назад.

Читать далее

Reactive Route — новый роутер для разных фреймворков и реактивных систем в 2 КБ

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

Я не OpenSource разработчик, но за пару десятков лет написал под сотню enterprise-level библиотек, которые остаются в рабочем контуре, дорабатываются под каждый проект и адаптируются к новым технологиям. Большого смысла выходить в OSS не было, кроме как для упрощения обучения коллег и единого места хранения документации.

Но и желание помогать другим и делиться выстраданными подходами, экспертизой и конкретным кодом мне не чуждо - сегодня поможешь ты, завтра - тебе. Через полгода подготовки и адаптации к OpenSource (сам использую и дорабатываю около 8 лет) в свет выходит одна из библиотек моего рабочего контура - Reactive Route.

Так как я работаю с проектами на разных стеках, стараюсь писать код максимально framework-agnostic - независимыми слоями, которые можно заменить или переписать, не трогая остальной код проекта. А к фреймворкам и библиотекам для работы с состоянием они подключаются с помощью легковесных адаптеров, сохраняя синтаксис работы. Конкретно для Reactive Route выложил набор готовых адаптеров в комбинациях, которые сейчас чаще всего использую:

React + MobX / Observable

Preact (no compat) + MobX / Observable

Solid.js + нативная реактивность / MobX / Observable

Vue + нативная реактивность

В одном npm-пакете - строгая TS-типизация, SSR / MPA / no-JS / Widget режимы и тщательно протестированная отказоустойчивость. В статье не буду пересказывать документацию на русском и английском, а поговорю скорее про общие принципы качества, использование ИИ в разработке и почему многие библиотеки раздуваются, не успев даже стабилизировать ядро.

Читать

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Привет!

Это восьмой выпуск 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 мин
Охват и читатели5.9K

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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 эту клетку сломал.

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

Читать далее

Wish-лист на 8 марта по книге «Пять языков любви» или как автоматизировать романтику

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

Мне 34, из них больше десяти лет я в коммерческой разработке. И примерно столько же я женат. Каждый год 7 марта я ловил себя на мысли, что стою в торговом центре с пустым взглядом, пытаясь угадать с подарком. В этом году я решил подойти к проблеме не как муж в панике, а как инженер.

Я прочитал книгу Гэри Чепмена «Пять языков любви», поймал пару инсайтов и за 5 вечеров написал сервис-переводчик для пар. Внутри: Flask, Vanilla JS (да, в 2025 году, и я объясню почему), DeepSeek API для генерации карточек в стиле «Love is…» и алгоритм матчинга, который понимает мою жену лучше, чем я за 10 лет брака. Под катом — история о том, как код помогает чинить баги в коммуникации.

Читать далее

Обновления GigaIDE за февраль 2026

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

Вот и закончился февраль, за который в GigaIDE появилось ещё больше полезного. Ниже — краткий обзор обновлений PRO-функциональности GigaIDE, которую можно найти в нашем маркетплейсе. Обзор инкремента за январь доступен по ссылке.

Читать далее

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

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

Привет!

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

В этом выпуске — разговор с одним из создателей WebAssembly о версии 3.0, трезвый взгляд на AI-копилотов и что приходит им на смену. Прокачиваемся в CSS и JS: что уже baseline в 2026, как не провалиться в ловушки дат и зачем нужен «Can I Stop». По фреймворкам: Angular чинит уязвимости и наконец делает формы человечными, Vue — про доступность, Svelte лидирует в State of JS. Плюс Bun, сайт конференции Three.js, опасный баг в Chromium и статья для тех, кто устал просто «рисовать пиксели».

Читать

Одна формула, позволяющая понять 3D-графику

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

Учась в школе, я обнаружил очень простую математическую формулу, о которой не перестаю думать и сегодня. Смысл её в следующем: представьте, что у вас есть 3D-точка в воображаемом 3D-пространстве за экраном. Для проецирования этой 3D-точки на экран нужно взять её координату X, поделённую на Z, и аналогично её Y / Z. И в результате вы получите проекцию точки на экран: x'=\frac{x}{z} и y'=\frac{y}{z}. А если у вас есть множество точек в этом 3D-пространстве за экраном, и вы начнёте их анимировать и вращать их, а потом воспользуетесь этой формулой для рендеринга всех точек на экране, то это будет выглядеть, как 3D-сцена или 3D-объект. Давайте попробуем эту формулу в деле.

Читать далее

Пишем первое приложение с AI-стартером, чтобы видеть прибыли и убытки

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

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

Для проекта я буду использовать нашу подготовленную ИИ-базу — шаблон проекта с инструкциями-промптами для искусственного интеллекта. В статье расскажу, насколько это было сложно, где агенты ошибались самостоятельно, а где — из-за меня. 

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

Читать далее
1
23 ...