PWA и офлайн
Manifest, service worker, кеш, IndexedDB, установка, обновление, работа без сети и синхронизация.
15 материаловPWA, Mini Apps, расширения, совместная работа, карты, медиа и документы.
Manifest, service worker, кеш, IndexedDB, установка, обновление, работа без сети и синхронизация.
15 материаловTelegram Mini Apps, интеграция с платформой, проверка авторизации, события и платежный интерфейс
21 материалChrome и совместимые WebExtensions, интерфейс, разрешения, работа со страницами, хранение, обновление и публикация.
13 материаловWebSocket, SSE, присутствие, чаты, CRDT, Yjs, общие документы, доски, синхронизация и восстановление соединения.
31 материалWebRTC, камера, микрофон, запись экрана, плееры, субтитры, Web Audio, звонки и онлайн-консультации.
24 материалаMapLibre, геолокация, маркеры, кластеризация, зоны доставки, маршруты и визуализация геоданных.
13 материаловPDF.js, просмотр и аннотации PDF, редакторы текста, импорт таблиц, генерация документов и печатные версии.
22 материалаCanvas, SVG, WebGL, WebGPU, 2D/3D, браузерные игры, интерактивные демонстрации, конфигураторы и подготовка ресурсов.
11 материаловTextLayer плюс отдельное текстовое представление
Ограниченный последовательный индекс и переход к странице
SHA-256 документа, записи по page, локальное хранилище
Версионированный JSON, полная валидация, отдельный архив
HTML с извлечённым текстом и заметками, CSS print
Ограниченная загрузка, безопасное завершение и локальный файл
Десять последовательных уроков проекта «Форма».
Статическая сцена с простой лампой, перспективная камера и HTML-описание
ResizeObserver, ограниченный DPR, согласованная проекция
OrbitControls, границы расстояния, возврат к исходному ракурсу
Авторский glTF из простых деталей, GLTFLoader, роли деталей и ошибки
MeshStandardMaterial, палитра и отдельные отделки корпуса и основания
Raycaster, координаты canvas, HTML-выбор роли детали
Проверяемое состояние, чистая оценка комплектации, резюме в HTML
Версионированный URL и localStorage, приоритет явной ссылки
Импорт Three.js после действия, доступные HTML-параметры, экран ошибки
Инвалидация асинхронной загрузки, остановка RAF, dispose и повторный запуск
Создаём «Блокнот»: изменяемые записи в IndexedDB, атомарную локальную очередь и собственный серверный контракт. Учимся сохранять текст без доступной сети, повторять стабильное намерение, получать журнал по cursor и разрешать конфликт двух редакций вручную. IndexedDB здесь хранит данные; серверная синхронизация реализована приложением. Service worker, кеш оболочки и CRDT остаются темами других серий.
Разделяем локальную заметку, серверную ревизию и ещё не подтверждённое изменение.
Открываем три object store и связываем обновление схемы с жизненным циклом вкладок.
Сохраняем форму и намерение отправки одной транзакцией, сообщая об успехе после complete.
Отделяем идентификатор заметки от идентификатора отправки и сохраняем снимок до подтверждения.
Реализуем push/pull контракт с проверкой исходной ревизии и сохранением результата операции.
Применяем серверный ответ к отправленной операции, не теряя правку во время запроса.