Обновить
256K+

Веб-разработка *

Делаем веб лучше

241,41
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

HTML и CSS из прошлого, которые до сих пор актуальны

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

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

Я интересуюсь вёрсткой с момента появления первых версий браузера Google Chrome. Конечно, современному фронтендеру тяжело понять то, что я испытывал с коллегами. Мы именно те разработчики, которые знали кучу рецептов, как починить определённый баг в конкретном браузере.

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

По этой причине сегодня пришёл к вам исправлять эту ситуацию. Мы рассмотрим старые возможности HTML и CSS, которые сегодня всё так же полезны.

Давайте посмотрим, что я подготовил.

Читать далее

Как Open Source аналоги убили Adobe и Microsoft Office? ИИ сделал это за пару месяцев

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

Ещё недавно создание целой линейки сложных графических и офисных приложений требовало большой команды, и несколько лет разработки.
Теперь один разработчик с помощью ИИ и небольшой команды пытается бросить вызов гигантам вроде Adobe и Microsoft.

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

Читать далее

Закрыл вкладку — ушёл, обновил страницу — остался: присутствие в комнате на WebSocket

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

Когда человек закрыл вкладку, обновил страницу или потерял сеть, сервер получает один и тот же SessionDisconnectEvent, а реагировать должен по-разному. Рассказываю, как в своём Planning Poker научил комнату различать эти случаи и не терять текущие данные при обновлении: маркер закрытия на pagehide, атомарные обновления MongoDB, порядок кадров в Spring, обходы для Firefox и zone.js и живые тесты в Chrome, Firefox и Safari. Восемь граблей и что с ними делать.

Читать далее

Представлен открытый проект Doory (бесплатная альтернатива Canva). Это полноценный графический редактор, работающий...

Охват и читатели4.3K

Представлен открытый проект Doory (бесплатная альтернатива Canva). Это полноценный графический редактор, работающий прямо в браузере.

«Создавайте плакаты, публикации для соцсетей, сторис, слайды, приглашения, резюме, миниатюры и визитки: начинайте с шаблона или чистого листа, редактируйте любые элементы и экспортируйте результат в форматах PNG, JPG, SVG, PDF, MP4 или GIF. Все функции бесплатны, для начала работы не требуется регистрация, а сам сервис можно развернуть на собственном сервере.

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

Читать дальше →

Полгода SEO с нуля после переезда с Tilda: органика ×20 и грабли, на которые я наступил

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

Полгода вёл SEO клининговой компании из Петербурга после переезда сайта с Tilda на самописный PHP. Все адреса при переезде сменились, так что начинал с сайтом без поисковой истории.

С апреля по сентябрь визиты из поиска выросли с 166 до 3 446 в месяц, запросов в топ-10 Яндекса стало 247 вместо 23. Целевое обращение из поиска в сентябре стоило 915 ₽, из Директа 1 600 ₽.

В статье шесть разборов с цифрами, например, почему Indexing API пять раз ответил «OK» и не переобошёл ни одной страницы, или как карусель со scroll-snap ломала замер LCP. И отдельно 12 моих ошибок, от публикации пачками до 21 статьи в день до выдуманных брендов в текстах, которые стоили позиций.

Читать далее

Как составить маршрут путешествия с помощью ИИ: сделали свой сервис, получили 5000 визитов и 0 продаж

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

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

Идея казалась отличной: проблема массовая, люди уже пользуются подобными сервисами, а значит, спрос должен быть. Но спустя полгода разработки, 5000+ визитов на сайт и десятки часов работы над продвижением мы получили ровно 0 ₽ выручки.

Ниже расскажу, как работает наш сервис, на какую фичу мы поставили всё, почему она не сработала и что мы делаем сейчас.

Читать далее

Релиз Brython 3.15 (Browser Python)

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

9 октября 2026 года состоялся выпуск проекта Brython 3.15.0 (Browser Python) с реализацией языка программирования Python 3 для веб-браузеров. Решение позволяет использовать Python вместо JavaScript для разработки скриптов для веб-проектов (веб-консоль, примеры проектов). Исходный код проекта написан на Python и опубликован на GitHub под лицензией BSD 3-Clause "New" or "Revised" License.

Читать далее

Asana снизила стоимость браузерного ИИ-агента в 29 раз, исправив кэш истории

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

Кэширование истории снизило расходы браузерного агента в 29 раз без смены модели. Со сменой — в 76 раз.

За счёт чего сократили расходы

Passkeys в продакшне: как мы выкинули пароли и внедрили Face ID за 3 дня. FastAPI + Next.js, полный код

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

Passkeys — это не будущее. Это уже работает в каждом банковском приложении на вашем телефоне. Альфа-Банк, Тинькофф, Сбер — давно. GitHub, Apple, Google — тоже. А ваш веб-сервис до сих пор просит придумать пароль с заглавной буквой, цифрой и спецсимволом. И потом ещё «восстановить пароль» раз в месяц.

Читать далее

Как я запустил Telegram-бота в браузере, не переписывая его обработчики

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

У меня было несколько ботов на python-telegram-bot: команды, inline-кнопки, состояния, работа с базой и внешними сервисами. Затем понадобился веб-интерфейс с тем же поведением.

Переносить обработчики в отдельный HTTP API означало бы поддерживать две реализации одного сценария. Встраивать Telegram Web App тоже не подходило: пользователь должен был работать в обычном браузере, без Telegram.

Я пошёл другим путём: браузер притворяется Telegram на входе, а локальный transport-слой — Telegram Bot API на выходе. Исходные обработчики получают настоящие объекты Update и вызываются через штатный Application.process_update(). В этой статье покажу, как устроен прототип, на каких границах он держится и что сломалось после первых перезапусков.

Читать далее

Автопостинг в TenChat без API: Playwright, редактор Quill и вставка через ClipboardEvent

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

У TenChat нет публичного API для публикации постов. Отложенная публикация в самом сервисе есть только на платном тарифе (на 28.09.2026 от 990 ₽ в месяц), а мне нужен был простой сценарий: раз в день берём следующую статью из блога, собираем из неё короткий пост с обложкой и выкладываем без участия человека. Я написал для этого скрипт на Python и Playwright, он работает на сервере по cron с конца сентября 2026 года. В статье разберу, как скрипт входит в аккаунт без пароля, как заставить редактор Quill принять готовую вёрстку, чем завершились первые недели и какие грабли попались при переезде с ноутбука на сервер.

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

Читать далее

Cloudflare приобрела Deno Land Inc, разработчика JavaScript‑платформы Deno

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

Компания Cloudflare (предоставляет услуги CDN, защиты от DDoS‑атак и безопасный доступ к ресурсам и серверам DNS) приобрела Deno Land Inc — разработчика JavaScript‑платформы Deno. Этот проект возглавлял создатель Node.js Райан Даль.

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

Планируется, что исходный код Deno останется открытым, а при наличии интереса сообщество сможет своими силами продолжить развитие среды выполнения для JavaScript, которая должна была исправить проблемы, присущие Node.js.

Читать далее

Зачем быстрая реактивность за пределами DOM: ответы на вопросы и знакомство с Raph

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

Зачем ускорять реактивность, если всё упирается в DOM? Рассказываю об устройстве Raph/Nova и показываю, как одно ядро используется для DOM и Canvas. Большие графы, таймлайны, карта и результаты замеров.

Читать далее

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

WASM vs JavaScript 2026 — проверка на Flutter Web

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

Когда мы апгрейдим процессор или видеокарту и начинаем играть в привычную нам игрушку с новым железом, то увеличение производительности на некоторое количество процентов становится сразу же заметным. Например, увеличение производительности заметно уже с 5 процентов, если дело касается FPS в какой-то игре. 10 процентов — более заметно, 15 процентов — ещё заметнее. А увеличение производительности на 50 процентов не заметить практически невозможно. Примерно так же я смотрел на отрисовку интерфейса при компиляции Flutter-приложений в WebAssembly-код вместо JavaScript. Примерно по таким же ощущениям для большого проекта я получил ускорение, ну, примерно от 5 до 10 процентов. Хотя должен был получить 50. Поэтому я решил очень подробно исследовать данную ситуацию.

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

После перехода на Wasm приложение может стать лишь немного быстрее. Я собрал отдельный Flutter-стенд, чтобы разобраться, откуда берётся этот результат: какие операции ускоряются, где выигрывает JavaScript и как вычисления связаны с плавностью интерфейса.

Читать далее

CSS Anchor Positioning в картинках

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

Большой визуальный гайд по CSS Anchor Positioning: от базовой привязки элементов до создания прочных соединителей и цепочек якорей.

Читать далее

Integrals: где я научился веб-разработке на практике

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

Небольшая веб-студия в Тбилиси, множество встреч с клиентами и два года разработки сайтов — с 2016 по 2018 год.

Читать далее

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

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

Я собирался написать статью про Markdown. В процессе внутри документа оказался Doom.

Разбираемся, почему два пробела меняют перенос строки, обратные кавычки не всегда спасают таблицу, а один .md по-разному выглядит на Хабре и GitHub. Прямо в статье можно менять разметку в лаборатории, решать задания и проверять результат. Есть GIF, вложенные спойлеры, маленький квест и разбор того, как упаковать ресурсы Doom в Markdown — и что на самом деле запускает игру.

Читать и экспериментировать

Представлен открытый проект Liquid Glass. Это решение добавляет жидкое стекло от Apple в веб‑продукты и...

Охват и читатели4.8K

Представлен открытый проект Liquid Glass. Это решение добавляет жидкое стекло от Apple в веб‑продукты и приложения. Проект помогает создавать полупрозрачные кнопки, панели и другие элементы с реалистичным преломлением фона. Работает в Chrome, Firefox, Safari и Electron.

Читать дальше →

Arc XP изменила проверку email и повышение тарифа для подписчиков СМИ

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

Платформа для СМИ изменила подтверждение почты при входе и запретила повторное повышение тарифа до следующего платёжного цикла. Обновление доступно с 8 октября.

Что изменилось для издателей

Google открыл новый канал быстрой передачи свежего UGC в Поиск

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

Крупные UGC-платформы получили отдельный канал для передачи свежих публикаций и сигналов взаимодействия. Работает независимо от обычного обхода и Indexing API.

Как устроен новый метод передачи UGC