frontend-baseline-2018-2022 — План исследования
Контекст
- Период: 2018–2022 (строго, без 2023+)
- Фокус: HTML, CSS, стандартные браузерные API
- Аудитория: Опытный frontend-разработчик (15+ лет опыта, 40 лет)
- Язык: Русский, профессиональная типографика
- Стиль: Академичный, подробный, без аналогий, для практика
Определения
- Baseline — статус фичи, поддерживаемой во всех основных браузерах (Chrome, Firefox, Safari, Edge)
- Инициатива — предложение/спецификация W3C, WHATWG или других рабочих групп
- Браузерная реализация — первая имплементация фичи в конкретном браузере
- Депрекация — официальное объявление о планируемом удалении фичи
Критерии отбора изменений
- Изменение должно быть значимым для практической разработки
- Изменение должно войти в baseline или быть широко поддержанным к концу 2022
- Депрекации включаются, если они влияют на production-код
- Экспериментальные фичи включаются только если достигли широкой поддержки к 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).
- Выполнено: Application Cache (AppCache) — полное удаление к 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-filteroverscroll-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),
@propertyHoudini (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 с перечнем тем для следующего исследования.