Skip to content

Latest commit

 

History

History
1023 lines (678 loc) · 63.6 KB

JAVASCRIPT_BROWSER.md

File metadata and controls

1023 lines (678 loc) · 63.6 KB

Браузеры, API, PWA, WebAssembly, Web Components

Браузеры

Event loop

Полезные расширения

Разработка расширений

Про отладку в браузерах

Про новинки в браузерах

Где найти старые версии браузеров:

  • Firefox
  • Opera Chromium desktop, все платформы
    • Отключить автообновление Opera на macOS 31-: "Показать содержимое пакета" -> удалить Contents/MacOS/opera_autoupdate
    • Отключить автообновление Opera на macOS 32+
  • UCBrowser, Android
  • Chrome, инструкция как откопать старый билд
  • Edge на движке EdgeHTML можно найти в том или ином билде Windows 10
    • 12: v.1507, build 10240
    • 13: v.1511, build 10586
    • 14: v.1607, build 14393
    • 15: v.1703, build 15063
    • 16: v.1709, build 16299
    • 17: v.1803, build 17134
    • 18: v.1809, build 17763
    • 18: v.1903, build 18362
    • 18: v.1909, build 18363
    • Chromium-based: v.2004

Explainers — объяснение мотивации для разработки новых API и других вещей

Прочее

Работа с событиями

Библиотеки

Карусели

Выпадающие списки

Даты и время

Также см. JavaScript -> Intl

Календари

Формы

Скролл и скроллбар

Анимация

Canvas

Графики и визуализация

ECharts

Chart.js

D3.js

Библиотеки на основе D3.js

Медиа (аудио, видео)

drag & drop library

Физические движки

Шаблонизаторы / библиотеки для рендеринга HTML

RxJS

Карты

Иммутабельность

Поиск

WYSIWYG

Локализация

Также смотри: JAVASCRIPT_FRAMEWORKS.md -> Интернационализация

PWA

Web App Manifest и прочие иконки

Маскируемеые иконки

App shortcuts

Service Worker

Workbox

Настраиваемый процесс установки

iOS

Особенности платформ

Особенности PWA на iOS

PWA и магазины приложений

Google Play (TWA)

Samsung Galaxy Store

Microsoft Store

Project Fugu

Кейсы компаний

API

API для работы с DOM

IntersectionObserver — слежение за попаданием элемента в область видимости

ResizeObserver — слежение за изменением размеров элемента

Async DOM

API для работы с CSS

API для работы с камерой, микрофоном и медиа

Media Capture and Streams API (MediaStream API) — получение аудио и видео

MediaStream Image Capture API — продвинутое управление камерой

MediaStream Recording API — запись медиа

Media Source API

WebRTC API — реал-тайм коммуникация

WebCodecs API

PTZ-камеры (pan, tilt, zoom)

Picture-in-Picture API

Web Video Text Tracks Format (WebVTT) — формат субтитров (подписей) для video

Доступ к аппаратным ресурсам устройства (Device Features)

Network Information API

NavigatorOnLine

Vibration API

Battery Status API

Device Memory API

Web NFC

Generic Sensor API

Доступ к средствам операционной системы

Хренение информации

Web Storage API
IndexedDB API
ServiceWorker Cache
Storage Access API

File — доступ к выбранным файлам

File System Access (ex Native File System API ) — доступ к файловой системе

Contact Picker API — доступ к контактам

Web OTP API — получение одноразовых кодов из СМС

Push API — уведомления из браузера

Shape Detection API — распознавание штрихкодов, текста, лиц с изображений

Badging API — вывод меток на иконке приложения

Task Scheduler API — запуск задач по расписанию

Background Sync API — возможность отправлять данные после восстановления связи

Periodic Background Sync API — возможность периодически запрашивать свежие данные из сервис-воркера

Background Fetch API

Notifications API

Page Visibility API

Idle Detection API — определение отсутствие активности пользователя

Geolocation API

Geolocation Sensor (не имплементировано)

Permissions API

Local Font Access API — низкоуровневая работа со шрифтами

Media Session API — доступ к мультимедийным клавишам и интерфейсу

Взаимодействие между приложениями

Web Share API

Web Share Target API

File Handling API

API для платежей

Payment Request API

Payment Handler API

Прочие API, связанные с финансами

API для авторизации

Web Authentication API (WebAuthn)

Credential Management API

Прочие API, связанные с авторизацией

Ввод/вывод информации

Pointer Events API

Pointer Lock API

unadjustedMovement – отключение ускорения указателя

Clipboard API — работа с буфером обмена

Early detection of input events

API для работы с экранами

Multi-Screen Window Placement API

Fullscreen API

Screen Orientation API

Wake Lock API

Presentation API

Visual Viewport API — определение размера визуально видимой части страницы

WebXR Device API

API для работы со звуком

Web Speech API — распознавание и синтезация речи

Web Audio API

API для работы с устройствами

Gamepad API

Web Bluetooth API

WebUSB API

WebHID API

Serial API

API для разработки, отладки и оптимизации

Console API / Command Line API

Layout Instability API

Reporting API — апи для сбора информации о клиентских ошибках

Server Timing

JavaScript Self-Profiling API

API для работы с сетью

FormData

XMLHttpRequest

Fetch API

WebSocket API (WebSockets)

Server-sent events

Beacon API

Raw Sockets API — низкоуровневый прямой доступ к TCP/UDP

Прочие API

requestAnimationFrame

Cooperative Scheduling of Background Tasks

Streams API

Content Indexing API

Web Animations API

Web Cryptography API

Portals

Channel Messaging API

Совсем прочее

Вспомогательные инструменты

Web Bundles — упаковка сайта в один файл

Web Workers

Canvas

Также см. Библиотеки - Canvas

WebGL

WebGL2

Библиотеки для WebGL

Three.js

Демо WebGL

UserAgent и Client Hints

PDF и браузер

Также см. React -> Библиотеки -> PDF

WebAssembly (WASM)

AssemblyScript (компиляция из TypeScript-like подобного языка)

Emscripten (компиляция из C или C++)

Web Components (веб-компоненты)

Shadow DOM

Declarative Shadow DOM

Устройство браузеров

well-known URL