JavaScript for Devs – Telegram
JavaScript for Devs
712 subscribers
34 photos
11 videos
1 file
43 links
По сотрудничеству пишите в личные сообщения канала.
Download Telegram
🔥 TypeScript на максималках: практические кейсы из жизни большого проекта

Сегодня уже не найти фронтенд-разработчика, среди скиллов которого нет TypeScript. Но как же разработчик решает, что TypeSrcipt освоен? Скорее всего, он запомнил примитивы, шапочно разобрался с ключевыми словами и операторами, посмотрел в сборщики, после чего пожал плечами и добавил язык себе в резюме.

Так действовал и Константин до недавнего времени, когда при работе над проектом пришлось столкнуться с несколькими практическими задачами, которые потребовали погружения в работу с TypeSrcipt. Об этом он и рассказал в докладе.

😉 СМОТРЕТЬ НА YOUTUBE
😄 СМОТРЕТЬ В VK ВИДЕО
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥4👍3
⚡️ React уходит от Meta! Создаётся независимая React Foundation

Спустя 10 лет после open source релиза, React официально покидает Meta. Теперь судьбой библиотеки будет управлять независимая организация — React Foundation.

Это, пожалуй, крупнейшее изменение в истории фреймворка.

React давно перестал быть “внутренним проектом Meta”: над ним работают сотни компаний и тысяч разработчиков по всему миру. Теперь пришло время закрепить это и юридически.

Что изменится:
• React, React Native и JSX переходят под управление React Foundation.
• Фонд займётся инфраструктурой, конференциями и финансированием экосистемных проектов.
• В состав основателей входят: Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion и Vercel.
• Появится новая независимая техническая структура управления, чтобы ни одна компания не имела перевеса.

“React вырос из рамок одной компании”, — заявляют авторы официального анонса.


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

Источник

@js_for_devs
🔥95👍5
⚡️ QUIC наконец-то приходит в Node.js: не прошло и 5 лет

Четыре года сообщество ждало, пока OpenSSL откроет нужные API — и вот, с выходом версии 3.5, это наконец случилось.

Уже в Node.js 25 ожидается первая реализация QUIC — шаг, к которому проект шёл почти полдесятилетия.

📚 Подробности на Хабр: https://habr.com/ru/articles/953570/
👍7🔥42
😂 В интернете снова кто-то неправ — и снова страдает Node.js

Когда-то один индийский курс по программированию (ссылка с таймкодом) решил научить студентов “контрибьютить в open-source”. Ну вы поняли: “форкни репозиторий, измени README, сделай pull-request”. Казалось бы, безобидный пример — а в итоге Node.js уже два года живёт в аду из бессмысленных PR-ов.

Всего в репозитории на данный момент 37,500 закрытых PR, большая часть из которых – неоценимый контрибьюшен от студентов :D

Мейнтейнеры пытаются минимизировать этот поток через фильтры, ботов, автоматические проверки. Но спам не остановить — армия энтузиастов всё так же идёт в бой за “первый вклад в open source”.

А вы уже законтрибьютили в Node.js сегодня?)

@js_for_devs
😁22🔥3👍2
😭 Я попробовал Solid.js — и начинаю ненавидеть React

К такому выводу пришел разработчик, который восемь лет жил в экосистеме React, а теперь перешёл в команду TanStack и впервые всерьёз погрузился в Solid.js. И, по его словам, первое, что ломает мозг — это реактивность. В React всё просто: изменил стейт — компонент перерендерился. В Solid — наоборот: ничего не ререндерится, пока ты сам не скажешь. Хочешь обновить кусок UI — оборачиваешь данные в сигнал (createSignal) или мемо (createMemo). Всё.

Звучит дико, но на деле работает круче: меньше лишних обновлений, выше производительность. Пропсы по умолчанию не реактивные, но если передать сигнал из родителя — всё работает автоматически. И получается, что Solid даёт почти тот же DX, что React, но без его оверхеда.

Вторая фишка — JSX ближе к настоящему HTML. Можно писать class вместо className, for вместо htmlFor, не запоминать десяток «особых» пропсов. Это делает код чище и помогает реально «работать с платформой», а не с надстройкой над ней.

Третье — API ведут себя предсказуемо. В React тот же createPortal требует плясок с состояниями и JSX, чтобы что-то примонтировать. В Solid — просто вызываешь функцию, и оно работает. То же и с веб-компонентами: Solid дружит с ними из коробки, React — только с версии 19, и то со странностями.

📚 Подробности на Хабр: https://habr.com/ru/articles/955800/
👍64😁3🔥2
🙃 Как Google Переводчик ломает React и другие веб-приложения

Когда Переводчик переводит страницу, он не просто подменяет текст. Он лезет в DOM и без стеснения меняет структуру элементов. Был <p>There are 4 lights!</p> — стало <p><font>Er zijn 4 lampen!</font></p>. Красиво? Возможно. Но React от этого в шоке: его виртуальный DOM теперь говорит одно, а реальный — другое. В результате приложение может “повиснуть” или выдать NotFoundError: Failed to execute 'removeChild'.

React живёт по принципу “ничего не ломаем — всё обновляем точечно”. Но когда Переводчик самовольно выдёргивает узлы, React теряет связь с элементами и впадает в ступор. Отсюда — залипший текст, странные клики (потому что event.target вдруг указывает на <font>), и фатальные креши. Но справедливости ради, достаётся не только React — любой фреймворк, работающий с DOM, рискует оказаться в похожей ситуации.

А можно починить? Теоретически — да: оборачивайте каждый TextNode в span, патчите методы removeChild, ловите ошибки границами и молитесь на ESLint-плагин. На практике — проще запретить перевод вообще. Грустно, но факт: единственный стабильный фикс — не давать пользователю переводить страницу. Звучит немного антигуманно, зато работоспособно.

Подробнее про работу Google переводчика в связке с React читайте на Хабре.

@js_for_devs
🔥5👍31🤔1🤯1
🔥 HolyJS устраивает день открытых дверей

29 октября любой может ворваться в мир JavaScript-движухи, пощупать формат конференции и почувствовать атмосферу HolyJS — без билета, paywall’ов и корпоративных пропусков. Просто онлайн, просто бесплатно.

Что по программе?
JSON in → App out — расскажут, как превратить унылые таблицы и документы в графы и память агентов. Звучит как магия, но это уже почти стандарт в AI-разработке.
Транскодирование видео в web — если вы когда-нибудь страдали от "почему видео не работает в Safari", вам туда.
Создание RAG-системы на Node.js — да-да, та самая Retrieval-Augmented Generation, только своими руками. Прямо мастер-класс: собери себе мини-ChatGPT-поиск.

Всё что нужно для участия – зарегистрироваться.

@js_for_devs
👍41🔥1
😅 Российские вузы перевели JavaScript на русский

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

По данным организаторов, более 60% студентов отметили, что обучение стало понятнее, а время на освоение базовых понятий сократилось почти на треть.

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


1С, подвинься! ЖаваСкрипт в здании)

Источник

@js_for_devs
😁10🔥2🤯2🙏1
Опубликовали статью, в которой автор аккуратно подмечает любопытный сдвиг: выбор фреймворка сегодня делает не разработчик, а LLM.

Фреймворки сегодня уже не соревнуются — их выбор всё чаще делает не разработчик, а LLM. И в этой системе координат React занял место «платформы по умолчанию»: модели видят его в обучающих данных, инструменты подсовывают его в промптах, а разработчики ожидают именно его. Получается круг, из которого трудно вырваться.

Из-за этого новые фреймворки оказываются «мёртвыми при рождении»: чтобы модель начала их генерировать, нужно 12–18 месяцев реального использования, чтобы появлялась экосистема — ещё больше. А за это время React просто продолжает наращивать массу, укрепляя своё статистическое преимущество.

Примечательный факт: по данным BuiltWith, за год появилось более 13 млн новых сайтов на React — в десятки раз больше, чем во всей видимой выборке HTTP Archive. С такой инерцией неудивительно, что альтернативы тонут в шуме.

@js_for_devs
🔥6👍3😁2😢1
This media is not supported in your browser
VIEW IN TELEGRAM
🌕 Google выпустила Antigravity — форк VS Code, ориентированный на работу с AI-агентами на базе Gemini 3

Ключевая особенность для Frontend/Fullstack — глубокая интеграция агента с браузером, позволяющая ему самостоятельно тестировать и взаимодействовать с UI (browser-in-the-loop).

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

На текущий момент доступ к IDE крайне затруднён как из-за высокой нагрузки на сервера, так и, по сообщениям пользователей, из-за блокировки IP-адресов, относящихся к РФ.

@js_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3🥰1
🔥 Обзор новых возможностей CSS в Safari 26

Safari 26 вышел, и это одно из самых содержательных обновлений WebKit за последние годы.

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

Главные изменения в части CSS:

• Anchor positioning. Теперь Safari поддерживает привязку абсолютно позиционированных элементов к другим узлам. Это делает возможным реализацию тултипов и попапов на чистом CSS.

• Scroll-linked animations. Появились animation-timeline с функциями scroll() и view(), а также animation-range. Анимации можно привязывать к прокрутке или к появлению элемента во вьюпорте — без JS.

• progress(). Новая функция, которая вычисляет прогресс в диапазоне и умеет работать со смешанными единицами измерения (px + vw и т.п.). Упрощает сценарии, которые раньше приходилось собирать через calc() или тригонометрию.

• Самовыравнивание при absolute. В absolute-контейнерах теперь можно использовать align-self и justify-self (включая anchor-center). Это решает часть типичных задач центрирования без translate-хаков.

• contrast-color(). Функция автоматически выбирает чёрный или белый текст для заданного фона. Реализация пока ограниченная, но впервые доступна в стабильном релизе Safari.

• text-wrap: pretty. Улучшает разбиение текста на строки: уменьшает количество коротких строк и сглаживает «рваный» край. Safari идёт дальше текущей реализации Chrome.


Это только часть изменений. Полный разбор со множеством демо — в статье.

@js_for_devs
3👍3🔥3😁1
Как выбраться из гравитации фреймворков?

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

Автор убеждён: браузеры развиваются быстрее, чем экосистемы вокруг них, а зависимость от React и других инструментов тормозит инновации. Пора снова смотреть на веб как на платформу, а не как на “внутренность” фреймворка.

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


📚 Читать на Хабр: https://habr.com/ru/articles/968510/
👍63🔥3
🤑 Anthropic купили Bun – runtime среду для JavaScript и TypeScript

Этот инструмент превосходит Node.js по скорости и уже использовался в Claude Code (а еще им пользуются, например, Midjourney). Теперь, после покупки, Bun интегрируют в агента еще глубже: это означает, что нас ждет ускорение и, возможно, какие-нибудь новые фичи для отладки/тестирования.

Anthropic обещают, что Bun останется в опенсорсе под MIT-лицензией, и они продолжат в него инвестировать.

@js_for_devs
😱64👍4🔥1
🥳 Сегодня JavaScript исполняется 30 лет

В этот знаменательный день несколько интересных фактов о языке:

• JS написан за 10 дней
• Автор языка не поддерживает LGBT движений
• Изначально язык назывался Mocha
• Название языка нагло слизано у Java ради хайпа

@js_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉8🔥4😁3
⚡️ TypeScript 7 всё ближе — нативный компилятор уже почти production-ready

Команда TS показала большой прогресс Project Corsa — переписанного в нативный код компилятора и language service.

Новый tsgo тоже догнал функциональность tsc: есть --incremental, project references и --build. На реальных кодовых базах ускорение доходит до 8–10×, а параллельная архитектура делает сборки почти мгновенными.

TS 6.0 станет последним релизом на JavaScript — дальше весь стек переезжает в нативную ветку. Генерация JS и API ещё догоняются, но проверка типов уже даёт почти полное совпадение с 5.9, так что можно смело начинать пробовать.

📚 Полный разбор здесь: https://habr.com/ru/articles/973424/

@js_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4🎉2
⚡️ Вышел WebStorm 2025.3

В новом релизе JetBrains усилили работу с TypeScript-проектами, улучшили поддержку монорепозиториев и добавили полноценную интеграцию ИИ-агентов прямо в IDE.

Коротко — самое важное:

— Новая тема интерфейса Islands по умолчанию.
— Улучшенное разрешение модулей и поддержка монорепозиториев (customConditions, exports, pnpm).
— Удалённая отладка JavaScript в WSL, Docker, SSH и других средах.
— Обновлённый AI Assistant: теперь Junie + Claude Agent прямо в IDE.
— Полная поддержка Vitest 4 с новым API репортинга.
— Виджет Prettier и автоформатирование при вставке.
— Централизованные настройки сред выполнения Node.js, Bun и Deno.

📚 Читайте и комментируйте на Хабр.

@js_for_devs
👍62🔥2
⚡️ 37signals показывают, на что способен нативный CSS

Три их продукта (Campfire, Writebook, Fizzy) построены на чистом CSS и при этом закрывают реальные сложные интерфейсы: канбан, drag-and-drop, диалоги, темы, адаптивность. Архитектура максимально простая: плоская структура файлов, кастомные свойства, OKLCH, container queries, CSS Layers, селектор :has() и color-mix(). Никакой сборки, никаких утилитарных фреймворков.

Cовременные возможности CSS уже перекрывают большинство причин, ради которых раньше использовали препроцессоры и Tailwind. Управление состоянием, тёмная тема, адаптивность, анимации — всё решается декларативно и масштабируется без инструментальной надстройки.

Полный разбор всех приёмов, и примеров кода читайте в статье на Хабре.

@js_for_devs
🔥5👍42
🧱 CSS Grid Lanes — нативные masonry-раскладки без JavaScript

Masonry в вебе годами делали через JS-библиотеки с костылями для доступности, фокуса и производительности. Grid Lanes наконец закрывают эту историю на уровне CSS.

Новый режим display: grid-lanes расширяет CSS Grid и позволяет браузеру самому раскладывать элементы по «полосам» — туда, где контент оказывается ближе к верху.

В итоге:
— никакого JavaScript
— корректный tab-order и accessibility
— адаптивность без media и container queries

При этом сохраняется вся мощь Grid: переменная ширина колонок, растягивание элементов, явное позиционирование, смена направления раскладки. Плюс появляется новый параметр item-tolerance, который позволяет контролировать, насколько агрессивно элементы «перестраиваются» между полосами — важная деталь для UX и клавиатурной навигации.

📚 Читайте и комментируйте на Хабр.

@js_for_devs
👍6🔥63🤔1
🤜 Наткнулись на сравнение Go и TypeScript

— В статике Go и Bun почти равны, Bun доходил до ~200k RPS
— С БД Go стабильнее: ниже latency, аккуратный пул, ~84k RPS
— Bun сильнее нагружает Postgres из-за агрессивных коннектов

Отдельно занятный момент: в комментарии пришёл автор фреймворка для Bun. Он отметил, что тест можно ещё улучшить: автоматический роутинг через Bun.serve.routes даёт до ~15% прироста, продакшен-сборка через bun build --compile заметно снижает память (до ~40%), а new Date(Date.now()) вообще избыточен и слегка бьёт по перфу.

То есть Bun можно выжать ещё сильнее — но в stateful-кейcах Go всё ещё выглядит надёжнее.

@js_for_devs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
🧩 RSC Explorer: что реально передаётся по сети в React Server Components

RSC-протокол — внутренняя и почти недокументированная часть React, из-за чего даже опытные пользователи Server Components часто смутно представляют, что именно стримится между сервером и клиентом. На фоне недавнего интереса к безопасности это стало особенно заметно.

RSC Explorer — небольшой open-source инструмент, который пошагово показывает, как React сериализует и восстанавливает React-деревья, а не HTML или строки. Видно стриминг, “дыры” в async-дереве, ссылки на client components, Server Actions и то, как обновляется серверный UI без сброса клиентского состояния.

Очень наглядный способ понять, как RSC работают под капотом.

👉 Подробный разбор с примерами — в новой статье на Хабре.
👍72🔥2
Forwarded from AI for Devs
🎄 Итоги года 4Devs 2025

На прошлой неделе Habr опубликовал итоги года — и наш проект попал в ТОП-2 среди UGC-авторов (независимых, не аффилированных с компаниями) и в ТОП-8 overall!

Учитывая, что активно публиковаться мы начали только в сентябре, результат за один квартал, на мой взгляд, более чем достойный. Проект изначально запускался как эксперимент — и теперь уже можно уверенно сказать, что эксперимент удался.

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

@ai_for_devs — флагман проекта. Неудивительно, учитывая взрывной рост прикладного ИИ именно для разработчиков
@go_for_devs — второй по популярности, но самый активный по вовлечённости
@python_for_devs — канал, с которого всё началось, и этим он прекрасен
@js_for_devs — здесь всё ещё впереди. Если вы из frontend-мира — добро пожаловать, догоним остальных 🙂

Суммарно за проектом уже следит более 6.5 тысяч человек!

Поздравляю всех с наступающим Новым годом и желаю профессионального роста и сильных результатов в 2026!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍52