Разработчики Mozilla приступили к реализации проекта Shumway (http://mozilla.github.com/shumway/), в рамках которого предпринята попытка создания проигрывателя Adobe Flash с использованием технологий HTML5 и языка JavaScript. Указанный проект позволит обеспечить безопасный запуск SWF файлов на компьютере пользователя, ибо JavaScript во многих современных веб браузерах выполняется в песочнице, в отличие от оригинального проигрывателя Adobe Flash, который подключается как библиотека и имеет полный доступ к операционной системе с правами пользователя, что позволяет эксплуатирующим уязвимости Flash-роликам выполнять неразрешённые спецификацией действия.
В настоящее время ведётся работа по созданию виртуальной машины Flash и runtime-компонентов. На базе уже созданного на языке JavaScript парсера формата SWF подготовлен (http://mozilla.github.com/shumway/inspector/inspector.html) сервис инспектирования SWF-файлов. Кроме того, для наблюдения за прогрессом разработки представлена демонстрационная страница (http://mozilla.github.com/shumway/examples/racing/), на которой продемонстрирована возможность выполнения простой Flash-игры с использованием наработок Shumway.
Проект доступен под открытой лицензией MPL и разрабатывается с использованием Git-репозитория (https://github.com/mozilla/shumway) на GitHub. Для обеспечения оптимальной производительности, код развивается в тесной зависимости от возможностей и особенностей Firefox. Адаптация для других браузеров пока не ведётся. Примечательно, что компания Google около года назад представила (http://www.opennet.me/opennews/art.shtml?num=31027) похожий проект Swiffy (https://www.google.com/doubleclick/studio/swiffy/), позволяющий преобразовать Flash-контент (поддерживается SWF 8 и ActionScript 2.0) в представление на базе технологий HTML5, JavaScript, CSS3 и SVG. Код Swiffy пока закрыт, но компания не исключает в будущем, после завершения разработки, публикацию исходных текстов.
URL: https://github.com/mozilla/shumway
Новость: http://www.opennet.me/opennews/art.shtml?num=34031
Но зачем продлевать жизнь полумертвой технологии?
Затем что дешевле переписать безопасно чем поддерживать кучу старого мамонтово г
Вот только если одну тормозилку (flash) запустить на другой тормозилке (js), там и 10ГГц процессора пожалуй маловато будет. Так, глядя как флеш клинит 3ГГц-процы :)
Так ведь ядра-ж стоять!
Почти все онлайн видео использует флеш и менять ничего не собираются :( Если "флешня" от мозиллы будет работать лучше адобовского ґ, то почему бы и нет? Правда все попытки сделать свой вариант к успеху не привели...
p.s. Мозиловцам заняться не чем? Даже ff13 с регрессом сделали... :(
тысячи нужных вещей никто не станет перписывать по причине недоступноси авторов.
> тысячи нужных вещей никто не станет перписывать по причине недоступноси авторов.Если вы нуждаетесь в вещи на которую все забили - поздравляю с попадаловом!
Ага, я прямо так и вижу декодер H.264 на JavaScript.
http://habrahabr.ru/post/131632/
Вообще-то технология полумертва в основном из-за кривости реализации, а так у неё есть жирные плюсы перед HTML в определённых областях. Кто пытался сделать на HTML/JS сложный UI (для веб-приложения, а не сайта) - тот меня поймёт. Да и просто сложное приложение много удобнее писать на статически типизированном ActionScript 3.
Вообще-то технология не полумертва и даже не кашляет.
Сайты стримящие видео (a la justin.tv/twitch.tv) имеют многомиллионную аудиторию,
игры для соц сетей имеют миллиардную аудиторию,
Flash для андроида - самое скачиваемое приложение (скачало более 100 000 000 (ста миллионов)человек.)
А хоронят ее с 1999 года.
Интересное чтение на досуге
http://habrahabr.ru/post/139928/
> Интересное чтение на досуге
> http://habrahabr.ru/post/139928/статья в стиле:
""""
я последнии 5~10 лет изучал формат Adobe Flash, и сейчас не хочу переучиваться.
я успешен и богат, и вообще клёвый парень, так-что мне всё нравится, и Adobe Flash ни в коем случае не имрёт (а иначе если я предположу что он умрёт, то это же выходит что я без 5 минут неудачник!!).
"""
А всегда ли есть смысл переучиваться? Это новая технология (в данном случае HTML+JS+CSS3) должна доказывать преимущество. Любыми путями: идеологией, удобством, лицензией. Без преимуществ, явных. а не мнимых, любая технология обречена. Пока что флеш жив, а как будет далее - решат разработчики контента.
> Интересное чтение на досугеГалимый самопиар-самооправдание. Сам адоб уже рекомендовал корпорациям валить на хтмл5. А таких бакланов как отдельные флешеры пишущие такой шитец никто и спрашивать не будут. Ну перестанет абоба выпускать флеш и девтулсы и вся эта шваль дружно построится и пойдет изучать html5. А кто не пойдет - в дворники отправится.
Ну тем более
> Но зачем продлевать жизнь полумертвой технологии?Какой именно, JavaScript или HTML5?
Вы психиатора когда последний раз посещали?
> Вы психиатора когда последний раз посещали?Доктор, я общаюсь с анонимусами!
Это причина расстройства?
> Доктор, я общаюсь с анонимусами!И на флеше программируете? Бывает. Трехведерную клизму ему, с патефонными иголками.
Возвращайтесь со своей машиной времени обратно в будущее.
Тормоза флеша тоже портируют?
Ну если оригинальный флэш, написанный на С++, умудрялся тормозить, то про JS и говорить нечего.
Оригинальный флеш эпически редкий тормоз даже по сравнению с Жаваскриптом.
АААА! Еще один флеш! Да сколько можно? Уже бы просто забыли про это г-но, оно само умрет со временем. Особенно мозилла, будто им заняться нечем.
скучно же столько лет браузер пилить.
Тебя забыли спросить.
Нам всем очень интересно наличие у вас склероза.
а смысл, флеш то хотя бы относительно быстрый, а на js будет тормозить и грузить проц по полной
> а смысл, флеш то хотя бы относительно быстрый, а на js будет
> тормозить и грузить проц по полнойво флеше тоже встроен ActionScript. Так что получается, браузер+флеш - одновременно 2 реализации ЖС =)
а тормозить будет не от ЖС, а от идиотов, которые делают сайты с 100500 флешками на странице. Хотя и сейчас тормозит =)
не совсем, ActionScript заточен под флеш и выигрывает по удобству, скорости и нагрузке у js
> ActionScript заточен под флеша можно узнать, чем конкретно он «заточен»? кроме идиотской опциональной типизации, которая работает через пень-колоду, и не менее идиотских «классов», которые были введены в угоду обезьянам, не могущим в прототипы (и что характерно, ни то, ни другое не является «заточкой под флэш»).
Типизация (которую в AS3 не используют только полные идиоты) и классы - это средства борьбы со сложностью в более-менее крупных приложениях. JS в них начинает создавать массу проблем своей бесструктурностью, и бороться с этими проблемами - удовольствие ниже среднего.
ООП в JS есть, оно прототипное. то, что обезьяны cannot into prototypes — это личные проблемы обезьян. ну, и абоба, который запилил для обезьян «классы».типизация в AS кривая, type inference никакой и юзабельность этой (полезной, да — если сделано с умом) фичи примерно такая же: никакая.
Полезность ООП в AS3 не меньше чем в джаве - модель точно такая же. А в джаваскрипте плохо (для большой системы) не то что там классы использовать нельзя (можно конечно), а то, что можно их не использовать. Классы и типы вообще принуждают добавить в код структуру и дают некую самодокументируемость за счёт своих имён. Ну и без type inference куча языков жила и живёт. Фича приятная, конечно, но отнюдь не обязательная.Но я это всё пишу в разрезе веб-приложений, причём довольно крупных - того, что в адобе обзывают RIA. На мелочи всё это не проявляется и js со своими фреймворками даёт большую скорость и свободу, конечно.
А спор "классы против прототипов" - штука вечная. Как по мне - для веб-приложений лучше классы за счёт массовости и в среднем паршивой квалификации разработчиков - они проще и лучше ограничивают дурную инициативу.
где я говорил, что ООП не надо? O_O> А спор «классы против прототипов» — штука вечная. Как по мне —
> для веб-приложений лучше классы за счёт массовости и в среднем паршивой
> квалификации разработчиков — они проще и лучше ограничивают дурную инициативу.а я что сказал? для обезьян добавили.
p.s. type inference в языках с *необязательной* типизацией очень даже полезна и нужна. они бы там уже или трусы, или крестик: или всё строго с типами, или вообще бы убрали недофичу.
>а тормозить будет не от ЖС, а от идиотов, которые делают сайты с 100500 флешками на странице. Хотя и сейчас тормозит =)Интересно, почему видео на флеш тормозит гораздо сильнее чем внешним проигрывателем?
потому что у Вас линукс(64?), на котором Flash не использует даже минимальные возможности видеокарты. А ведь ему надо не только видео показать, но и рекламу на него наложить :). И не дать никому без нее смотреть - вот в этом то кстати и причина "недоверия" к драйверам видеокарт в Linux - уж слишком они открытые :)
> потому что у Вас линукс(64?), на котором Flash не использует даже минимальные
> возможности видеокарты. А ведь ему надо не только видео показать, но
> и рекламу на него наложить :). И не дать никому без
> нее смотреть - вот в этом то кстати и причина "недоверия"
> к драйверам видеокарт в Linux - уж слишком они открытые :)на виндоус тоже самое, даже при софтварных кодеках без ускорений видео плеером будет экономичней для процессора
>на виндоус тоже самоеПодтверждаю.
Подобная тотальная "яваскриптизация" иногда просто обескураживает. Такими темпами x86 процы будут вытеснены не ARM, а каким нибудь монстриком с системой команд JavaScript и аппаратным блоком конвертирования SWF в HTML5.
бгг, +1 !
а на чём писать?
- питон? так это надо с нуля создавать питон-машину и пропихивать во все браузеры
- си? так офигеешь тестировать на *дцати аппаратных платформах и *стах ОС
а жаваскрипт гарантированно есть на 99% современных машин. Да и ещё, главное, это как-никак стандарт ЕСМА.
Java Virutal Machine!
(апплеты, здравствуйте снова)
До свиданья апплеты.
Клево, давай те все на js писать! ОСи тоже на него перепишем!
Достало, раньше хоть был Flesh, java, SilverLight хоть какая-то конкуренция. Сейчас их все убили, причем если еще первый и второй из соображений безопасности, то последний просто так.
Хотя технологически html стек более чем убог и очень сложен в разработке. Однако js пихают во все щели и уже обучают новых " крутецких программистов" только на нем.
> хоть какая-то конкуренция.Особенно способствует конкурерции политика Adobe, которые действуют по принципу "С этими дружу - для них сделаю флэш-плеер, а с этими не дружу, им - шиш с маслом"
Это называется "проприетарщина"
> ОСи тоже на него перепишем!Есть же ядро линукса на js, которе в браузере работало.
Не ядро а виртуальная машина
Производительности js хватало даже для ядра линукс. Чего все плачет по поводу "тормозов" js не понятно.
> Производительности js хватало даже для ядра линукс. Чего все плачет по поводу
> "тормозов" js не понятно.Для ядра линукс большой производительности не нужно. Запустите хотя-бы иксы.
Боже упаси от такой конкуренции. Печалит что флеш никак не хочет сдохнуть на свалке истории, сантехники были неважными маркетологами, а МС забил на сильверлайт. При всей моей нелюбви с МС, лучше уж пусть индусы будут чем то заняты, а то опять запилят какую-нибудь НЕХ.
Насчёт убогости html-стека - уж точно согласен. Особенно с попытками поддержвать все мыслимые типы устройств вполоть до интерфейсов для слепых. В результате нет НИ ОДНОЙ приличной модели вёрстки, а вместо этого бестолковый "поток", практическая непригодность к построению сложных UI и гора костылей вокруг этого. javascript вместо стандартизированного байткода - туда же.
Не надо оправдывать собственное бессилие. Тем более на сайте в интернете. Это просто смешно.
Пойдите погуляйте лесом. Если что-то можно сделать в принципе, сильно извратившись - это ещё не значит, что всё хорошо. А так - и на брейнфаке писать можно, чего ж нет.А если не верите, что поток - это зло для RIA - попробуйте как-нибудь на досуге сделать reusable компонент, который маштабировался бы, занимая максимально доступную высоту и ширину экрана - и работал бы, будучи помещенным в другие элементы (то есть со всех четырех сторон что-то есть), часть которых может быть "с извращениями" - что с absolute, что с float, что с display: table, что с отрицательным margin и тому подобным. Замучаетесь костылить - там частных случаев десятки получаются. И возьмите для сравнения какой-нибудь ui-дийзайнер - от визуал бейсика до qt-шного - и удивитесь как там это тривиально делается.
Похоже, закончится тем, что кто-нибудь реализует отрисовку контролов на канвасе - там хоть можно реальный котроль иметь.
> который маштабировался бы, занимая максимально доступную высоту и ширину экрана - и работал бы, будучи помещенным в другие элементы (то есть со всех четырех сторон что-то есть)А можно алгоритм работы описать точнее?
ну идея такова. Есть одностраничное приложение. В нём, в частности, показывается некий масштабированный элемент. Для простоты - картинка, с известными (и большими) размерами. Кроме неё на странице есть другой контент - выше, ниже, справа, слева. Сумма высоты того что справа/слева меньше/равна высоте экрана. Аналогично для ширины. Нужно растянуть картинку на всё незанятое остальным контентом место (соблюдая пропорции, но это не проблема). Если никак не ограничивать позиционирование задача практически нерешаема (кто угодно и когда угодно может воткнуть элемент с position: absolute), при наложении разумного ограничения "дитя не выходит за границы родителя", все сиблинги перед элементом находятся слева и/или выше, все те, что после - правее и/или ниже" кое-как посчитать получается - но я явно не учитываю все возможные случаи флоатов, clear, display:table, position:absolute и прочего. То есть код "по месту", под конкретную вёрстку написать можно, а универсальный - шиш.Проблема в том, что в html элементу нельзя сказать "займи всё не занятое сиблингами место". А руками считать - получается что нужно половину box model заново реализовать.
Называется Dock (прилепить куда-то) и Anchor (привязать к чему-то) в терминах UI компонент.
> - си? так офигеешь тестировать на *дцати аппаратных платформах и *стах ОСНе факт, кстати. Пиши по стандарту, без ассемблерных вставок :) и тебе gcc его для всех этих *дцати аппаратных платформах и *стах ОС одинаково соберёт.
> а жаваскрипт гарантированно есть на 99% современных машин. Да и ещё, главное,
> это как-никак стандарт ЕСМА.Ну это же маразм - делать общую платформу и при этом жёстко задавать язык, на котором под неё писать. Вообще вся эта кутерьма с браузерами попахивает идиотизмом.
У вас привычка все нюхать? Отучайтесь.
Netscape не стали реализовывать в браузере поддержку python, ruby, lua, etc не потомы что не хотели, а по той очевидной причине, что вышеописанные языки - г@вно.
> а по той очевидной причине, что вышеописанные
> языки - г@вно.JS и AS?
внимание: Анонимный Иксперт высказал Обоснованое Мнение!
> Да и ещё, главное, это как-никак стандарт ЕСМА.Вы этот стандарт видели? Он описывает только семантику языка и парочку базовых классов и не имеет никакого отношения ни к браузеру, ни к dom, ни к чему. Аналогичные стандарты есть и на C/C++, и на C# и на кучу других языков/платформ.
> В настоящее время ведётся работа по созданию виртуальной машины Flash и runtime-компонентов.Runtime-компоненты — это понятно, но виртуальную машину-то зачем заново творить? У мозиллы ведь уже есть Tamarin.
Интересно кто-то прочитал эту статью не по диагонали?
Заголовок не соответствует содержанию. Тут будет конвертер Flash в HTML5, а не реализация Flash как тут многие уже кричат...
> Интересно кто-то прочитал эту статью не по диагонали?Да.
> Заголовок не соответствует содержанию. Тут будет конвертер Flash в HTML5, а не реализация Flash как тут многие уже кричат...Интерпретатор с JIT-компиляцией не превращается сам собой в компилятор и не перестаёт быть интерпретатором. Flash-player, который преобразует swf-файл в html5-представление перед выполнением — это по прежнему реализация Flash. Всё в заголовке правильно сказано.
>Интересно кто-то прочитал эту статью не по диагонали?
>Тут будет конвертер Flash в HTML5, а не реализация FlashТы сам её прочитал по диагонали. ;) Тут будет "проигрыватель Adobe Flash". А это как раз и есть реализация той части Flash-технологии, которая востребована конечным пользователем. Инструментарий для создания swf-ок тут, понятное дело, не предусмотрен. :(
Как я понимаю он не будет уметь играть flash video, что на данный самый распространенный шаблон использования Flash
>Как я понимаю он не будет уметь играть flash videoПро видео там вроде вообще ничего не написано. Что бы это значило?
Погонял машинку... Тормозит пока несколько сильнее флэша. Но я удивлён, что ЭТО вообще способно работать с приемлимой скоростью. Посмотрим что будет, когда его допилят. Вот бы был прикол, если бы эта реализация в законченном виде работала под Линуксом быстрее адобовской версии.
Желаете тормозов 90% декстоп юзерей?
>Желаете тормозов 90% декстоп юзерей?Этого не будет. Если подобная реализация ВНЕЗАПНО станет веб-стандартом, то тормоза исчезнут для всех. Почему? А потому что владельцы и разработчики сайтов будут вынуждены пересмотреть свои взгляды на рекламный и медиа-контент. Излишки баннеров, с которыми мы вынуждены иметь дело должны будут исчезнут. А это окажет очень сильное давление на Adobe. Возможно даже заставит их открыть Flash, чтобы протолкнуть именно его в качестве веб-стандарта. Для того чтобы спасти эту часть своего бизнеса (Flash IDE) от перспективы сужения рынка интернет-рекламы в формате swf.
Эдоб уже уступил и хочет из Флеша делать чисто игровую платформу. У них и для хтмл есть свои всякие Дримвиверы, Эйджи (анимация на js).
Надеюсь, на базе движка, конвертирующего swf в js они также сделают утилиту для преобразования в оффлайне, чтобы владельцы сайтов, желающие избавиться от флэша, могли конвертировать сво
свой флэш-контент в javascript.
Главное чтобы потоковое видео (плейры) сделали и все будет отлично, а то еще очень многие ресурсы только и делают на флеше...
Это наверное в первую очередь из-за того, что HTML5 не предоставляет никаких средств для защиты контента.
А во вторых банально проще и быстрее сделать плеер на Flash чем клепать десятки костылей чтобы оно одинаково работало во всех браузерах (в том числе старых)...
Никаких костылий пихать не нужно как раз и уже давно, а Флеш и есть костыль для старых браузеров. К тому же хтмл5 видео круто может взаимодействовать с canvas.
А чехарда кодеков внутри HTML5 это мелочь? В вашем идеальном мире все браузеры поддерживают одинаковый набор кодеков?
Скоро будут все, кроме Оперы, но тут 2% и можно ей Флеш впихнуть.
То есть все будут х264 будут поддерживать, осталось только дождаться ФФ.
Как-то я сомневаюсь в том, что все видео-хостинги подпишутся на отчисления в пользу h264
Да бредовая проблема всё это, не существует её. Не поддерживает - лови костыль из Флеша.
А также хром и оперу
Под Chrome x264 поддерживается: Майкрософт написала x264 для Chrome, Google WebM для IE. Так что оба формата поддерживаются в обоих браузерах. Победила дружба :).
Хром нативно поддерживает х264.
> То есть все будут х264 будут поддерживать, осталось только дождаться ФФ.x264 и WMA -- останется для создателей релизов торрент-пираток
в www его позабудут, это очевидно
Я вот все понимаю, но обьясните мне, почему для реализации не взять скомпилированный Perl или PHP?
> Я вот все понимаю, но обьясните мне, почему для реализации не взять
> скомпилированный Perl или PHP?Свежая мысль!! МоФоКо нуждается в Вас. Сегодня к 16-00 подходите на проходную. ... Мучаются они без человека в штате, который всем говорит, что делать, и почему не надо делать то, что они уже. </ога>
А нельзя устраивать дни HTML5 видео как с IPv6 делают ? Все крупные видео хостинги дружно переконвертируют видео в VP8 (он вроде во всех браузерах поддерживается) и сносят флеш вариант навсегда. Одного Youtube малова-то, да и тот времменами выдает видео которые флеша хотят, а скачивать его для просмотра как-то не дружелюбно.
Может, я что-то делаю не так, но у меня на нетбуке с 32-битной Windows 7 с включённым Aero и одноядерным двухпоточным 1,6 ГГц Атомом без аппаратной поддержки H.264: в Файрфоксе на Ютубе VP8 тормозит даже на 320p, в то время как флеш-вариант не тормозит абсолютно на 480p. В итоге отключил поддержку VP8 в настройках браузера, и радуюсь тому, что всё видео показывается без тормозов. Так что не уверен, что VP8 — всегда хорошо.
Что-то на моём одноядерном Атоме 1,4 таких проблем нет с 480.
Наблюдал тормоза на некоторых видео долгое время, пока не вызвал контектное меню и не увидел, что эти тормозищие видео в VP8. Раз говорите, что у вас не тормозит, попробую на досуге разобраться, почему тормозит у меня, спасибо.
Да тормозит оно, тормозит. Не слушайте этих кpаснoглaзых, выдающих желаемое за действительное. Не тормозит у тех у кого 4 ядра @ 4 гига. Ведь теперь чтобы получить швaбoдкy надо еще и компьютер новый купить. Я тоже на ютубе даже 480р в вебм посмотреть не могу, в то время как во флеше спокойно 720р играется.
>Что-то на моём одноядерном Атоме 1,4 таких проблем нет с 480.А ты видео покрути, а не только аудио.
Дома покручу ещё, может Флеш всё же был.
>продемонстрирована возможность выполнения простой Flash-игры с использованием наработок Shumway.Не смог даже тронуться, одноядерник 2,2 ГГц встал колом. :D
>Не смог даже тронуться, одноядерник 2,2 ГГц встал колом. :DА у меня бегает вполне сносно. Тестировалось в Chromium на машинке с Atom 1,6 ГГц.
ARMv7 2 ядра 1GHz в Chromium нормально гоняет, но медленнее аналогичной флэшки в Gnash.
Фаерфокс 13 тормозит, или вешает намертво, раз на раз не приходится. Откатил на 12, нормально гоняет, но медленнее Кромиума.Вывод: тролли, которые пишут, что мозилловцы не тем заняты, внезапно оказались правы.
Если проехать круг в обратную сторону все равно засчитывает =/
Вормикс вкантактиге без Эдобе Флэш в системе? Да это же счастье! Отключение нон-фри!!! Еще массово поотказатся от mp3 и Столлман буит счастлив!!!
>и Столлман буит счастлив!!!И довавит т-тя в друзья на радостях.
тормозной жабаскрипт + тормозной флеш + тормозной фуррифукс = прогресс и развитие!
Ребята из Mozilla молодцы, чо.TODO List:
Глючный PDF-ридер - DONE
Глючный флеш плеер - WIP
у Mozilla кучу проектов как всегда вдохновляющих на мысли о лучшем будущем......но заметил такое что есть у них тенденция -- быстро глохнуть :(
* где например SpiderNode ? (Node.Js на движке от Mozilla вместо V8 . у V8 есть ограничения на вид аппаратной платформы где его можно запускать, потому что V8 написан от части на НЕпереносимом Ассемблере)
* где Mozilla’s Session API ? (гениальный API для того чтобы www-сайты могли декларировать кнопку sign-in/sign-out -- в самом браузере, а не на www-странице)
* где BrowserID -- реализованный прямую в браузере? почему заглохно?
* почему заглохло Push Notification ?
и т д ...
наверное потому что не нужно
потому что… собственно, посмотри, сколько стартапов «выстреливает», а сколько сливаются. вот тут примерно то же самое: что-нибудь да выстрелит, большинтсво сольётся. нормальный процесс.
хмм... JS и HTML5 ... это получается он кросс-платформенный ? O_o