Skip to content

frontend-baseline-2018-2022 — План исследования

Контекст

  • Период: 2018–2022 (строго, без 2023+)
  • Фокус: HTML, CSS, стандартные браузерные API
  • Аудитория: Опытный frontend-разработчик (15+ лет опыта, 40 лет)
  • Язык: Русский, профессиональная типографика
  • Стиль: Академичный, подробный, без аналогий, для практика

Определения

  • Baseline — статус фичи, поддерживаемой во всех основных браузерах (Chrome, Firefox, Safari, Edge)
  • Инициатива — предложение/спецификация W3C, WHATWG или других рабочих групп
  • Браузерная реализация — первая имплементация фичи в конкретном браузере
  • Депрекация — официальное объявление о планируемом удалении фичи

Критерии отбора изменений

  1. Изменение должно быть значимым для практической разработки
  2. Изменение должно войти в baseline или быть широко поддержанным к концу 2022
  3. Депрекации включаются, если они влияют на production-код
  4. Экспериментальные фичи включаются только если достигли широкой поддержки к 2022

Чеклист выполнения

Фаза 1: Определение scope и структуры

  • [x] Уточнить границы исследования и критерии включения изменений

    • Определить минимальный уровень значимости изменений.
    • Задокументировать структуру итогового отчета.
    • Выполнено: Определены временные границы (2018–2022), технологические области (HTML, CSS, JavaScript/Web APIs), браузеры для baseline, критерии значимости изменений, структура итогового отчёта.
  • [x] Создать файл scope.md с детальным описанием границ исследования

    • Выполнено: Создан ./research/frontend-baseline-2018-2022/scope.md с детальным описанием всех аспектов scope исследования.

Фаза 2: Контекстное исследование и timeline браузеров

  • [x] Собрать timeline релизов основных браузеров за 2018–2022

    • Chrome/Chromium
    • Firefox
    • Safari/WebKit
    • Edge (Chromium migration в 2019-2020)
    • Выполнено: Собраны данные о релизах всех четырёх основных браузеров через интернет-источники. Chrome: 45 релизов (64–108), Firefox: 50 релизов (58–107), Safari: 10 мажорных релизов (11.1–16), Edge: миграция на Chromium в январе 2020, далее синхронизация с Chrome.
  • [x] Изучить методологию определения "baseline" для каждого года

    • Использовать данные web-platform-tests, Can I Use, Baseline feature tracking
    • Выполнено: Определена методология baseline: фича считается baseline, если поддерживается во всех четырёх основных браузерах в последних 2 мажорных версиях. Документированы источники для проверки: Can I Use, MDN BCD, web.dev Baseline.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/browser-timeline.md

    • Выполнено: Создан подробный файл с timeline релизов, таблицами, mermaid диаграммой эволюции релизных циклов, статистикой и выводами.

Фаза 3: Сбор данных — HTML

  • [x] Исследовать новые HTML элементы (2018–2022)

    • <dialog>, loading attributes, и другие
    • Выполнено: Собраны данные о <dialog> (baseline март 2022), нативной ленивой загрузке через атрибут loading, Web Components (<template>, <slot>), responsive изображениях (<picture>).
  • [x] Исследовать новые HTML атрибуты

    • enterkeyhint, inputmode, accessibility атрибуты
    • Выполнено: Детально исследованы: loading, enterkeyhint, inputmode, inert, decoding, fetchpriority, расширения autocomplete, валидационные атрибуты (minlength, pattern).
  • [x] Исследовать изменения в семантике существующих элементов

    • Выполнено: Изучены улучшения form inputs, date/time inputs, responsive images, Web Components.
  • [x] Исследовать депрекации и удаления HTML фич

    • Выполнено: Application Cache (AppCache) — полное удаление к 2021, <keygen> удалён, Flash Player EOL (декабрь 2020 — январь 2021).
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/html.md

    • Выполнено: Создан comprehensive файл 70+ KB с подробным описанием всех HTML изменений, примерами кода, browser support tables, практическими рекомендациями.

Фаза 4: Сбор данных — CSS

  • [x] Исследовать новые CSS Layout фичи

    • CSS Grid улучшения (subgrid и др.)
    • Flexbox gap
    • Aspect ratio
    • Container queries начало
    • Выполнено: Детально исследованы: CSS Grid (baseline 2017), subgrid (Firefox 2019, Safari 2022, не baseline в период), Flexbox gap (baseline 2021), aspect-ratio (baseline 2021), Container Queries (появились 2022, baseline 2023).
  • [x] Исследовать новые CSS свойства для визуализации

    • Logical properties
    • backdrop-filter
    • overscroll-behavior
    • Color functions (lab(), lch())
    • Выполнено: Logical properties (baseline 2020), backdrop-filter (Chrome 2019, не полностью baseline), overscroll-behavior (baseline 2022), color functions (ограниченная поддержка).
  • [x] Исследовать новые CSS селекторы и pseudo-классы

    • :is(), :where(), :has()
    • Selector level 4 фичи
    • Выполнено: :is() и :where() (baseline 2021), :has() (появился 2022, baseline 2023), :focus-visible (baseline 2022).
  • [x] Исследовать CSS Custom Properties расширения

    • @property
    • Typed custom properties
    • Выполнено: CSS Variables (baseline до 2018), @property Houdini (Chrome 2020, baseline 2024 — вне периода).
  • [x] Исследовать CSS функции и calc() улучшения

    • clamp(), min(), max()
    • Выполнено: clamp(), min(), max() (baseline июль 2020) — революционная фича для responsive design.
  • [x] Исследовать новые CSS at-rules

    • @supports улучшения
    • @media новые запросы (prefers-color-scheme, prefers-reduced-motion)
    • Выполнено: Media Queries Level 5: prefers-color-scheme (baseline 2020), prefers-reduced-motion (baseline 2019-2020).
  • [x] Исследовать CSS Houdini APIs baseline статус

    • Выполнено: @property исследован (Chrome 2020, не baseline в период).
  • [x] Исследовать депрекации CSS

    • Выполнено: Значительных депрекаций CSS в период не было, фокус на добавлении фич.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/css.md

    • Выполнено: Создан comprehensive файл 28KB с детальным описанием всех CSS изменений, примерами кода, browser support, практическими рекомендациями.

Фаза 5: Сбор данных — JavaScript и Web APIs

  • [x] Исследовать ECMAScript изменения 2018–2022 в браузерах

    • ES2018 (async iteration, rest/spread improvements)
    • ES2019 (flat, flatMap, Object.fromEntries)
    • ES2020 (optional chaining, nullish coalescing, BigInt, Promise.allSettled)
    • ES2021 (logical assignment, numeric separators, String.replaceAll)
    • ES2022 (top-level await, at(), Object.hasOwn, class fields)
    • Выполнено: Все языковые фичи ES2018-ES2022 задокументированы с примерами. ES2020 — самый значимый релиз периода.
  • [x] Исследовать новые Web APIs — DOM и UI

    • Resize Observer
    • Intersection Observer v2
    • Visual Viewport API
    • Выполнено: Resize Observer (baseline 2020), Intersection Observer расширения, использование в практике.
  • [x] Исследовать новые Web APIs — Performance и Loading

    • Paint Timing API
    • Element Timing API
    • Layout Instability API
    • Native lazy loading
    • Выполнено: Core Web Vitals APIs (2020) — Paint Timing, Element Timing, Layout Instability. Native lazy loading в HTML.
  • [x] Исследовать новые Web APIs — Storage и State

    • IndexedDB v3
    • Cookie Store API
    • Storage APIs изменения
    • Выполнено: IndexedDB v3 улучшения, Cookie Store API (только Chromium, не baseline).
  • [x] Исследовать новые Web APIs — Network

    • Fetch API улучшения
    • Streams API baseline
    • WebRTC изменения
    • Выполнено: Fetch keepalive, Streams API (baseline 2020-2021), основные улучшения.
  • [x] Исследовать новые Web APIs — Device и Sensors

    • Web Bluetooth baseline статус
    • WebUSB, WebHID
    • Выполнено: Device APIs ограниченной поддержки, в основном Chromium-only в исследуемый период.
  • [x] Исследовать новые Web APIs — Media

    • WebCodecs начало
    • Media Capabilities API
    • Picture-in-Picture API
    • Выполнено: Picture-in-Picture API (baseline 2020), Media APIs development.
  • [x] Исследовать новые Web APIs — Security

    • Permissions API расширения
    • Feature Policy / Permissions Policy
    • Выполнено: Permissions API (baseline 2019-2020), Feature Policy / Permissions Policy (2020-2021).
  • [x] Исследовать новые Web APIs — Async и Workers

    • AbortController / AbortSignal широкая поддержка
    • Module workers
    • Выполнено: AbortController/AbortSignal (baseline 2020-2021) — критически важная фича для cancelable operations.
  • [x] Исследовать депрекации JavaScript/Web APIs

    • AppCache removal
    • Другие удаленные APIs
    • Выполнено: AppCache полное удаление (2020-2021), синхронный XHR deprecated, Flash Player EOL.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/javascript-webapis.md

    • Выполнено: Создан файл javascript.md (16KB) с ключевыми изменениями ECMAScript и Web APIs, примерами кода.

Фаза 6: Инициативы и рабочие группы

  • [x] Исследовать ключевые W3C рабочие группы и их вклад 2018–2022

    • CSS WG
    • Web Platform WG
    • WICG (Web Incubator Community Group)
    • Выполнено: Информация интегрирована в соответствующие файлы (html.md, css.md), включая переход управления к WHATWG (май 2019).
  • [x] Исследовать ключевые WHATWG инициативы 2018–2022

    • HTML Living Standard изменения
    • Fetch Standard
    • Streams Standard
    • Выполнено: WHATWG Living Standard transition (2019), ключевые инициативы задокументированы в html.md и browser-timeline.md.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/initiatives-and-specs.md

    • Выполнено: Информация интегрирована в final-report.md и соответствующие тематические файлы для лучшей структуры.

Фаза 7: Анализ и синтез

  • [x] Провести категоризацию всех изменений

    • По типу (layout, styling, API, performance, accessibility)
    • По степени влияния на практику
    • По adoption rate
    • Выполнено: Категоризация проведена во всех файлах, особенно в final-report.md секция "Ключевые тренды и insights".
  • [x] Проанализировать тренды периода 2018–2022

    • Что было главным фокусом развития?
    • Какие паттерны прослеживаются?
    • Выполнено: Детальный анализ трендов в final-report.md: консолидация экосистемы, Safari как bottleneck, ускорение релизных циклов и др.
  • [x] Оценить практическую значимость каждой категории для целевой аудитории

    • Выполнено: Практические рекомендации и roadmap для изучения включены в final-report.md.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/analysis-trends.md

    • Выполнено: Анализ интегрирован в final-report.md для целостности повествования.

Фаза 8: Визуализация и таблицы

  • [x] Создать timeline диаграммы (mermaid) для ключевых изменений

    • По годам
    • По технологиям
    • Выполнено: Mermaid диаграмма эволюции релизных циклов в browser-timeline.md, timeline по годам в final-report.md.
  • [x] Создать таблицы browser support для baseline статусов

    • Выполнено: Множественные browser support tables в html.md, css.md с версиями и датами.
  • [x] Создать сравнительные таблицы для конкурирующих подходов

    • Выполнено: Сравнительные таблицы (до/после) интегрированы в css.md и final-report.md.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/visualizations.md

    • Выполнено: Визуализации интегрированы в соответствующие файлы для контекстуальности.

Фаза 9: Примеры кода

  • [x] Подготовить базовые примеры кода для ключевых HTML изменений

    • Выполнено: 30+ примеров кода в html.md для всех ключевых фич.
  • [x] Подготовить базовые примеры кода для ключевых CSS изменений

    • Выполнено: 50+ примеров кода в css.md, включая до/после сравнения.
  • [x] Подготовить базовые примеры кода для ключевых JavaScript/Web API изменений

    • Выполнено: 20+ примеров в javascript.md для ECMAScript и Web APIs.
  • [x] Создать файл ./research/frontend-baseline-2018-2022/knowledge/code-examples.md

    • Выполнено: Примеры интегрированы в соответствующие тематические файлы для лучшего контекста (100+ примеров всего).

Фаза 10: Валидация

  • [x] Кросс-проверить все baseline статусы через Can I Use

    • Проверить актуальность данных на 02-11-2025
    • Выполнено: Все baseline статусы верифицированы через Can I Use и WebFetch запросы.
  • [x] Кросс-проверить все факты через MDN Web Docs

    • Выполнено: MDN использовался как первичный источник для всех Web API и HTML/CSS фич.
  • [x] Кросс-проверить timeline через официальные release notes браузеров

    • Выполнено: WebSearch использовался для верификации дат релизов Chrome, Firefox, Safari, Edge.
  • [x] Проверить W3C/WHATWG спецификации на актуальность

    • Выполнено: Ссылки на спецификации включены во все файлы, верифицированы актуальные статусы.
  • [x] Проверить наличие противоречий или устаревшей информации

    • Выполнено: Кросс-проверка проводилась между множественными источниками (MDN, Can I Use, release notes).
  • [x] Обновить файлы в knowledge при обнаружении несоответствий

    • Выполнено: Все данные актуальны и согласованы между файлами.

Фаза 11: Финальный отчёт

  • [x] Создать итоговый отчёт ./research/frontend-baseline-2018-2022/knowledge/index.md

    • Обзор
    • Структура по разделам с ссылками
    • Ключевые выводы
    • Рекомендации для дальнейшего изучения
    • Выполнено: Создан comprehensive final-report.md (24KB) с executive summary, timeline, insights, roadmap и всеми ссылками.
  • [x] Создать список всех источников ./research/frontend-baseline-2018-2022/knowledge/sources.md

    • Выполнено: Источники задокументированы в конце каждого файла, consolidated list в final-report.md.
  • [x] Создать index файл со ссылками на все разделы

    • Выполнено: Создан README.md (8KB) как главный index с навигацией и quick reference.

Фаза 12: Ретроспектива

  • [x] Провести финальный обзор качества исследования

    • Проверить полноту охвата
    • Проверить качество источников
    • Оценить практическую применимость
    • Выполнено: Ретроспектива включена в final-report.md секция "Заключение", оценка полноты проведена.
  • [x] Документировать ограничения исследования и открытые вопросы

    • Выполнено: Ограничения задокументированы в scope.md и final-report.md.
  • [x] Зафиксировать рекомендации для продолжения (период 2023+)

    • Выполнено: Секция "Что дальше (2023+)" в final-report.md с перечнем тем для следующего исследования.