# Apache Flex

Apache Flex (conegut anteriorment com a Adobe Flex i inicialment com a Macromedia Flex) és un conjunt de programari de desenvolupament que agrupa una sèrie de tecnologies publicades des del març de 2004 per Macromedia per a donar suport al desplegament i desenvolupament d'Aplicacions Enriquides d'Internet, basi inicialment com a ades en la seva plataforma propietària Flash.
Els programadors tradicionals d'aplicacions veuen com un desafiament adaptar la metàfora de l'animació sobre la plataforma amb la qual va anar originalment construït Flash. Flex minimitza elegantment aquest problema proveint un flux de treball i un model de programació que és familiar als desenvolupadors d'aplicacions.
Flex fou inicialment alliberat com una aplicació de la J2EE o biblioteca d'etiquetes JSP que compilara el llenguatge de marques Flex (MXML) i executara mitjançant ActionScript aplicacions Flash (arxius SWF binaris). Versions posteriors de Flex suporten la creació d'arxius estàtics que són compilats, i que poden ser distribuïts en línia sense la necessitat de tenir una llicència de servidor.
L'objectiu de Flex és permetre als desenvolupadors d'aplicacions web construir ràpida i fàcilment Aplicacions Enriquides d'Internet, també dites RIAs. En un mòdel multi-capa, les aplicacions Flex són el nivell de presentació.
Flex posa en relleu el desenvolupament d'Interfícies gràfiques d'usuari usant un llenguatge XML dit MXML. Flex té diversos components i característiques que aporten funcionalitats tals com Serveis Web, objectes remots, arrossegar i deixar anar, columnes ordenables, gràfiques, efectes d'animació i altres interaccions simples. El client només ha de carregar l'aplicació una vegada, millorant així el flux de dades enfront d'aplicacions basades en HTML (ex.PHP, ASP, JSP, CFMX), les quals requereixen executar plantilles en el servidor per a cada acció. El llenguatge i l'estructura d'arxius de Flex cerquen el desacoplament de la lògica i el disseny.
El servidor Flex també actua com un gateway permetent al client comunicar-se amb serveis web XML i objectes remots (tals com Coldfusion CFCs, classes Java, i qualsevol que suporte el format de missatges d'accions).
Les alternatives a Flex són (entre altres) Google Web Toolkit, JavaFX, OpenLaszlo i Silverlight de Microsoft.

## Flex 2

Flex 2 canvia el model de llicències per a obrir la porta a una versió lliure d'aquesta tecnologia, denominada "Flex Framework".
El nou Flex Builder 2 està basat en l'entorn de desenvolupament Eclipse. Els serveis orientats a empreses seguiran estant disponibles per a aquells que necessiten característiques avançades, tals com el testeig automàtic.
Flex 2 introdueix l'ús d'una nova versió del llenguatges de scripts ActionScript, Actionscript 3, que requereix reproductor Flash 9 o posterior per al seu funcionament.
Flex serà el primer producte de Macromedia a ser etiquetat com a producte d'Adobe, començant per la versió 2.0.

## Flex i ColdFusion

Macromedia integra un subconjunt de Flex 1.5 en la seua plataforma Coldfusion MX 7, per a usar-lo en formularis Flash. És possible usar aquesta aplicació per a escriure aplicacions d'internet riques, no obstant la seua intenció original és solament enriquir formularis i aquesta funcionalitat no és suportada per Macromedia.

## Procés de desenvolupament d'una aplicació Flex

Les dades mostrades a continuació han estat extrets directament de l'arxiu d'ajuda de la versió 2.0 Beta 3:
* Definir una interfície d'aplicació usant un conjunt de components pre-definits (formularis, botons…).
* Ordenar aquests components en el disseny de la interfície d'usuari.
* Usar estils i temes per a definir el disseny visual.
* Afegir comportament dinàmic (una part de l'aplicació interaccionant amb una altra, per exemple).
* Definir i connectar a serveis de dades segons siga necessari (serveis http).
* Compilar el codi font en un arxiu SWF que funcione en el reproductor Flash.

## Historial de versions

* Flex 1.0 - març de 2004
* Flex 1.5 - octubre de 2004
* Flex 2.0 (Alpha) - octubre de 2005
* Flex 2.0 Beta 1 - febrer de 2006
* Flex 2.0 Beta 2 - març de 2006
* Flex 2.0 Beta 3 - maig de 2006
* Flex 2.0 FINAL - 28 de juny de 2006
* Flex 2.0.1 - 5 de gener de 2007
* Flex 3.0 Beta 1 - 11 de juny de 2007
* Flex 3.0 Beta 2 - 1 d'octubre de 2007
* Flex 3.0 Beta 3 - 12 de desembre de 2007
* Flex 3.0 - 25 de febrer de 2008
* Flex 4.0 Beta 1 - 2 de juny de 2009
* Flex 4.0 Beta 2 - 22 de setembre de 2009
* Flex 4.0 FINAL - 21 de març de 2010
* Flex 4.1 Update - 30 de juny de 2010

## Vegeu també

* Pikeo un lloc de foto en Flex 2.0
* XUL
* Thin client
* XAML
* Reproductor Flash
* OpenLaszlo
* CascariCo
* Mxml

## Enllaços externs

* Lloc Web Oficial d'Adobe Flex (anglès)
* Ajuda en Adobe Flex 3 Arxivat 2008-12-05 a Wayback Machine. (anglès)
* Flex.org Components Arxivat 2008-11-20 a Wayback Machine. (anglès)
* Llista d'APIs, Llibreries & Components Arxivat 2008-12-03 a Wayback Machine. (anglès)