Flash не умер внезапно. Ему просто несколько лет подряд говорили, что пора собирать вещи. В 2020 году это уже не дальний прогноз: Adobe планирует прекратить обновление и распространение Flash Player в конце года, а Google объявил о полном удалении поддержки из Chrome.
Если сайт сделан недавно и на нём нет старых интерактивных баннеров, можно спокойно закрыть статью. Если проект живёт с прошлой эпохи, лучше устроить короткую инвентаризацию. Старый SWF иногда прячется там, где его никто не ждёт, например в учебном модуле, промо на главной или форме расчёта стоимости.
Где искать Flash
Начать можно с обычного поиска по исходникам и контенту:
- теги
<object>и<embed>; - файлы с расширениями
.swfи старые ActionScript-проекты; - упоминания Flash Player, Shockwave и параметра
allowScriptAccess; - старые баннеры, игры, презентации и интерактивные каталоги;
- страницы, где браузер уже показывает предупреждение о заблокированном плагине.
Одного поиска по HTML мало. Часть контента могла загружаться из CMS, рекламного кабинета или внешнего сервиса. Пройдите сайт как пользователь: главная, услуги, каталог, обучение, личный кабинет, формы и старые посадочные страницы.
Чем заменить старый контент
Универсальной замены нет, потому что Flash использовали для совершенно разных задач.
- Видео обычно переносится на HTML5 video с современными кодеками и субтитрами.
- Простая анимация и интерактивная графика делается на HTML, CSS и JavaScript.
- Рисование и небольшие игры можно перенести на Canvas или WebGL.
- Сложные вычислительные задачи иногда подходят для WebAssembly.
- Старый учебный курс лучше не «конвертировать кнопкой», а пересобрать с учётом клавиатуры, мобильных экранов и доступности.
Самая частая ошибка – заменить SWF на видео, потеряв полезное действие. Если в старом ролике пользователь выбирал параметры, сравнивал варианты или проходил тест, обычный MP4 вернёт картинку, но не вернёт функцию.
Что сделать до миграции
- Составить список всех Flash-объектов и владельцев контента.
- Зафиксировать, зачем нужен каждый объект и сколько им реально пользуются.
- Сохранить исходные файлы и сделать запись экрана, пока старый сценарий ещё запускается.
- Решить, что удаляем, что заменяем, а что переносим в отдельный архив.
- Для каждого нового варианта проверить мобильный экран, клавиатуру, звук, субтитры и работу без плагина.
- После публикации удалить старые ссылки и проверить аналитику, чтобы не осталось мёртвых страниц.
Если Flash использовался в закрытой внутренней системе, нельзя просто оставить старый браузер навсегда. Это откладывает технический долг и одновременно оставляет устаревший компонент без будущих обновлений безопасности. Лучше спланировать отдельную миграцию и ограничить старую систему до момента замены.
Почему это не только вопрос совместимости
Flash был удобным способом добавить на страницу видео, игру или анимацию, когда открытые веб-технологии ещё не умели делать это достаточно хорошо. Но к 2020 году HTML5, WebGL и WebAssembly уже закрывают большую часть таких сценариев без отдельного плагина.
Переход даёт несколько практических бонусов: меньше зависимостей, нормальная работа на мобильных устройствах, проще индексация текстового контента, меньше проблем с корпоративными браузерами. Да, переписывать старый калькулятор неприятнее, чем поставить ещё один плагин. Но браузер всё равно выставил счёт, просто срок оплаты уже рядом.
До конца 2020 года стоит не искать способ «ещё немного продлить Flash», а найти его остатки и понять, какую задачу решает каждый объект. Ненужное удалить, важное перенести на открытые веб-технологии, архив сохранить отдельно.
Хорошая миграция сохраняет не SWF-файл, а пользовательский сценарий. Посетителю не нужен Flash. Ему нужно посмотреть видео, пройти урок, выбрать товар или нажать кнопку. Вот это и нужно перенести.