Adobe Flash

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Adobe Flash
Adobe Flash Professional icon.png
Тип програмний рушій
векторний графічний редактор і обчислювальна платформа
Розробник Adobe Systems
Стабільний випуск Adobe Creative Suite (20.0.0.306) (09 лютого 2016)
Операційна система Windows, Mac OS X
Linux, Solaris (лише плеєр)
Мова програмування C++
Ліцензія Proprietary EULA
Вебсайт adobe.com/ua/products/flash.html

CMNS: Adobe Flash у Вікісховищі
Логотип Adobe Flash Player

Adobe Flash (вимовляється [флеш]; колишня назва — «Macromedia Flash») — застаріла[1] мультимедійна та програмна платформа використовувана для авторської розробки векторної графіки, анімації, ігор і насичених інтернет-застосунків (RIA), які можна переглядати, програвати чи виконувати в Adobe Flash Player.

Сфера використання Flash різна, це можуть бути ігри, вебсайти, презентації, банери і просто мультфільми. При створенні продукту можна використати медіа, звукові та графічні файли, можна створювати інтерактивні інтерфейси та повноцінні вебпрограми із використанням PHP та XML.

Adobe Flash — це середовище для створення застосунків під Flash платформу (Flash Platform), разом з нею існують й інші інструменти (середовища): Adobe Flash Builder, Flash Development Tool (FDT), та інші.

Flash-Файли мають розширення .swf і для перегляду вимагають наявності Adobe Flash Player, що може бути встановлений як плагін у браузер. Flash Player поширюється безплатно через сайт Adobe. Початкові файли з розширенням .fla створюються в середовищі розробки Macromedia Flash, а потім компілюються в зрозумілий для Flash Player формат — SWF.[2]

Технології[ред. | ред. код]

В основі Flash лежить векторний морфінг, тобто плавне «перетікання» одного ключового кадру в інший. Це дозволяє робити досить складні мультиплікаційні сцени, задаючи лише кілька ключових кадрів для кожного персонажа. Для програмування використовується мова ActionScript, яка за синтаксисом є схожою із JavaScript. Остання версія мови (ActionScript 3.0) є повноцінною об'єктноорієнтованою мовою.[джерело?]

Історія[ред. | ред. код]

Технологія векторного морфінга застосовувалася задовго до Flash. У 1986 році була випущена програма Fantavision, що використала цю технологію. У 1990 році на цій технології була випущена гра Another World, а двома роками пізніше — Flashback.

FutureWave[ред. | ред. код]

Попередником Flash був продукт SmartSketch, опублікований FutureWave Software у 1993 році. Компанію заснували Чарлі Джексон, Джонатан Гей та Мішель Уелш.[3][4][5][6] SmartSketch був додатком для векторного малювання для комп'ютерів, що працюють під керуванням PenPoint OS.[7][8] Коли PenPoint зазнав невдачі на ринку, SmartSketch був перенесений на Microsoft Windows і Mac OS.[4][9]

Оскільки Інтернет став більш популярним, FutureWave усвідомив потенціал векторного інструменту вебанімації, який може кинути виклик технології Macromedia Shockwave.[3][4] У 1995 році FutureWave модифікував SmartSketch, додавши функції покадрової анімації, і випустив цей новий продукт як FutureSplash Animator на Macintosh і ПК.[3][4][10][11]

FutureWave звернувся до Adobe Systems з пропозицією продати їм FutureSplash у 1995 році, але Adobe тоді відмовився від цієї пропозиції.[4] Microsoft хотіла створити «онлайн-телевізійну мережу» (MSN 2.0) і прийняла анімований контент FutureSplash як його центральну частину.[4] Disney Online використовував анімацію FutureSplash для свого сервісу Disney Daily Blast на основі підписки.[3][4] Fox Broadcasting Company запустила Сімпсони за допомогою FutureSplash.[4]

Macromedia[ред. | ред. код]

У листопаді 1996 року FutureSplash була придбана Macromedia, і Macromedia перебрендувала і випустила FutureSplash Animator як Macromedia Flash 1.0. Flash була системою з двох частин, редактором графіки та анімації, відомим як Macromedia Flash, і програвачем, відомим як Macromedia Flash Player.

FutureSplash Animator був інструментом анімації, спочатку розробленим для обчислювальних пристроїв на основі пера. Завдяки невеликому розміру FutureSplash Viewer він був особливо придатний для завантаження в Інтернеті. Macromedia розповсюдила Flash Player як безплатний плагін для браузера, щоб швидко завоювати частку ринку. До 2005 року на комп’ютерах у всьому світі було інстальовано Flash Player, ніж будь-який інший формат вебмедіа, включаючи Java, QuickTime, RealNetworks та Windows Media Player.[12]

Adobe[ред. | ред. код]

3 грудня 2005 року Adobe Systems придбала Macromedia  разом з усією лінійкою продуктів Macromedia, включаючи Flash, Dreamweaver, Director / Shockwave, Fireworks та Authorware.[13]

У 2007 році першою версією Adobe був Adobe Flash CS3 Professional, дев’ята основна версія Flash. Він представив мову програмування ActionScript 3.0, яка підтримувала сучасні методи програмування та дозволяла розробляти бізнес-додатки за допомогою Flash. Adobe Flex Builder (побудований на Eclipse) орієнтований на ринок розробки корпоративних додатків, і був також випущений того ж року. Flex Builder включав Flex SDK, набір компонентів, що включали графіки, розширений інтерфейс користувача та служби даних (Flex Data Services).

Відкритий вихідний код[ред. | ред. код]

Adobe вжила заходів, щоб зменшити або скасувати витрати на ліцензування Flash. Наприклад, документація у форматі файлів SWF надається безплатно[14] після того, як вони пом’якшили вимогу прийняття угоди про нерозголошення для її перегляду в 2008 році.[15] Adobe також створила Open Screen Project, який знімає ліцензійну плату та відкриває протоколи даних для Flash.

Adobe також має відкритий вихідний код для багатьох компонентів, що стосуються Flash.

  • У 2006 році віртуальна машина ActionScript 2 (AVM2), яка реалізує ActionScript 3, була подарована Mozilla Foundation як відкритий вихідний код, щоб розпочати роботу над віртуальною машиною Tamari , яка реалізовуватиме стандарт мови ECMAScript 4 за допомогою спільноти Mozilla.[16] Він був випущений на умовах триліцензії MPL / GPL / LGPL і включає специфікацію для формату байт-коду ActionScript; Проєкт Tamarin спільно керується Mozilla та Adobe Systems.[17] Зараз Mozilla вважає його застарілим.
  • У 2011 році Adobe Flex Framework було подаровано у вигляді відкритого коду Apache Software Foundation і перейменовано на Apache Flex.[18] Дехто вважав цей крок як Adobe відмовившись від Flex і відхід від Flash Platform в цілому.[19][20] Джерела з Apache кажуть, що «Adobe більше не займається розробкою корпоративних додатків. Принаймні, що стосується Flash, Adobe зосереджується на іграх та відео».[19][21] «Flex Innovation вибухає!».[21] Подарований вихідний код включав частково розроблений компілятор AS3 (названий «Falcon») і набір технологій BlazeDS.[20][21]
  • У 2013 році набір інструментів крос-компіляції CrossBridge C++ був відкритий компанією Adobe і випущений на GitHub.[22][23] Проєкт раніше називався «Алхімія» та «Flash Runtime C++ Compiler», і був націлений на ринок розробки ігор, щоб дозволити C++ відеоіграм запускатися в Adobe Flash Player.[24]

Використання[ред. | ред. код]

У порівнянні з іншими плагінами, такими як Java, Acrobat Reader, QuickTime або Windows Media Player, Flash Player має достатньо малий розмір файлу інсталяції, малий час завантаження та ініціалізації. Але потрібно приділити увагу, додаючи Flash об'єкт до (X)HTML відповідно до вимог W3C[25][26]. Простий і найпоширеніший спосіб наведено нижче:

 
<object data="movie.swf" type="application/x-shockwave-flash" width="500" height="500">
    <param name="movie" value="movie.swf" />
</object>

Використання векторної графіки разом з програмним кодом забезпечує малі розміри файлів Flash, що надає можливість економити трафік і зменшити час завантаження сторінки. Але для відображення тексту, відео альтернативні додатки можуть надати кращу продуктивність і спожити менше ресурсів центрального процесора ніж Flash-об'єкти, наприклад, використовуючи прозорість чи відображення фотозображень.

На додаток до рушія побудови векторної графіки, Flash Player включає віртуальну машину, що має назву ActionScript Virtual Machine (AVM) для створення механізму бізнес-логіки додатку часу виконання, підтримку відео, MP3 аудіо, графіки формату BMP. Починаючи з версії 8, введена підтримка двох відео кодеків: On2 Technologies VP6 і Sorenson Spark, а також підтримка часу виконання формату JPEG, Progressive JPEG, PNG і GIF. А починаючи з наступної версії, введена підтримка компіляції на льоту для мови ActionScript.

3D-рушії[ред. | ред. код]

Існують 3D рушії, що використовують як основу Flash. Їхня швидкість і якість роботи досить низька. Основна причина цього — неможливість використовувати засоби DirectX або OpenGL, тому виконується повна емуляція всіх 3D-алгоритмів. Немає підтримки апаратного прискорення, багатоядерних процесорів, що також знижує швидкість роботи рушія. Зараз відбувається деяке поліпшення якості й швидкості роботи 3D, тому що сама Adobe включила застосування 3D-ефектів у новому Adobe Flash Player 10.

  • Papervision3D [Архівовано 8 червня 2010 у Wayback Machine.](англ.) — Найвідоміший Open Source рушій. Векторне промальовування по трикутниках.
  • Away3D [Архівовано 11 квітня 2010 у Wayback Machine.](англ.) — Створений Олександром Задорожним з Києва на основі проєкту Papervision3D. У цей момент — провідний Open Source рушій. Також векторне промальовування.
  • Sandy [Архівовано 12 квітня 2010 у Wayback Machine.](англ.) — У використанні ще простіший, ніж Papervision3D. Open Source. Також векторне промальовування.
  • FFilmation AS3 Flash Isometric Engine(англ.) — Ізометричний рушій. Open Source.
  • Infinity 3D Engine — рушій з динамічним BSP[27]. Розробляється ентузіастом із Санкт-Петербурга Олексієм Романовим.
  • Ігрова платформа Alternativa Platform [Архівовано 8 квітня 2010 у Wayback Machine.](рос.) — Платформа для тривимірних ігор, розроблювана групою з Пермі. За флеш відповідає Антон Волков. Векторне промальовування по трикутниках. На даній платформі створена гра Танки Онлайн.
  • ZenBullets Flash Isometric 3D Game Engine [Архівовано 4 липня 2008 у Wayback Machine.](рос.) — ізометрична ігрова платформа.

Недоліки[ред. | ред. код]

Головний недолік Flash-додатків — надмірна вимогливість до ресурсів процесора. Недостатня потужність комп'ютера може впливати на продуктивність операційної системи в цілому, або призвести до викривлення результатів роботи Flash-додатка, пов'язаних з відображенням анімації або підрахунком часу. Іноді це пов'язано з недоліками програмного забезпечення, відповідального за обробку Flash-компонентів, або низькою якістю самого Flash-додатка.

Інший важливий недолік полягає в тому, що не завжди є можливість запустити Flash-додаток, або вона пов'язана з деякими труднощами (наприклад, необхідно встановити плагін або обновити його до останньої версії). Деякі користувачі (або системні адміністратори в рамках цілої мережі) відключають у налаштуваннях браузера можливість завантажувати контент, оброблюваний плагінами або, що завантажується у фреймах з метою інформаційної безпеки (у зв'язку з можливою загрозою з боку контенту, наприклад, перехоплення буфера обміну), економії системних ресурсів, або для порятунку від обридлої реклами.

Це робить технологію в цілому ненадійною також для розробників, яким ніхто не гарантує, що вебдодаток на основі Flash буде взагалі відтворено. Тому Flash, в основному, використовується для написання ігор, невеликих напівінтерактивних анімацій і для красиво оформленої реклами, тобто в сфері розваг і дизайну. Для серйозних вебдодатків, де взаємодія з користувачем повинна бути без шкоди красі, звичайно використовується Javascript, або взагалі не використовуються ніякі технології крім тих, що 100 % працюють (HTML, CGI).

Використання Flash для розміщення текстової інформації перешкоджає її індексуванню пошуковими системами. Однак існує безліч способів розв'язати цю проблему. Одним зі способів розв'язку даної проблеми є використання тексту у форматі HTML, у футері сторінки.

Альтернативи[ред. | ред. код]

Головною альтернативою Adobe Flash у браузерах є використання JavaScript, SVG і HTML 5, а для інтерактивних вебдодатків — AJAX. За наявності плагінів використовують Silverlight від Microsoft.

Оскільки 3D-рушії для Adobe Flash мають досить низьку продуктивність, не зайвим буде згадати про існування O3D, що дозволяє не тільки будувати тривимірні моделі, а й змінювати їх динамічно за допомогою AJAX чи COMET технологій.

Див. також[ред. | ред. код]

Посилання[ред. | ред. код]

Джерела[ред. | ред. код]

  1. Flash & The Future of Interactive Content (англ.). Adobe. 25 липня 2017. Архів оригіналу за 2 грудня 2017. Процитовано 1 липня 2019. 
  2. SWF file format specification, version 10 (англ.). Adobe. 
  3. а б в г Grandmasters of Flash: An Interview with the Creators of Flash [Архівовано 23 березня 2019 у Wayback Machine.], Cold Hard Flash
  4. а б в г д е ж и MACROMEDIA FLASH BACK [Архівовано 23 березня 2019 у Wayback Machine.], Digital Archaeology
  5. PC Graphics & Video, Volume 6, Issues 1–6 [Архівовано 22 січня 2021 у Wayback Machine.], Advanstar Communications, 1997
  6. Personal Computer Magazine [Архівовано 22 січня 2021 у Wayback Machine.], PC Communications Corporation, 1995
  7. Waldron, Rick (27 серпня 2006). The Flash History. Flashmagazine. Архів оригіналу за 20 серпня 2008. Процитовано 18 червня 2001. 
  8. Gay, Jonathan (2001). The History of Flash. Adobe Systems Inc. Архів оригіналу за 4 лютого 2009. Процитовано 18 жовтня 2009. 
  9. The History of Flash: Back to Graphics [Архівовано 1 січня 2015 у Wayback Machine.]
  10. The History of Flash: The Dawn of Web Animation [Архівовано 25 січня 2008 у Wayback Machine.]
  11. Grandmasters of Flash: An Interview with the Creators of Flash. ColdHardFlash.com. Архів оригіналу за 18 жовтня 2018. Процитовано 12 лютого 2008. 
  12. Flash Player in 2005. ZDNet. Архів оригіналу за 16 травня 2007. Процитовано 26 грудня 2008. 
  13. Flynn, Laurie J. (19 квітня 2005). Adobe Buys Macromedia for $3.4 Billion (Published 2005). The New York Times (амер.). ISSN 0362-4331. Архів оригіналу за 21 квітня 2020. Процитовано 4 березня 2021. 
  14. SWF Technology Center | Adobe Developer Connection [Архівовано 22 серпня 2014 у Wayback Machine.]. Adobe.com (July 14, 2009). Retrieved on March 11, 2011.
  15. Adobe Open Screen Project. ZDNet. Архів оригіналу за 11 серпня 2011. Процитовано 21 березня 2012. «Starting today, there will be no restrictions on the use of the SWF specification or the FLV and F4V specifications that make up video in Flash. Formerly, to look at the SWF specification users had to sign a licensing agreement not to use it to create competing players» 
  16. Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine. Mozilla Foundation Press Center. San Francisco. 7 листопада 2006. Архів оригіналу за 21 жовтня 2010. Процитовано 3 вересня 2010. 
  17. Tamarin Project [Архівовано 10 лютого 2007 у Wayback Machine.]. Mozilla.org (October 5, 2010). Retrieved on March 11, 2011.
  18. Adobe donates Flex to Apache. Techworld. Архів оригіналу за 18 листопада 2011. Процитовано 17 листопада 2011. 
  19. а б Tim Anderson (15 листопада 2015). Adobe Flex SDK bombshell STUNS developers. The Register. Архів оригіналу за 10 серпня 2017. Процитовано 10 серпня 2017. 
  20. а б Joab Jackson, IDG News Service (16 листопада 2011). Adobe Donates Flex to Apache. PCWorld. Архів оригіналу за 4 грудня 2012. Процитовано 10 жовтня 2015. 
  21. а б в Flex != Flash [Архівовано 10 січня 2016 у Wayback Machine.], PrintUI, January 27, 2013
  22. Open Source Flash C++ Compiler, CrossBridge [Архівовано 25 березня 2014 у Wayback Machine.], Adobe Blogs, June 25, 2013
  23. CrossBridge [Архівовано 20 вересня 2017 у Wayback Machine.], Adobe Gaming GitHub Website
  24. Adobe Open-Sources Flash C/C++ Compiler [Архівовано 6 лютого 2017 у Wayback Machine.], Phoronix, Michael Larabel, June 26, 2013
  25. Flash Satay: Embedding Flash While Supporting Standards. Архів оригіналу за 25 червня 2013. Процитовано 11 квітня 2010. 
  26. Flash W3C valid and search engine friendly: Detect and embed Flash in XHTML (англ.). 
  27. http://makc3d.wordpress.com/2009/09/07/alternativa3d-vs-infinity3d-head-to-head-dynamic-bsp-test/ [Архівовано 24 січня 2010 у Wayback Machine.] Alternativa3D vs Infinity3D: head to head dynamic BSP test