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 материаловСохраняем страницу серверного журнала и её cursor одной транзакцией.
Разрешаем конфликт явным выбором, сохраняя серверную revision и новый ID намерения.
Передаём удаление как версионированное состояние и удерживаем его для отключённых устройств.
Разделяем временный сетевой отказ, завершение сессии и прикладной конфликт, сохраняя очередь.
Координируем отправителей одного origin и защищаем сохранение устаревшей формы.
Обрабатываем ограниченное хранение и экспортируем согласованный диагностический снимок.
Разделяем записи разных владельцев и прекращаем отправку при отказе авторизации.
Собираем регламент локального хранения, синхронизации, конфликта и экспорта с явными границами.
Десять последовательных уроков. Общий пример «Схема».
Задаём модель небольшого графического редактора: размеры страницы, фигуры, порядок слоёв и проверка документа.
Рисуем документ редактора через SVG: пространства имён, геометрия, подписи, порядок элементов и обновление сцены.
Переводим координаты PointerEvent в SVG и определяем попадание в прямоугольник или эллипс с учётом слоёв.
Организуем перетаскивание фигуры: исходное состояние, захват указателя, ограничения страницы и завершение жеста.
Управляем SVG viewBox как камерой: масштаб вокруг выбранной точки, перемещение просмотра и возврат к странице.
Связываем SVG со списком слоёв и формой свойств; добавляем изменение координат, подписей и порядка фигур.
Строим историю документа из снимков: отдельное изменение, временное перетаскивание, отмена, повтор и ограничение памяти.
Сохраняем схему в localStorage и JSON: лимиты файла, проверка формата, гонка загрузок и стабильные состояния.
Получаем SVG и PNG из единой модели: размеры экспорта, рисование Canvas 2D, текст, Blob и ограничения результата.
Завершаем графический редактор: клавиатура, сообщения состояния, сценарии ручной проверки и явные границы учебной версии.
Десять последовательных уроков. Общий пример «Аудиомастерская».
Определяем модель локальной аудиомастерской: каналы, кадры, частоту дискретизации, границы фрагмента и ограничения.
Открываем локальный аудиофайл через decodeAudioData: проверка объёма, частота буфера, ошибки и конкурирующие загрузки.
Управляем прослушиванием AudioBuffer: одноразовый источник, resume, остановка, ended и позиция по часам AudioContext.
Разделяем источник, огибающую и основной GainNode; управляем уровнем через AudioParam и сохраняем смысл настройки экспорта.