Pull to refresh

Comments 87

А есть какая-нибудь статья, где расписываются киллер-фичи флеша и недостатки html5 по сравнению с ним?
Они очевидны, если вы знаете как работает HTML5:
  • Нет инструментов визуального простого создания. Бум Flash объясняется еще и тем, что любой человек 15 минут почитав видеогайд мог начать создавать на Flash. Чтобы создавать на HTML5/Webassembly и webGL нужно либо быть программистом, либо иметь штат программистов. Посмотрите на armorgames/notdoppler/kongregate, подавляющее большинство тайтлов сделано силами одного-двух людей, среди которых огромное количество стоящего материала.
  • Легкость воровства ресурсов. В Flash можно достаточно легко запихнуть галерею, которая будет открываться только по паролю и которую нельзя будет достать из ресурсов (есть декомпиляторы Flash, но часто они бессильны). В HTML5 можно вытащить всё что угодно нажав F12.
  • Отсутствие инструментов конвертации. Если есть swf2avi для роликов, то нет соответствующего инструмента для интерактивщины. Вообще никакого. Т.е. всё то наследие, которое люди создавали 25 лет просто будет спущено в унитаз.


Главный пункт в том, что раньше любой мог сделать что-то в Flash если хотел что-то показать, то теперь для этого нужен штат программистов. All hail companies!
Посмотрите на armorgames/notdoppler/kongregate, подавляющее большинство тайтлов сделано силами одного-двух людей, среди которых огромное количество стоящего материала.

Наполнение armorgames/notdoppler/kongregate — создано совсем не теми, кто «посмотрел видеогайд 15 минут». Да, начать делать простейшую анимацию — было просто. Всё остальное — примерно тот же путь, что в Delphi находится между «я сделал форму с кнопками» и «я сделал прогу, решающую реальные задачи».

В Flash можно достаточно легко запихнуть галерею, которая будет открываться только по паролю и которую нельзя будет достать из ресурсов (есть декомпиляторы Flash, но часто они бессильны).

Очень смешно. Достать ресурсы из флеша — вопрос примерно того же уровня затратности, что и достать ресурсы с веб-страницы, на которой применен хоть какой-нибудь способ противодействия выдиранию контента «в лоб». То есть, требует чуть-чуть технических знаний, но в целом о какой-либо реальной сложности говорить не приходится.

Отсутствие инструментов конвертации.

Это киллер-фича флеша? Окей.
О защите от воровства ресурсов из флэшевого контейнера ActionScript-программеры думали всерьёз и много. Толком никто ничего не добился. Историю из своего опыта расскажу:

Один мой приятель-коллега разработал «супер-пупер-защиту» от кражи ресурсов из SWF. Работала она следующим образом: SWF шифровалась чем-нибудь достаточно криптостойким, ключ и алгоритм дешифрования помещались в класс на ActionScript и специальный кодогенератор «размазывал» этот класс по 100K+ классам со случайными названиями и кучей связного «мусорного» кода. Результат компилировался в ещё один SWF-wrapper вместе с зашифрованной оригинальной SWF. Распаковывалось оно в памяти и подгружалось в рантайм штатными средствами Flash. Попытка декомпилировать и изучить алгоритм дешифрования очевидно проваливалась. Коллега готовил мешки для денег от продажи «невзламываемой защиты»…

Я же загнал Standalone Flash Player целиком под отладчик, загрузил в него эту супер-секьюрную SWF, подождал пока отобразится контент, снял дамп памяти всего флэш-плеера и по сигнатурам нашёл там две SWF — wrapper, загруженный с диска и расшифрованную оригинальную. Две с половиной минуты ушло.
>Они очевидны, если вы знаете как работает HTML5
Надо еще знать как работает флеш. А я про него знаю только то, что на нем написаны игры Happy Wheels и Divine Intervention.
Я как раз таки согласен что убийство флеша это плохо, просто было интересно узнать по пунктам, чем он так цеплял.
С высоты своей колокольни:

  • Почти полноценные TCP-сокеты (а в случае с AIR ещё и UDP)
  • Отличный API для анализа и генерации звуков. Быстрый и точный. Браузеры уже тоже научились, вроде бы, но на деле — медленно и глючно.
  • Всё в одном контейнере (SWF), но есть возможность подгружать внешние файлы в любой момент
  • Одна большая SWF-ка на медленном канале? Не проблема: Flash отображает контент и выполняет скрипты как только загружены все ресурсы текущего кадра. Да-да! SWF ещё грузится, а графика и код уже работают!
  • Гибкая и надёжная очередь загрузки ресурсов «из коробки» (за счёт того самого размещения ресурсов в кадрах таймлайна) Никаких «ой, шрифт не успел загрузиться, да и ладно, покажем так» не случалось в принципе.
  • Справка по языку / API полная, однозначная и в одном месте.
  • JIT и Alchemy. Плюс аппаратное ускорение графики (глючило, правда) До всяких Unity и WebGL'ов. При этом ощутимо менее требовательно к ресурсам.


Про «более зелёную траву» можно и ещё повспоминать.
Интересно, вот пройдет еще 10 лет. Как можно будет посмотреть Масяню из архива? Искать сконвертированные в видео версии? Заморозить образ с Windows 7 и установленным плеером?

Там есть 16К версия?
Мы говорим про 2030 год ведь, полагаю 16К будет мэйнстримом
А флеш маштабируется

К тому времени нейросеть будет апскейлить в реальном времени. А то и новые серии дорисовывать.

У автора есть исходники, он может перевыкладывать в новом качестве.
Вы сейчас про автора Масяни или про несколько миллионов других авторов, которые выложили в сеть с 1996го года свои SWF и потеряли\удалили исходники?
А что контекст не очевиден? Выше в ветке даётся ссылка на Ютуб-канал автора Масяни. Он и может выкладывать более качественные версии.
Вы так абсолютно уверены в том, что у Куваева сохранились исходники мультфильма после того как он 7-6 (!) лет назад сконвертировал его из swf в avi и выложил на YouTube? У него только серии с 129 по 144ю выложены относительно недавно (1-2 года назад).

У вас сохранились исходники всех проектов, надо которыми вы работали 6 лет назад?
Да, у меня сохранилось всё с 2000 года. Бонусом сохранилось всё что я тогда качал. В том числе масяня, ежи, бо, 6 1/2, антимульт.

А современные инструменты флэш-анимации поддерживают обратную совместимость с исходниками 20-летней давности ?

Вот, как ни странно, да. Мало того, большинство дыр, за которые сейчас гнобят флеш, было связано именно с необходимостью поддерживать совместимость с легаси.
Будет даже лучше. Webassembly flash player. Наконец не будет проблем с безопасностью и никто не сможет «прекратить поддержку».
Удивлён, что сама Adobe не пошла по пути портирования Flash Player под WebAssembly.
Адоб его убивала с самого начала. Ведь на пике популярности он был в каждом браузере, но адоб пошла своим «путём».
А ещё сайты NASA на флеше с информацией, пополнявшейся десятки лет, и ещё тысячи проектов, которые будут похоронены вместе с уникальной информацией.
Петиции, в том числе на GitHub, не помогли пока что.
А ещё сайты NASA на флеше

А есть примеры где флэш был не просто банером или игрушкой, а именно важной частью интерфейса?

Это всё же не накопленные актуальные данные НАСА, а неактуальные каталоги товаров.

Apollo 35th Anniversary Interactive Feature. Недоступно. Удивительно, не правда ли? Взято отсюда.
Попадалась статья, в которой приводились сотни ссылок на сайты значимых проектов, использующих Flash, данные для которых собирались десятилетиями.

Оно же не из-за флэша недоступно — там 404 ошибка

Верно. Просто многие избавляются от станиц на флеше, т.к. заморачиваться с переносом на другую технологию нет ни сил, ни средств, ни желания. А информация при этом может быть архиважная.
SWF, если он не завязан на объекты на странице и сетевые функции (всякие игры с онлайновыми элементами), прекрасно воспроизводится в Standalone FlashPlayer (flashplayer_sa)

Пугает странная фраза «Flash-based content will be blocked from running in Adobe Flash Player after the EOL Date» — что они хотели этим сказать? Таймбомба? Будет ли работать Standalone?
Эх, мой любимы as3. Считаю, что эта технология была сильно недооценена и необоснованно захейчена хтмл-верстальщиками. Я делал видео чаты, реалтайм игры, писал шейдеры для GPU, запиливал лайауты на флексе, компиллил на мобильные и десктопы и много чего еще, и всё это было просто и понятно и практически всегда без сюрпризов. Не было тысячи пакетов, зависимостей и прочей js лабуды. После as3 до сих пор веселят туториалы на стопицот страниц как сделать игру на js с двумя картинками и тремя кнопками управления.
Так и не найдя альтернативы стал бекенд разработчиком в своё время)
Аминь
Не было тысячи пакетов, зависимостей и прочей js лабуды.

… была прекрасная политика Adobe по обратной совместимости (в результате чего некоторые очень выборочные вещи внезапно могли оказаться выпилены из очередной версии), в то время как тут же рядом флешевский UI работал на изумительнейшем компоте из UI-библиотек трёх разных поколений, созданных по разным архитектурным шаблонам, и стыкующихся друг с другом (за исключением «официально» одобренных мест стыковки) с огромным скрипом.

Верстальщики зайхетили, ага.

Флеш с точки зрения качества кода, как стандартных библиотек, так и самого плеера — всегда и всю дорогу был абсолютно жутким куском *****, который терпели исключительно потому, что аналогичного функционала без флеша получить было нельзя. Это даже не касаясь его дырявости.
Во флеше было хорошо то что они строго настрого запретили создавать другим свою реализацию (не плеера, а компилятора, возможно что-то путаю), и поэтому везде все было одинаково. А в вебе зоопарк.
В вебе стандарты.

Во флеше, впрочем, тоже «стандарты». От Adobe. Что наглядно показало прочность и надежность архитектурных решений, которые принимаются одной конторой в рамках одного своего продукта, и не выносятся на обсуждение.
Ну вот в библиотеки флеша «срали» только из Adobe. Качество этих библиотек в итоге было очень сильно переменным. Кое-что было приемлемо, кое-что (типа UI) — полным всепроникающим ужасом.
Немного путаете. Как раз Community-версия компилятора as3/flex вполне себе была и потом была передана Adobe на попечение Apache Foundation. А вот компиляторов файлов fla и плееров действительно не было.
FLA с какой-то из версий стал обычным ZIP-ом с XML-ками внутри. А по поводу компиляторов — mtasc и позже Haxe вполне себе существовали ничего не нарушая.
Т.е. не более уязвимым, чем .xlsx, .docx и прочая. Зачем убивать-то?
Ну, тут речь про формат файла исходников всё же. Хотя и сам SWF был подробно описан самими Adobe, так что чисто теоретически написать свой Flash Player можно.
Эдак и Microsoft Office форматы открыты, написать можно всё что угодно. Вопрос в убиении готовых данных, накопленных с прошлого века. Раз общедоступного способа просмотра таких сайтов не станет, отпадёт смысл платить за хостинг ради пары атипичных посетителей в год, у которых будет чем смотреть. В итоге уникальный контент исчезнет.
Спецификация SWF версии 4 была открыта, но описания последующих версий продавались только с подпиской о неразглашении, и их было запрещено использовать для создания проигрывателей Flash.
Это мнение Википедии.
И Flash это не только SWF — видео сконвертировать проще всего.

Про «продавалась» это явная ахинея. Вероятно, автор процитированной фразы перепутал спецификацию формата с исходниками Flash Player, которые могли быть лицензированы производителям устройств.


Вот все спецификации: https://www.adobe.com/devnet/swf.html


Начиная со времён Flash 4 не было проблем со свободным доступам к спецификации SWF. Пункт про запрет создание плеера был, насколько я помню.

fla-файлы действительно бывают старые бинарные и новые архивные, только вот haxe никогда не умел работать ни со старыми, ни с новыми — он только мог транспилировать свой neko-байткод, полученный при компиляции as3-подобного кода на языке haxe в swf-файлы.
А большая часть магии флеша заключалась именно в удобном редакторе. Поэтому желавшие взять лучшее из миров, были вынуждены по-прежнему рисовать свои ассеты и делать анимацию во флеше (и хранить исходники во fla), публиковать их в swf-файлы и потом динамически прилинковывать их в код на haxe
Это политическое убийство, никакого передать нет и не может быть
Первый. Флэш версия бесплатна. Но вообще, я часто плачу второй раз за те игры в которые постоянно играю — цена обычно сопоставима с тем чтоб поставить разработчику в пабе кружку пива.
К сожалению, очень большое число флеш-игр есть только в архивах и не перенесены ни на какую платформу. И среди них есть куча интересных некоммерческих вещей, которые вряд ли будут когда-то перенесены в Steam или еще куда-то.
Сейчас есть несколько проектов по реализации flash на webassembly. Выпиливание официального флеша послужит дополнительным стимулом. К моменту выпиливания уже появится расширение для браузеров, реализующее flash на актуальном безопасном стеке технологий.
Если будет реализация на webassembly — это будет прекрасно. Но пока я вижу несколько проблем:
— у флеша плохой имидж, поэтому аналогичное расширение также может не пользоваться популярностью
— реализация webassembly в браузерах сейчас страдает нетривиальными багами (недавно пост был на Хабре, но сейчас быстро не найду).
— (экономическая) есть мнение, которое я, в общем, разделяю, что флеш был не принят в свое время Apple на iPhone из-за того, что тогда бы не взлетел AppStore с микроигрушками. Эффективная реализация веб-приложений может привести к уходу разработчику из мобильных сторов — и не факт, что ведущие производители платформ этого хотят. Иначе бы, на мой взгляд, они уже давно довели webassembly до прода.

К моменту выпиливания уже появится расширение для браузеров, реализующее flash на актуальном безопасном стеке технологий.

Предлагаю вернуться к этому комменту в январе 2021, если вспомним, конечно :)
Так вебассембли активно сейчас развивается, нет никаких заговоров строящих этой технологии козни. Наоборот, все разработчики JS движков умудрились договориться и очень быстро втаскивать везде новые фичи.
Вот, например, QT в браузере.
Или вот, AssemblyScript. Никогда раньше нельзя было не находясь в состоянии полного безумия придумать свой видеокодек и использовать его на своём сайте.
Я немного зануден, но вот он — январь 2021 года :)
На мой взгляд, особого распространения WebAssembly и замены флеша мы не увидели.
UFO landed and left these words here
Эту я купил уже несколько лет назад, когда она вышла. местами прошел. но это совсем другая игра. Та, которая на флеше (первая часть) — с процедурной генерацией уровней (каждый день разные), которые проходятся за 5-15 минут. Третья часть уже ближе к хардкорной — намного больше возможностей и механик, но и требует больше времени для прохождения уровней. Я столько тратить не готов.
Ужасное решение. Столько контента в Интернете пока ещё живо и работает на технологиях Flash. Adobe имела имхо самую популярную платформу RIA, дальше только Java-апплеты и полуживой Silverlight. Это бы всё отдать сообществу, чтобы оно сохраняло наследие.

Именно о подобных сценариях предупреждал Ричард Столманн ещё в 80-ых. И от которых спасает GPL.

Может быть написать письмо от сообщества разработчиков и узнать, что Adobe думают об открытии кода Adobe Player? Как это можно сделать?
Как за время похорон сильно изменились комменты. Если в начале/середине 10-х все только радовались что это решето наконец выпилят, то сейчас ровно наоборот. Видимо большинство людей забыли что такое новый 0-day каждый день. И еще больше забыли что такое сайты целиком на флеше и с тоннами неотрезаемых баннеров, утечки памяти на ровном месте и крайне отвратительный дизайн (заслуга сверхнизкого порога входа в AS3).
Сайтов полностью на флэше было мало, его ниша была — баннеры, игрушки, мульты. Да, в 10-х радовались, когда оно выпиливалось с youtube и прочих, как плеер видео или аудио. Для игрушек и мультов адекватной замены так и не появилось.
Ещё Speedtest и прочие похожие сервисы были на нём, потому что альтернативой тогда была только Java в системе и браузере плагином. HTML5-видео со временем в браузере научились нормально проигрывать, а вот тесты скорости на JS сейчас меряют скорее мощность процессора, чем канала — могут загрузить несколько ядер на 100%.
unity, webassembly — если речь про действительно игрушки
Как будто в браузерах без флеша не продолжают постоянно находить новые уязвимости. А в начале/середине 10-х мне запомнилось, как некоторые сайты типа youtube пытались внедрить HTML5-способ проигрывания видео и как это всё жёстко глючило и тормозило во всех браузерах того времени, включая Хром.

Просто технологии надо использовать по назначению и новые фичи альфа-тестировать не на массовом пользователе.
Даже сейчас HTML5 Audio в Хроме умудряется лагать, если открыть новую вкладку. Ранее такого не наблюдалось, хотя процессор совсем… совсем другой.

Спойлер
Наверняка прилетят минусы. Ожидаемо.
«Даже сейчас» Хром превратился в прожорливое вылетающее чудо. А ведь были времена, когда он был стабильнее файрфокса, да еще и жрал меньше памяти при этом. Сейчас же строго наоборот.
Если я не ошибаюсь, то вылеты из-за прожорливости, а прожорливость ради скорости. Можно, конечно, сказать, что HTML5 Audio ради безопасности, но… Разве нет способа улучшить проигрывание? Кажется, приоритет медиа повышали, но для меня это незаметно.
Как будто в браузерах без флеша не продолжают постоянно находить новые уязвимости

Программ без уязвимостей не бывает (если не рассматривать те, где отсутствие уязвимостей доказано математически, впрочем, вряд ли кто-то из присутствующих с такими программами сталкивался в жизни). Но в браузерах уязвимости закрывают, а вот во флеше больше не будут, потому что поддержка закончилась.

Пользователю никто не запрещает сидеть на уязвимом ПО и дальше, если ему это необходимо.
Дональд Кнут доказывает отсутствие ошибок в своих детящах готовностью выплачивать премии за их нахождение.
А хоронить технологию вместе с огромным количеством данных, собранных за десятилетия, было необязательно.
Пользователям останется наудачу качать флеш-плеер с недоверенных источников.
Видимо большинство людей забыли что такое новый 0-day каждый день.

Гипербола такая гипербола. А в браузерах 0-day, конечно же, не бывает.


И еще больше забыли что такое сайты целиком на флеше и с тоннами неотрезаемых баннеров,

Сообщество со временем пришло к консенсусу, что целиком на флеше сайты делать не стоит.


утечки памяти на ровном месте

Я лису раз в несколько дней перезапускаю т.к. она и без флеша чудесно течёт и сжирает всю память. Несколько лет назад, ещё с флешем, кстати, она к 3 Гб RAM за несколько месяцев подбиралась.


и крайне отвратительный дизайн (заслуга сверхнизкого порога входа в AS3).

Сверхнизким было вхождение в AS1.0 (Flash ≤ 4), когда скрипт тыканьем мышки в кнопочки приходилось набирать, а вызовы функций эмулировать прыжками по таймлайну. Но тогда о каком-либо дизайне говорить смысла не было.


Ждуниоры всегда пишут не учень. AS3 тут ничем принципиально не отличается от какого-нибудь TypeScript, его тоже осуждать будете?

Увы, но альтернатива флешу оказалось точно таким же мусором, не совсем в нем проблема была, а в целом в процессах разработки софта в целом.

А с чем связано такое жесткое выпиливание? И как быть с десятками IP камер и DVR, которые настраиваются только на флеше? Это я из-за их приходи должен оборудование менять? Пусть возмещают!
А с чем связано такое жесткое выпиливание?
С тем, что прекратится залатывание уязвимостей.

Пусть возмещают!
Пусть, обращайтесь к продавцу или производителю камеры.
Продавец не виноват в том, что запретили фреймворк. Пусть возмещают те, кто запретил, к тому же, это даже не их творение.

А залатывание уязвимостей не прекратится, браузер и без флеша полное давно.

P.S. Вот к чему приводит модное использование фреймворков. Упал/навестили/закрыли репозиторий и целый продукт уже в полной заднице.
Бесят
Вам кто-то запретил установить версию браузера, в которой флеш ещё поддерживался, и скачать инсталлятор этого флеша со сторонних ресурсов? На сайте Adobe свет клином не сошёлся, а за установку предыдущих версий браузера пока руки не отрубают.

С возмещением вас легко завернут, потому что никто никогда вам не обещал, что технология будет поддерживаться браузером вечно. Если же обещали, то покажите, пожалуйста, где именно и кто.

Пользователи, вообще, склонны воображать, что им обязаны. Особенно этим страдают пользователи бесплатных программных продуктов. Происходит это до тех пор, пока хотелки разработчиков софта совпадают с их хотелками. При этом, такие пользователи, в подавляющем большинстве случаев никакой пользы проекту не приносят. Жертвовать своё время на написание кода они не желают или не умеют писать код, жертвовать денежные средства (на покупку времени других людей, раз своё время тратить не хотят) тоже. Они умеют только требовать, чтобы другие реализовывали их хотелки, бесплатно. Они же пользователи, поэтому им все обязаны.Это даже не нулевой вклад, это вклад отрицательный.
Пользователи, вообще, склонны воображать, что им обязаны. Особенно этим страдают пользователи бесплатных программных продуктов. Происходит это до тех пор, пока хотелки разработчиков софта совпадают с их хотелками. При этом, такие пользователи, в подавляющем большинстве случаев никакой пользы проекту не приносят. Жертвовать своё время на написание кода они не желают или не умеют писать код, жертвовать денежные средства (на покупку времени других людей, раз своё время тратить не хотят) тоже. Они умеют только требовать, чтобы другие реализовывали их хотелки, бесплатно. Они же пользователи, поэтому им все обязаны.Это даже не нулевой вклад, это вклад отрицательный.
Вы только что описали большинство претензий линуксоидов к тому, что обязана по их мнению уметь делать винда, при том, что им никто не запрещает взять и написать расширения для неё, выполняющие эти функции.
Пользователи, вообще, склонны воображать, что им обязаны.

Разработчики, вообще, склонны воображать, что они ничего не должны людям которые заплатили им деньги.

Если они получили от клиента деньги, то да.

В виде доната, причем прямого и без условий?
Так-то те, кто за деньги работодателя делают опенсорс и отвечают перед тем, кто деньги даёт. А вот за 2 бакса доната?
В виде доната, причем прямого и без условий?

А какое отношение это имеет к взаимоотношениям разработчика и клиента заплатившего денег за продукт?

developer.microsoft.com/en-us/microsoft-edge/tools/vms
Берем виртуалку, в ней ИЕ11, в который флэш ставился, работаем.

В дальнейшем берем в руки Wireshark, реверсим протокол, пишем свою реализацию, радуемся.
Но да, печально…
Я конечно больше переживаю не за игры, иногда встречал оборудование с Web UI на флеше, вот как с ним быть?
Only those users with full accounts are able to leave comments. Log in, please.