# Adobe Flex

Adobe Flex è stata la colonna portante per un gruppo di tecnologie inizialmente pubblicate a marzo 2004 da Macromedia (assorbita poi da Adobe) per supportare lo sviluppo e lo schieramento di applicazioni internet basate sulla loro piattaforma proprietaria Macromedia Flash poi diventata Adobe Flash, ufficialmente diventato obsoleto il 31 dicembre 2020.
I programmatori tradizionali di applicazioni hanno trovato impegnativo doversi adattare alla metafora di animazione su cui la piattaforma Flash originalmente è stata sviluppata. Flex cerca di minimizzare questo problema fornendo un workflow e un modello di programmazione noto a quegli sviluppatori.

## Caratteristiche

Flex inizialmente è stato pubblicato come una applicazione Java EE o JSP che compilano MXML e ActionScript al volo in applicazioni Flash (file binari SWF). Le versioni successive di Flex supportano la creazione di file statici che vengono compilati nella fase di creazione e possono essere pubblicate online senza la necessità di una licenza server.
L'obiettivo di Flex è quello di permettere un rapido e facile sviluppo di applicazioni Rich Internet application, meglio conosciute come RIA.
Flex utilizza per lo sviluppo di interfacce utente un linguaggio XML chiamato MXML. Flex è già provvisto di componenti e caratteristiche come Web service, remote object, drag and drop, colonne ordinabili, grafici, effetti animati precostruiti e altre semplici interazioni. Il client viene caricato una volta sola, il workflow è migliorato rispetto alle vecchie applicazioni HTML (eg. PHP, ASP, JSP, CFMX) le quali richiedono l'esecuzione di interi processi per ogni azione. Il linguaggio Flex e la sua strutturazione in sorgenti MXML per la GUI ed ActionScript per la Business Logic sono studiati per distinguere la logica della programmazione dal design implementando di fatto il design pattern MVC.
Inoltre, il server Flex funziona come gateway per permettere al client di comunicare con XML Web Services le Remote Objects (come CFC Coldfusion, classi Java, e qualsiasi altra cosa che integra Action Message Format).
Comunemente menzionati come alternative a Flex sono OpenLaszlo e AJAX.

## Prime versioni (Flex Server 1.0 e 1.5)

Le prime versioni di Flex avevano un target mirato alle imprese, la licenza si aggirava intorno ai $15000 per CPU. Ogni licenza include 5 Flex Builder.

## Adobe Flex 2

Flex 2 cambia il modello di licenza, per aprire un mercato gratuito chiamato "Flex Framework".
Il nuovo Flex Builder 2 si basa su IDE Eclipse. I servizi Enterprise continuano a essere disponibili per chi ha necessità di funzioni avanzate.
Flex 2 introduce l'uso di una nuova versione del linguaggio ActionScript, Actionscript 3, e richiede Flash Player 9 o superiore per il runtime.
Flex è il primo prodotto Macromedia a essere rinominato Adobe.

## Adobe Flex 3

A partire dalla versione 3, la tecnologia Flex è open source. Viene pubblicato un SDK con tale licenza, anche se il Flex Builder continua ad essere a pagamento.

## Adobe Flex 4

A partire dalla versione 4, Flex Builder cambia nome in Flash Builder 4. Il nuovo IDE dispone di funzionalità di debugging migliorate e di una finestra di esplorazione per dati e servizi (Data/Service Explorer) che effettua l'analisi dei servizi Java, PHP, ColdFusion, REST e SOAP e rende possibile il drag and drop dei metodi nei componenti dell'interfaccia utente.

## Versioni

* Flex 1.0 - marzo 2004
* Flex 1.5 - ottobre 2004
* Flex 2.0 (Alpha) - ottobre 2005
* Flex 2.0 Beta 1 - febbraio 2006
* Flex 2.0 Beta 2 - marzo 2006
* Flex 2.0 Beta 3 - maggio 2006
* Flex 2.0 FINAL - 28 giugno 2006
* Flex 2.0.1 - 5 gennaio 2007
* Flex 3.0 Beta 1 – 11 giugno 2007
* Flex 3.0 Beta 2 – 1º ottobre 2007
* Flex 3.0 Beta 3 – 12 dicembre 2007
* Flex 3.0 – 25 febbraio 2008
* Flex 3.1 – 15 agosto 2008
* Flex 3.2 – 17 novembre 2008
* Flex 3.3 – 4 marzo 2009
* Flex 3.4 – 18 agosto 2009
* Flex 3.5 – 18 dicembre 2009
* Flex 4.0 – 22 marzo 2010
* Flex 4.5 3 – maggio 2011
* Flex 4.6.0 – novembre 2011
* Flex 4.8.0 – 25 luglio 2012
* Flex 4.9.0 – 11 gennaio 2013
* Flex 4.9.1 – 28 febbraio 2013
* Flex 4.10.0 – 6 agosto 2013
* Flex 4.11.0 – 28 ottobre 2013
* Flex 4.12.0 – 10 marzo 2014
* Flex 4.12.1 – 3 maggio 2014
* Flex 4.13.0 – 28 luglio 2014
* Flex 4.14.0 – 28 gennaio 2015
* Flex 4.15.0 – 11 gennaio 2016
* Flex 4.16.0 – 14 marzo 2017