Apache Flex
Apache License Version 2.0 (починаючи з версії 4.8.0)
Flex розширює базові можливості Flash, дозволяючи описувати інтерфейс програми на XML, прискорюючи та спрощуючи процес розробки насичених веб-додатків. Логіка програми пишеться на ActionScript 3. Результатом компіляції є файл SWF, призначений для виконання у браузері (на платформі Flash Player) або як самостійний додаток (на платформі AIR). Flex-додаток може компілюватися на сервері (для цього потрібно mod_flex.so або mod_flex.dll залежно від ОС і веб-сервера), а може - з IDE або безпосередньо з командного рядка за допомогою компілятора mxmlc (починаючи з Flex 2), як і у Flash, результатом є файл swf, що виконується у Flash Player.
Зміст
Flex – це великий набір класів, які розширюють можливості Flash. Flex-framework включає можливості локалізації, стилізації програми, розробки модульної програми, вбудовані валідатори та форматори текстових полів — всі інструменти, які потрібні розробникам додатків, що працюють online.
Переваги
Інтегроване середовище розробки Adobe Flash Builder (раніше відоме як Flex Builder), яке забезпечує більш високу продуктивність, створене на вільно розповсюджуваній платформі розробки Eclipse. Оскільки багато розробників вже використовують Eclipse при програмуванні Java, Flex Builder 2 надає їм знайоме середовище для створення і Java-додатків, і повнофункціональних клієнтів.
Flex, окрім швидкості розробки, надає повні мультимедійні можливості Flash Platform: включаючи потокове мультимедіа, можливість отримати доступ до веб-камери та мікрофону користувача, бінарні сокети, великі можливості мережевих комунікацій (HTTP-запити, веб-послуги, вбудований формат серіалізації AMF), оперування координатами тривимірного простору, можливості використання вбудованих фільтрів (таких як розфокусування, падаюча тінь та ін.), та написання власних.
Завдяки Flex веб-сервіси можуть використовуватися для зв'язку з сервером при частому зверненні до даних при невеликому корисному навантаженні. Для більш ресурсоємних програм Adobe пропонує програмне забезпечення Flex Data Services 2 Express, яке може підтримувати зв'язок між джерелом даних та рівнем представлення. Flex Data Services 2 здатний передавати дані із сервера на клієнт. Серверний компонент може, наприклад, витягти дані із серверної програми SAP і надіслати їх клієнту. Тепер функції Flex Presentation Server вбудовані у Flex Data Services.
Ще одна незаперечна перевага технології Flex, тісно пов'язана з перевагами ActionScript 3 — це можливість OpenSource розробки Flash-проектів без використання Adobe Flash Professional, за допомогою «чистого» програмування. При цьому Flash-розробка стає принципово доступною навіть на Unix-платформах.
Недоліки
Робота flex-framework заснована на відносно велику кількість власного AS3-коду. Для зразкової оцінки: стандартний набір класів, що включається за замовчуванням у кожну flex-додаток, що розробляється, займає більше 700 кілобайт у підсумковому swf-файлі. Таким чином, загальний обсяг коду, необхідний виконання flex-додатка, помітно збільшується. У пізніших версіях флеш-плеєра реалізований механізм, який дає можливість використовувати класи flex, не включаючи їх у кожен окремий swf. При першому запуску такого swf флеш-плеєр підвантажить необхідні файли з офіційного сайту у відведений для цього кеш флеш-плеєра. Проте,підвантаження додаткових файлів із зовнішнього джерела в деяких випадках є неприйнятним або небажаним. У цьому випадку, компоненти flex-framework повинні бути скомпільовані і додані безпосередньо до swf-файлу, що помітно збільшує розмір swf-файлу, якщо йдеться про «легковагові» додатки.
Flex SDK, що надається Adobe, є безкоштовним набором інструментарію (framework) з повністю відкритим вихідним кодом (Open Source). Для роботи з процедурами та класами цього фреймворку (написання коду, налагодження, компіляція у виконуваний код) потрібно платне або безкоштовне програмне забезпечення (див. посилання нижче).
Компанія Adobe вирішила відкрити вихідний код середовища Flex до кінця 2007 року і розпочати розповсюдження цього продукту на умовах Mozilla Public License (MPL). Відомо, що у відкриту версію Flex будуть входити програмне забезпечення для створення відповідних програм, набір бібліотек та компіляторів, засіб для розробки, що інтегрується в середовище Eclipse IDE, а також система Flex Data Services, призначена для роботи з базами даних.