waqur: (Default)
[personal profile] waqur
Интересна история взаимодействия браузеров с технологией Flash.

Сначала у разработчиков был вау-эффект: ой, как классно; все ломанулись писать ActiveX-компоненты и применять их там, где надо и там, где не надо. После того, как стало понятно, что чуть менее, чем все из них - это вирусы, мода на ActiveX прошла. Во времена IE6 мне приходилось запрещать эти апплеты на файерволле, т.к. браузер был групенький и несмотря на запрет в настройках, всё равно как-то умудрялся загружать и выполнять эту гадость.

Затем - во времена полуторного файерфокса где-то - стало понятно, что флешем технологию ActiveX/её_аналоги можно и ограничить. Браузер читал GUID'ы ActiveX-объектов из HTML'я, сравнивал их с фиксированным списком внутри себя и подключал ограниченный набор плагинов. Открытость закончилась: флеш/ещё_какой_то_хлам_типа_media_player успел на поезд, все остальные опоздали. Зато теперь уже не нужно было напрягать файервол фильтрацией этой радости, браузер справлялся и сам.

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

Файерфокс перенял эту замечательную идею в версии 3.6.4 для винды, и в версии 4 для остальных ОС, изолировав флеш в отдельный процесс plugin-container.exe.

Паралельно развивалась другая проблема. Файерфокс, как и другие современные браузеры, кушает много памяти, память дешевеет, 4-6-8 гигов на настольном ПК - уже давно не экзотика, и двухгигабайтный расход памяти для Файерфокса - давно уже обычное дело. Чтобы эффективно использовать память в новых компьютерах, Файерфоксу нужно постепенно становиться 64-битным. Хорошая идея упёрлась в серьёзную проблему реализации: флешовая DLL-ка 32-разрядная, и с 64-битным EXEшником браузера её не подружить по техническим причинам. Фирма-владелец флеша, Adobe, обещая портировать флеш на 64 бита, долго - где-то год - кормила всех завтраками, чем продолжает заниматься и по сей день. В конце концов браузерописателям надоел этот цирк, а изоляция флеша в отдельный процесс plugin-container.exe, мотивированная соображениями защиты браузера от забагованности плагина, закрыла заодно и проблему кросс-архитектурного IPC.

Постепенно проявились проблемы флеша с прайвеси - оказывается, там у него свои куки; а вот на настройки хостящего браузера по кукам плагину наплевать. Файерфокс обзавёлся хорошими плагинчиками для устранения этой досадной мелочи.

Если не последний гвоздь в крышку гроба Flash, то уж точно решающий забил CEO Apple Стив Джобс, который громко заявил, что флешу на айпадах не место. Не знаю, что они там с Adobe не поделили, но не исключаю, что там в коде такой срач и adhoc-хакерство, специфичное для x86, что портировать его на айпадные RISC-процессоры просто физически невозможно, по крайней мере так, чтобы аккумулятора айпада ещё и на сам браузинг хватало. Внезапно выяснилось, что видео может работать и без флеша, а всё остальное - и так уже давно замечательно работает.

С таким послужным списком, технологию Flash осталось только похоронить.

Date: 2011-03-22 11:37 pm (UTC)
From: [identity profile] ti-ua.livejournal.com
Тяжко без тегов :)

"Не знаю, что они там с Adobe не поделили, но не исключаю, что там в коде такой срач и adhoc-хакерство, специфичное для x86, что портировать его на айпадные RISC-процессоры просто физически невозможно"

Судя по тому, что флеш-плеер есть для андроидов, портировать можно.
Однако действительно есть ограничения:
Выделенный процессор приложений Cortex A8 (ARMv7) с тактовой частотой 550 МГц с технологией Neon только для A8. Аппаратное векторное устройство FPU. Операционная система Android™ 2.2
http://www.adobe.com/ru/products/flashplayer/systemreqs/

На 4-м IPhone и первом IPad как раз модификации Cortex A8. Так что причина скорее всего - таракасики Джобса, как и ограничение на использование языков программирования, предъявы к Amazon по поводу продажи книг через приложения и прочее. Вполне возможно, что боится засилия флешовых игр, многие из которых по уровню как большинство айфоновских казуалок.

Date: 2011-03-23 10:00 am (UTC)
From: [identity profile] waqur.livejournal.com
а что случилось с тэгами? опять сцуп что-то мутит?

Date: 2011-03-23 10:02 am (UTC)
From: [identity profile] ti-ua.livejournal.com
Хз, может настройки постинга в журнале.

Date: 2011-03-23 10:05 am (UTC)
From: [identity profile] waqur.livejournal.com
вроде раньше работало, я ничего не трогал в настройках в последние полгода

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

На этой странице

Автор стиля

Развернуть

No cut tags
Page generated 2026-03-04 08:42 pm
Powered by Dreamwidth Studios