Flash versus Flex

J’ai essayé de chercher partout une liste concise des avantages et des inconvénients de l’utilisation de Flex vs. Flash.

Venant d’un contexte de programmation, j’adore absolument Flex. C’est facile à prendre, et comme il peut utiliser des classes flash, pourquoi voudrais-je utiliser Flash sans flex?

Fléchir:

Avantages:

  • bon pour le développement RIA
  • fournit de nombreuses options de saisie par l’utilisateur
  • Construire un système de pose
  • le MXML est plus facile pour les non-programmeurs
  • Vous pouvez rapidement combiner des composants pour créer de petites applications
  • les composants peuvent constituer un avantage dans les projets à grande échelle en raison de leur nature modulaire.
  • peut être développé en utilisant Linux
  • a un bon cycle de vie des composants pour la validation, etc.

Les inconvénients:

  • augmente la taille de votre fichier .swf
  • La personnalisation de l’aspect des composants peut prendre beaucoup plus de temps que prévu, en fonction du style visuel recherché
  • Lorsque vous découvrez que vous avez besoin d’un composant personnalisé qui n’existe pas, vous devrez peut-être revenir à Flash pour effectuer le véritable travail de programmation et de packaging du composant.
  • La “flexibilité” de Flex signifie que vous allez lire beaucoup de documentation
  • Bugs dans le framework Flex
  • Vous devrez éventuellement faire un compromis avec l’architecture du framework Flex

Flash

Avantages:

  • bon pour faire des films / animations
  • La chronologie peut être plus facile à conceptualiser pour les concepteurs / animateurs
  • en travaillant à partir de zéro, fournit un grand contrôle.
  • plus facile pour quelqu’un avec une formation en programmation
  • Vous pouvez programmer ce que vous voulez; pas de compromis avec les frameworks existants

Les inconvénients:

  • fournit uniquement une entrée utilisateur de base (zone de texte) par défaut.
  • la chronologie peut être décourageante pour les programmeurs (même si vous pouvez l’ignorer en toute sécurité)
  • Le développement de certains types d’applications sera plus lent qu’avec Flex
  • ne peut pas être développé en utilisant Linux
  • La validation des entrées utilisateur doit être gérée dans le code. Pas de validation intégrée.
  • besoin de mettre en œuvre votre propre système de mise en page

S’il vous plaît corrigez-moi si j’ai raté quelque chose dit jusqu’ici.

Flash et Flex utilisent tous deux le même moteur de rendu sous-jacent, avec des interfaces différentes. Flash est mieux adapté à la création de films et d’animations. Flex est préférable pour le développement d’applications.

Du sharepoint vue du programmeur, la grande différence entre Flash et Flex n’est pas tant la définition de l’application / de l’application que vous utilisez pour la programmation, mais la programmation en ActionScript (AS) uniquement ou le framework Flex et MXML pour programmer vos applications.

Je dirais qu’ActionScript pur est meilleur pour la programmation (que vous utilisiez Flash IDE ou Flex IDE n’est pas pertinent), et MXML est préférable pour les non-programmeurs de combiner les composants programmés dans AS.

Je voudrais append à votre liste ces avantages / inconvénients:

Fléchir:

Avantages:

  • Plus facile pour les non-programmeurs de se lancer dans le développement d’applications
  • Vous pouvez rapidement combiner des composants pour créer de petites applications
  • Les composants peuvent constituer un avantage dans les projets à grande échelle

Les inconvénients:

  • La personnalisation de l’aspect des composants peut prendre beaucoup plus de temps que prévu, en fonction du style visuel recherché
  • Lorsque vous découvrez que vous avez besoin d’un composant personnalisé qui n’existe pas, vous devrez peut-être revenir à Flash pour effectuer le véritable travail de programmation et de packaging du composant.
  • La “flexibilité” de Flex signifie que vous allez lire beaucoup de documentation
  • Bogues dans le framework Flex
  • Vous devrez éventuellement faire un compromis avec l’architecture du framework Flex

Flash (ou Flex IDE en mode projet ActionScript):

Avantages:

  • Plus facile pour quelqu’un avec une expérience en programmation;)
  • Vous pouvez programmer ce que vous voulez; pas de compromis avec les frameworks existants

Les inconvénients:

  • La chronologie peut être intimidante pour les programmeurs (même si vous pouvez l’ignorer en toute sécurité)
  • Le développement de certains types d’applications sera plus lent qu’avec Flex

En bref: choisissez le bon outil pour la bonne tâche.

Flex est une bibliothèque de code écrite en ActionScript3, de sorte qu’elle ajoute de nombreuses fonctionnalités et des fonctionnalités de type bibliothèque standard à Flash. L’inconvénient est que c’est un code de montant huges qui est inclus dans votre application. Si vous utilisez un Flex du tout dans votre application, la taille de téléchargement du fichier SWF augmente de 100 pour K.

Si votre application possède des widgets d’interface utilisateur, vous devez presque utiliser Flex car Flash lui-même ne contient que les éléments les plus élémentaires, tels que les zones de texte. Flex possède une interface graphique XML complète avec des dispositions, une liaison de données et une configuration XML, etc.

En faisant cela en flash, vous finissez par écrire à partir de rien des choses comme des list box …

À mon avis, la caractéristique la plus importante du framework Flex est le cycle de vie des composants, qui fournit un modèle vraiment élégant pour la validation / invalidation des propriétés, la taille des composants et le rendu hiérarchique.

L’avantage pour les développeurs est qu’il crée des phases d’application discrètes pour la logique métier et le rendu, en évitant la géomésortinge et le code de rendu coûteux jusqu’au dernier moment avant de dessiner un cadre.

Voici une très bonne présentation, expliquant comment cela fonctionne:

http://tv.adobe.com/#vi+f15384v1002

Le modèle est si bien conçu que le cycle de vie des composants rest presque totalement invisible pendant la majeure partie du développement Flex, lorsque vous utilisez les composants et les conteneurs par défaut de l’infrastructure. Vous devez seulement apprendre le fonctionnement interne lorsque vous commencez à développer vos propres composants.

En développement dans l’environnement Flash, ou en Actionscript pur, vous n’obtenez rien de tout cela. Toute personne développant des applications AS3 pures doit soit coder très soigneusement pour séparer la logique métier du rendu, soit subir des performances considérablement réduites.

[…] pourquoi voudrais-je utiliser Flash sans flex?

Flex est un nouveau produit, alors que Flash existait depuis les journées Macromedia. Les concepteurs, les animateurs et la plupart des personnes qui ne sont pas formées à un régime de base en éducation à la programmation trouveront probablement Flash plus facile à maîsortingser que la plupart de ces solutions.

La cible est différente. Flex est plus dédié aux programmeurs alors que Flash est plus convivial pour les concepteurs Web / artistes.

Flash est l’IDE utilisé (généralement) pour créer des animations et des éléments qui fonctionnent bien sur une ligne de temps.

Flex fonctionne mieux pour créer des applications Internet dont les interactions s’apparentent davantage à celles d’un bureau.

Pourquoi utiliser Flash? Eh bien, si vous devez faire quelque chose de plus spécifiquement attaché à une chronologie, bien sûr!

Je vois Flex comme une solution pour faire des applications RIA dans lesquelles vous devez développer des solutions basées sur des applications. Il y a pas mal de choses à dire dès que vous utilisez Flex, mais cela a aussi un prix en termes de taille de fichier, de granularité, etc.

Si, d’autre part, vous travaillez sur une solution totalement personnalisée telle qu’un jeu, Flash est peut-être la solution, car vous pouvez commencer avec une canvas vierge. De nombreuses personnes utilisent encore Flash car elles n’ont pas besoin de toutes les fonctionnalités de la plate-forme Flex.

J’aime la liberté de Flash et son utilisation très simple dans Flash, un peu plus compliquée à faire dans Flex.

Une chose que j’aime dans le flex, c’est la possibilité de réaliser une application fluide avec un minimum d’effort. Ce qui prendrait pour toujours dans Flash.

Tout ce que vous pouvez faire en flex que vous pouvez faire en flash peut prendre beaucoup plus de temps. Vous ne pouvez pas tout faire en flex que vous pouvez faire en flash cependant.

Flex prend en charge toute la programmation de l’interface utilisateur et vous permet de vous concentrer sur la logique métier. Avec Flash, vous passerez la majeure partie de votre temps à programmer l’interface utilisateur.

Vous pouvez développer des applications Flex sous Linux facilement, mais avec Flash, vous ne pouvez tout simplement pas.

Une autre solution qui n’a pas été suggérée ici, sera de les utiliser toutes les deux. Vous pouvez append des composants flex aux clips vidéo en utilisant ContainerMovieClip . Et vous pouvez append des séquences vidéo flash à des composants flex à l’aide de SpriteVisualElement . Une autre chose qui n’a pas été mentionnée était la mise en page de votre application. Ce sera un avantage indéniable contre le désavantage du flash, car vous disposez d’un système de configuration flexible. Mais encore une fois, lorsque vous les utilisez tous les deux, vous pouvez configurer vos clips vidéo avec le système de mise en forme flexible.

De plus, flex deviendra le projet de niveau supérieur Apache . Et la communauté l’exclut de plus en plus.

Flash et Flex sont deux choses complètement différentes, l’une est un outil de conception prenant en charge le script d’action, l’autre est un framework qui contient également un script d’action mais est basé sur MXML, une définition d’interface utilisateur XML “Language”.