Category : javascript

javascript
CSS-in-JS vs CSS Modules: что выбрать в 2026?

В 2026 году фронтенд-разработка продолжает развиваться: появляются новые фреймворки, улучшаются инструменты сборки, растут требования к производительности и пользовательскому опыту.Разработчики сталкиваются с выбором: использовать CSS Modules или CSS-in-JS решения. Эти подходы дают изоляцию стилей и интеграцию с компонентами, но различаются по реализации и ограничениям.Выбор системы стилизации влияет на разработку и ключевые метрики: размер бандла, скорость первого рендера, поведение при SSR, у…

  • пятница, 24 апреля 2026 г. в 00:00:38
javascript
Intl: мощный браузерный API, который вы, возможно, не используете

Вероятно, вы когда-нибудь использовали Moment.js, date-fns, Luxon или numeral.js. Разработчики годами полагаются на эти библиотеки для форматирования дат, чисел и валют. Это очень полезные библиотеки, но у них есть и свои недостатки: они увеличивают размер сборки на несколько килобайт и требуют разбора кода на стороне клиента.БиблиотекаРазмерMoment.js295 кБdate-fns77 кБluxon.js82 кБnumeral.js11 кБIntl API широко доступен (за исключением Intl.DurationFormat, который работает во всех современных …

  • пятница, 24 апреля 2026 г. в 00:00:35
javascript
Telegraph API: CONTENT_TOO_BIG приходит раньше обещанных 64 КБ. Измеряем реальный лимит и разбираем…

В документации Telegraph API для эндпоинта createPage указано ограничение на поле content:content (Array of Node, up to 64 KB). Content of the page.В реальности цифра не соответствует поведению. API стабильно возвращает CONTENT_TOO_BIG на русскоязычном тексте около 20 КБ исходного markdown. Я напоролся на это при разборе довольно странной деградации в нашем продакшне: часть постов блога публиковалась в связанный Telegram-канал без ссылки на Telegraph-версию, причём только русскоязычные, а их ан…

  • четверг, 23 апреля 2026 г. в 00:00:08
javascript
Как я делал пет-проект и закопал его собственными руками

Разработку пет-проекта с прицелом на open source в моем случае можно описать выражением: корабль любви разбился о айсберг бытовухи.Но давайте для начала разберемся, кто я и о чем идет речь.У меня нет профильного технического образования. За плечами учеба на экономиста, курсы по JS на фронт и пара лет работы на беке.Поэтому мои выводы могут показаться банальными или очевидными - прошу простить эту вольность. К моему стыду, я плохо учусь на чужих ошибках, поэтому приходится стабильно совершать св…

  • четверг, 23 апреля 2026 г. в 00:00:06
javascript
LOTIS: Новая парадигма WEB-разработки для бизнес-приложений

После того как моя статья о фреймворке LOTIS вызвала интерес, я решил подробнее раскрыть его архитектуру и привести примеры кода. Напоминаю ссылку на репозиторий фреймворка: https://github.com/O-Planet/LOTISLOTIS решает одну фундаментальную проблему: разделение логики на клиент и сервер мешает разработке бизнес-приложений. Вместо того чтобы думать о бизнес-логике, разработчики тратят время на:Синхронизацию данных между клиентом и сервером Управление состоянием Написание идентичной логики на дву…

  • вторник, 21 апреля 2026 г. в 00:00:09
javascript
Фронтенд — это REST-сервер

Привет. Я фронтенд-разработчик. По мнению тех, кто, по мнению некоторых, перекладывает джейсончики туда-сюда, я крашу кнопочки. Но сам я себя идентифицирую иначе: я тоже перекладываю джейсончики, и у меня всё точно так же, как у них. Даже архитектура. У меня тоже есть контроллеры, сервисы и хранилища, и я также обрабатываю запросы пользователей. Даже больше, я делаю HATEOAS, «тру» RESTful, если хотите. Давайте расскажу, как я к этому пришёл.Как я стал бэкендером во фронтендеКогда-то давно я тол…

  • вторник, 21 апреля 2026 г. в 00:00:07
javascript
Готовимся к отключению. Эффективные форматы для упаковки и раздачи HTML-страниц

В 2026 году растёт риск перебоев и ограничений в работе интернета в РФ. В таких условиях имеет смысл заранее продумать, как сохранить привычное окружение при нестабильном доступе к сети.Помимо личных файлов, кино и музыки, хочется сохранить архив сайтов и веб-страниц для чтения в будущем — на месяцы или даже годы вперёд. Но в каком формате это лучше делать?ПК для Апокалипсиса«ПК для Апокалипсиса» — офлайновая система, которая хранит полный набор необходимой информации для жизни без интернета. Э…

  • вторник, 21 апреля 2026 г. в 00:00:06
javascript
Один движок на два рантайма: как мой сайт на Next.js делит формулы с Flutter-приложением

Прошлой зимой я писал тут про «Мастерок» — строительный калькулятор на Flutter для RuStore. Приложение поехало в прод, набрало 4.9 звезды, и в какой-то момент пришло осознание: аудитория смартфонных приложений — это аудитория смартфонных приложений. А человек, который в обед нагуглил «сколько мешков ротбанда на 20 квадратов», в магазин приложений не полезет. Он хочет страницу в браузере. Желательно без куки-баннера на полэкрана, без интерфейса из 2012-го и без того, чтобы перед ответом на вопро…

  • вторник, 21 апреля 2026 г. в 00:00:04
javascript
Почему JS/TS — не функциональный язык (и почему это важно понимать)

Мотивацией для написания этого поста стали два года собеседований JS/TS-инженеров. Я интересуюсь языками и функциональным программированием, поэтому всегда «разбавлял» технические вопросы разговором о парадигмах. И заметил любопытную асимметрию.Об ООП кандидаты рассуждали уверенно — но в основном на концептуальном уровне, не вдаваясь в то, как именно ООП реализовано в JavaScript. С FP картина была другой: уверенности меньше, зато критика — конкретная и повторяющаяся: «иммутабельность дорогая по…

  • понедельник, 20 апреля 2026 г. в 00:00:10