Aller au contenu

Apache Flex

Un article de Wikipédia, l'encyclopédie libre.
Apache Flex
Description de l'image Apache Flex logo.svg.

Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version et [1]Voir et modifier les données sur Wikidata
Dernière version 4.16.1 ()[2]Voir et modifier les données sur Wikidata
Dépôt git-wip-us.apache.org/repos/asf/flex-sdk.gitVoir et modifier les données sur Wikidata
Écrit en ActionScriptVoir et modifier les données sur Wikidata
Système d'exploitation Microsoft WindowsVoir et modifier les données sur Wikidata
Type Kit de développementVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web flex.apache.org et royale.apache.orgVoir et modifier les données sur Wikidata

Flex est une solution de développement créée par Macromedia en 2004 puis reprise par Adobe en 2006, permettant de créer et de déployer des applications Internet riches (RIA) multiplateformes grâce à la technologie Flash et particulièrement son lecteur. Son modèle de programmation fait appel à MXML (basé sur XML) et ActionScript 3.0, reposant sur ECMAScript.

La technologie Flex produit un fichier .swf intégré dans une page html. La richesse de l'interface graphique ainsi créée présente l'inconvénient, comme toute applet, de créer ici un fichier .swf sur le serveur un peu long à télécharger sur le poste client lors du chargement de la page.

Le , Adobe annonçait choisir la licence libre MPL 1.1 pour sa solution de développement Flex[3]. Adobe Flash Player, le lecteur multimédia sur lequel les applications Flex sont lues, et Adobe Flex Builder, l'IDE construit sur la plate-forme libre Eclipse utilisé pour développer des applications Flex, restent propriétaires.

Le , Adobe place Flex sous l'égide de la Fondation Apache[4].

Vue d'ensemble

[modifier | modifier le code]

Il était difficile pour les développeurs d'applications traditionnelles de travailler avec la plate-forme Flash même. En effet, celle-ci sert à la base à créer des animations. Flex cherche à minimiser ce problème en fournissant un modèle de programmation qui est familier à ces développeurs. MXML, un langage de description basé sur XML, offre la possibilité de créer rapidement une interface utilisateur. L'interactivité est créée par l'utilisation d'ActionScript 3.0, reposant sur le standard ECMAScript.

Le SDK Flex fournit de nombreux composants graphiques, dont des boutons, des listes, des arbres, des tableaux de données, et plusieurs conteneurs utilisés pour la mise en page de l'interface. Les graphiques (Flex Charting) sont disponibles en tant qu'extension. D'autres fonctionnalités comme les services Web, le glisser-déposer, les effets ou la validation de formulaires viennent compléter ce framework applicatif.

Dans une architecture trois tiers, les applications Flex représentent la couche présentation. Contrairement aux applications HTML, les applications Flex fournissent un client "stateful", c'est-à-dire que les changements de la vue ne requièrent pas le chargement d'une nouvelle page. De la même manière, Flex et le Flash Player offrent la possibilité d'envoyer et de recevoir des données depuis et vers un serveur sans que le client doive recharger la vue.

Historique des versions

[modifier | modifier le code]
  • Flex 1.0 -
  • Flex 1.5 -
  • Flex 2.0 (Alpha) -
  • Flex 2.0 Bêta 1 -
  • Flex 2.0 Bêta 2 -
  • Flex 2.0 Bêta 3 -
  • Flex 2.0 Final-
  • Flex 2.0.1 -
  • Flex 3.0 Bêta 1 -
  • Flex 3.0 Bêta 2 -
  • Flex 3.0 Bêta 3 -
  • Flex 3.0 -
  • Flex 3.1 -
  • Flex 3.2 -
  • Flex 3.5 -
  • Flex 4.0 -
  • Flex 4.1 -
  • Flex 4.5 -
  • Flex 4.5.1 -
  • Flex 4.6 -

Macromedia Flex Server 1.0 et 1.5

[modifier | modifier le code]

Macromedia a au départ ciblé le développement d'applications entreprise avec ses versions de Flex 1.0 et 1.5. Dans ces premières versions qui ne sont désormais plus disponibles, la compilation des fichiers SWF se faisait au niveau serveur. La licence par CPU était de 15000$US et comprenait 5 licences pour l'IDE Flex Builder.

Adobe Flex 2

[modifier | modifier le code]

Avec la sortie de Flex 2, Adobe a complètement modifié sa ligne de produit Flex. Le SDK Flex 2 a été mis à disposition gratuitement. Il contient un compilateur en ligne de commande (mxmlc) ainsi qu'une bibliothèque de composants graphiques et d'utilitaires. Les applications Flex peuvent être construites et déployées uniquement avec le SDK Flex 2.

Adobe a basé sa nouvelle version de Flex Builder sur la plate-forme Eclipse open-source. Flex Builder 2 était distribué en deux versions: Standard et Professionnelle. La version Professionnelle contient la bibliothèque de composants Flex Charting, utilisée pour la création de graphiques.

La composante serveur reste encore disponible grâce à Flex Data Services 2. Contrairement à Flex 1.0 et 1.5, Flex Data Services n'est pas requis pour déployer des applications Flex.

Avec la sortie de Flex 2, Adobe a introduit la nouvelle version de son langage de programmation ActionScript, ActionScript 3. L'utilisation d'ActionScript 3 et de Flex 2 requiert la version 9 ou ultérieure de Flash Player.

Adobe Flex 3

[modifier | modifier le code]

Le , Adobe a annoncé la sortie du SDK Flex 3 sous licence Mozilla Public License ainsi qu'Adobe AIR 1.0, sa solution RDA. Dans le même temps, Adobe a sorti le nouveau Flex Builder 3, toujours basé sur Eclipse, permettant de développer des applications Flex et Air.

Adobe Flex 4

[modifier | modifier le code]

Version disponible depuis . Cette version apporte une nouvelle bibliothèque de composants personnalisables nommée Spark ainsi que le support de fichiers FXG. Une nouvelle version du compilateur conçu par Adobe accompagne sa sortie, renommée en Flash Builder 4.

Adobe Flex 4.5

[modifier | modifier le code]

Sortie début , Flash Builder 4.5 intègre la version 4.5 du SDK Flex. La principale nouveauté réside dans la possibilité de compiler des applications mobiles pour Google Android, Apple iOS ou encore BlackBerry Tablet OS. Une version d'évaluation de 60 jours est disponible en téléchargement sur le site officiel.

Voici un exemple d'application Flex 3 utilisant MXML et ActionScript :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
  <mx:Script>
    <![CDATA[
      // Code ActionScript 3.0 directement intégré dans le fichier MXML
      // Ce code pourrait être placé dans un fichier séparé avec l'extension .as
      public function sayHello():void {
        lblResults.text = "Hello " + txtName.text;
      }
    ]]>
  </mx:Script>
  <mx:Panel x="10" y="10" width="306" height="200" layout="absolute" title="Say Hello">
    <mx:Label x="10" y="10" text="Entrez votre nom :"/>
    <mx:TextInput x="10" y="36" id="txtName"/>
    <mx:Button x="178" y="36" label="Dis Bonjour!" click="sayHello()"/>
    <mx:Label x="10" y="66" id="lblResults"/>
  </mx:Panel>
</mx:Application>

Ce code dessine un formulaire permettant à un utilisateur de saisir son nom puis d'afficher "Hello + [le nom saisi]" lorsque l'on clique sur le bouton "Dis Bonjour!".

Le même exemple avec Flex 4 et en utilisant les composants Spark :

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                  xmlns:s="library://ns.adobe.com/flex/spark"
                  xmlns:mx="library://ns.adobe.com/flex/mx">
  <fx:Script>
   <![CDATA[
   // Code ActionScript 3.0 directement intégré dans le fichier MXML
   // Ce code pourrait être placé dans un fichier séparé avec l'extension .as
   public function sayHello():void {
    lblResults.text = "Hello " + txtName.text;
   }
  ]]>
  </fx:Script>
  <s:layout>
    <s:BasicLayout />
  </s:layout>
  <s:Panel x="10" y="10" width="306" height="200" title="Say Hello">
   <s:layout>
     <s:BasicLayout />
   </s:layout>
   <s:Label x="10" y="10" text="Entrez votre nom :"/>
   <s:TextInput x="10" y="36" id="txtName"/>
   <s:Button x="178" y="36" label="Dis Bonjour!" click="sayHello()"/>
   <s:Label x="10" y="66" id="lblResults"/>
 </s:Panel>
</s:Application>

Liens externes

[modifier | modifier le code]

Références

[modifier | modifier le code]