Apache Flex, по-рано Adobe Flex е комплект за разработка (SDK) за изграждане на междуплатформени Rich Internet Applications на базата на Flash. Разработен първоначално от Macromedia и след това придобит от Adobe Systems, Apache Flex е дарен от Adobe на Apache Software Foundation Foundation през 2011 г. Членовете на ASF гласуваха да го включат в Apache Incubator и шест месеца по-късно, през юли 2012 г., пуснаха нова версия (4.8.0).
Apache Flex предоставен от Adobe е безплатен набор от инструменти (Framework), който е с напълно отворен код (Open Source ). За да работите с процедурите и класовете на тази рамка (писане на код, отстраняване на грешки, компилиране в изпълним код), ще ви е необходим платен или безплатен софтуер.
Компанията Adobe е решила да отвори кода на Apache Flex рамката до края на 2007 г. и да започне да разпространява този продукт при условията на Mozilla Public License (MPL). Известно е, че версията с отворен код на Flex ще включва софтуер за създаване на съответните приложения, набор от библиотеки и компилатори, инструмент за разработка, интегриран в Eclipse SDK, и система за бази данни Flex Data Services.
Apache Flex разширява основните възможности на Flash, като позволява интерфейсът на приложението да бъде описан в XML, ускорявайки и опростявайки процеса на разработване на богати уеб приложения. Логиката на приложението се записва на ActionScript 3. Резултатът от компилацията е файл SWF, предназначен за работа в браузър (на платформата Adobe Flash Player ) или като самостоятелно приложение (на платформата Adobe AIR ). Flex-приложението може да се компилира на сървъра (за това ще са необходими mod_flex.so или mod_flex.dll в зависимост от операционната система и уеб сървъра) или може да се компилира от IDE или директно от командния ред с помощта на компилатора mxmlc (започвайки с Apache Flex 2), както в Flash, резултатът е файл SWF, изпълним в Adobe Flash Player.
Разликите между Flex и Flash
Flex – е голям набор от класове, които разширяват възможностите на Flash. Flex Framework включва възможности за локализация, стилизиране на приложения, модулна разработка на приложения, вградени валидатори и форматиращи текстови полета – всички инструменти, от които се нуждаят разработчиците на онлайн приложения.
Инструментите за създаване на RIA (Rich Internet Application ) са базирани на Flex Framework (Adobe Flash Catalyst, Adobe Flex, Aptana Studio, и т.н. ). Инструментите за анимация и графика използват само основните възможности на Flash (така че банерите и медийните реклами се правят, без да се използва Apache Flex ).
Компоненти на Apache Flex
Предимства на Apache Flex
Тъй като много разработчици вече използват Eclipse SDK, когато програмират на Java, Flex Builder 2 им предоставя позната среда за изграждане както на Java-приложения, така и на пълнофункционални клиенти.
това включва стрийминг на мултимедия, възможност за достъп до уебкамерата и микрофона на потребителя, двоични сокети, широки възможности за мрежова комуникация (HTTP-заявки, уеб услуги, вграден формат за сериализация AMF), манипулиране на 3D координати, възможност за използване на вградени филтри (като разфокусиране, капковидна сянка и др.), както и за писане на собствени.
За по-интензивни приложения, свързани с данни, Adobe предлага софтуер Flex Data Services 2 Express, който може да поддържа комуникация между източника на данни и презентационния слой.
Един сървърен компонент може например да извлича данни от сървърно приложение SAP иза да ги препратите към клиента. Функциите Flex Presentation Server вече са вградени в Flex Data Services.
По този начин разработката на Flash-става принципно достъпна и за платформите UNIX-.
Недостатъци на Apache Flex
За приблизителна оценка: стандартният набор от класове, включени по подразбиране във всяко приложение, разработено на Flex-, заема повече от 700 килобайта в крайния SWF-файл. По този начин общият обем на кода, необходим за изпълнението на едно приложение Flex-, се увеличава забележимо. В по-късните версии на flash-player е имплементиран механизъм, който позволява да се използват класове Flex, без да се включват във всеки отделен SWF.. При първото стартиране на такъв SWF, flash-player ще зареди необходимите файлове от официалния сайт в кеша, отделен за този flash-player. В някои случаи обаче зареждането на допълнителни файлове от външен източник е неприемливо или нежелателно. В този случай компонентите на Flex Framework трябва да бъдат компилирани и добавени директно към SWF-файла, което значително увеличава размера на SWF-файла, ако става дума за „олекотени“ файловеприложения.


