Термін Flash може включати будь-який інший термін, визначений нижче, і я вважаю, що висловлювання "Flash" без вказівки, що саме ви маєте на увазі, може заплутати та ввести в оману. Приклад: Я не впевнений, що ви конкретно маєте на увазі, коли говорите "Спалах" у своєму запитанні. Це Flash Player? Авторський інструмент? Або ціла колекція технологій, які підпадають під те, що Adobe називає "Flash Platform"? Щоб допомогти прояснити все це, дозвольте мені визначити технології, залучені до створення вмісту Flash та Flex, щоб ми всі використовували ту саму термінологію:
Flash Player - це середовище виконання мультимедійного вмісту у браузері. Існує також Flash Lite для запуску Flash-вмісту на старих або низькопродуктивних мобільних пристроях, а Adobe AIR розширює Flash Player, щоб дозволити авторам вмісту публікувати власні настільні та мобільні програми, які можуть інтегруватися з такими файлами, як віконна система та пристрій такі датчики, як акселерометр і камера. У сукупності Adobe називає їх термінами роботи Flash .
Flash Professional (часто званий інструментом створення Flash або Flash IDE ) традиційно є основною програмою, яка використовується для створення вмісту, який працює на Flash Player. Він дуже орієнтований на графіки, шари та інструменти візуального малювання. Розробники програмного забезпечення можуть вважати цей додаток дезорієнтованим та обмеженим у порівнянні з іншими інструментами розробки, які більше зосереджуються на коді, наприклад Flash Builder (див. Нижче). Коли хтось каже: "Я щось побудував за допомогою Flash", вони часто мають на увазі інструмент розробки Flash, але це не завжди так. З цієї причини добре завжди уточнювати, щоб уникнути плутанини.
ActionScript - це основна мова програмування, яку Adobe підтримує для виконання Flash. Поточною версією є ActionScript 3 (скорочено AS3 ), яка підтримується з Flash Player 9. Вміст, створений зі старими версіями ActionScript, все ще може запускатися в останніх версіях Flash Player, але нові функції підтримуються лише при використанні ActionScript 3 для створити новий вміст.
Flex - це колекція технологій, призначених для створення розширених програм, орієнтованих на час роботи Adobe Flash. Незважаючи на те, що раніше слово "Flex" мало ту саму неоднозначність, що і "Flash", торгова марка Flex стає все більш і більше зосередженою на структурі Flex та SDK, описаних нижче.
Flex SDK складається з компіляторів командного рядка відладчика, і Flex рамки. До складу входять компілятори: 1. MXMLC, компілятор ActionScript та MXML для виведення остаточного SWF-файлу для розгортання у Flash Player. 2. COMPC, компілятор статичної бібліотеки для ActionScript, який виводить SWC-файли. 3. ASDOC, генератор документації, побудований за технологією компілятора.
Рамки Flex являє собою набір класів ActionScript , призначених для створення Rich Internet Applications. Він включає такі речі, як елементи керування користувальницьким інтерфейсом, веб-служби та інші класи підключення, форматори та валідатори, перетягування, модальне вікно та стан компонентів. Ці класи знаходяться в пакеті mx. *. Як правило, коли розробники говорять "Flex" без будь-якої уточнюючої інформації, вони мають на увазі структуру Flex, а не продукт, який раніше називався Flex Builder.
У 2011 році Adobe подарувала Flex SDK Фонду програмного забезпечення Apache. Зараз він називається Apache Flex, і ним повністю керує спільнота, а не Adobe. Однак співробітники Adobe продовжують сприяти проекту, а Flash Builder (див. Нижче) продовжує підтримувати нові SDK, випущені проектом Apache Flex.
MXML - це мова розмітки на основі XML, що використовується компіляторами Flex для спрощення компонування та розміщення компонентів у контейнерах. Деревоподібна структура XML полегшує візуалізацію ієрархії утримання. MXML фактично перетворюється на ActionScript під час компіляції.
Flash Builder (раніше відомий як Flex Builder ) - це середовище розробки, яке дозволяє розробникам створювати різні типи проектів для створення SWF-файлів, які розгортаються у середовищі виконання Flash. Він побудований на платформі Eclipse і є більш звичним для інженерів програмного забезпечення. Flash Builder підтримує проекти, побудовані за допомогою Flex або чистого ActionScript. Проекти Flex включають систему Flex. Проекти ActionScript - це найосновніше, з чим можна працювати, починаючи з одного класу та порожнього полотна, а фреймворк Flex не входить.
Flash Builder не замінює Flash Professional. Деякі люди, які традиційно використовували Flash Professional, можуть замість цього використовувати Flash Builder. Часто це інженери-програмісти, які цінують або вимагають передових інструментів розробки, запропонованих Flash Builder, або не працюють з активами, розробленими у візуальному інструменті. Деякі розробники можуть писати свій код у Flash Builder, одночасно обираючи компіляцію своїх проектів у інструменті створення авторів Flash. Часто ці розробники також є дизайнерами, або вони працюють з іншими людьми, які є дизайнерами. У цій ситуації може бути багато графічних ресурсів, створених в інструменті створення авторів Flash, і перенести їх в інше середовище може бути важко або просто недоречно.
Фреймворк Flex спеціально розроблений для створення додатків. Він включає багато традиційних елементів керування формою (кнопки, списки, сітки даних тощо), і більша частина коду працює на вдосконаленій структурі компонентів, написаній на ActionScript. Не всі створюють такий вміст, який створений Flex, і Flex не замінює традиційні практики розробки Flash для всіх. Це кращий підхід для одних розробників, але може бути неправильним для інших. Більш важкі веб-сайти, такі як веб-сайти, створені для фільмів, музики, енергетичних напоїв, рекламних кампаній та подібних речей, мабуть, не повинні використовувати рамки Flex. Такі типи вмісту можуть більше підходити для Flash Professional або чистого проекту ActionScript у Flash Builder. Так само, маленькі віджети, які ви розміщуєте на бічній панелі вашого веб-сайту або у вашому профілі на веб-сайті соціальних мереж, можливо, доведеться створювати із чистим ActionScript (без фреймворку), оскільки їм потрібен менший розмір файлу, і їм, ймовірно, не потрібен великий комплекс архітектура компонентів, призначена для великих додатків. При націлюванні на середовища виконання Flash, ваше середовище розробки, фреймворки та робочий процес слід вибирати, виходячи з вимог і цілей вашого проекту.