Le plus souvent, une fois que vous avez choisi vos outils, vous ne pouvez pas en changer. La réévaluation devrait avoir lieu quand vous commencez un nouveau projet (ou une nouvelle phase d'un projet en cours).

Il est important de regarder en arrière vers ce qui a marché et ce qui n'a pas marché dans votre dernier projet et d'appliquer votre expérience au nouveau. Lorsque vous êtes en plein développement, il faut juste faire fonctionner les choses comme vous pouvez, sans douter de vos premières décisions. En tant que développeur, il est tentant de tomber dans le piège de s'en tenir à ce que l'on connait. Le passage de AS2 à AS3 a forcé les développeurs Flash à apprendre une quantité de nouveaux concepts de programmation et de patrons de conceptions. Je pense qu'il faudrait que les développeurs PHP fassent pareil !

AJAX est favorisé par rapport à Flash.

AJAX est pris en charge par tous les navigateurs. Beaucoup de contrôles du navigateur peuvent être scriptés (par exemple la barre des tâches, le bouton Précédent,...) A l'inverse de Flash pour lequel un plug-in est requis même si maintenant, on le trouve presque partout. De plus, le contenu Flash est limité à une zone rectangulaire même si elle peut être ajusté à la taille de la fenêtre du navigateur.

On peut également citer le fait que côté intégration serveur, c'est à nouveau AJAX le gagnant car la plupart des plates-formes d'arrière-plan fournissent une intégration homogène à AJAX, dont la génération de code. Au contraire de Flash pour lequel malgré une intégration prononcée, celle-ci se fait comme une arrière-pensée. Aucune solution disponible pour la génération dynamique de contenu Flash n'est vraiment simple.

Un autre avantage d'AJAX consiste en l'accès direct au DOM (Document Object Model). Les mises en page fixes et liquides sont prises en charge. Tandis que les mises en pages fixes sont la seule norme pour Flash, bien que de nouveaux éléments aient ouvert la porte à des mises en pages plus flexibles.

Côté AJAX toujours, on peut compter le fait est la meilleure solution pour niveau optimisation pour les moteurs de recherche (SEO). AJAX contrôle plus facilement les éléments meta, les URL de navigateur et autres contenus auxquels les moteurs de recherche prêtent attention.

Une part aujourd'hui non négligeable, la prise en charge d'AJAX par les téléphones mobiles. Même si Adobe présente Flash Lite qui possède une pénétration limité parmi les combinés et s'appuie sur un modèle de programmation démodé. Et pas de prise en charge de l'iPhone.

Enfin, et pas des moindres, la totale prise en charge des feuilles de styles complexes par AJAX tandis quecôté Flash, les applications peuvent être stylées avec CSS mais la prise en charge est limitée et n'est pas standardisée. La plupart des applications Flash n'utilisent pas CSS.

Flash a plutôt une image négative dans les cercles de développeurs. Les développeurs associent souvent Flash à des publicités animées énervantes et à des introductions animées. Ne parlons pas de la difficulté de référencer du contenu Flash. Flash est également critiqué pour ne pas être assez "ouvert". L'ouverture est toutefois une épée à double tranchant.

Le principal obstacle à l'évolution d'AJAX, une intégration étroite au navigateur Web, fait aussi partie de sa force. Le langage JavaScript n'a pas changé de façon significative en plus de dix ans. Les améliorations majeures doivent être approuvées par Microsoft, Apple, Mozilla et les autres gros joueurs dans le monde des navigateurs. ActionScript, par contre, puisqu'il est dirigé par une unique compagnie, a été capable d'évoluer et de s'adapter aux nouvelles circonstances, telles que l'explosion de la vidéo en ligne.

Il y a d'autres bons points pour Flash et font défaut à AJAX en comparaison mais je ne suis pas assez connaisseur de Flash pour informer. On peut cependant citer la compatibilité, les polices, les images tramées, les images vectorielles, le son, la vidéo, le modèle de programmation ou encore les outils de développement.

La solution serait peut être Flash et AJAX. Par exemple, peu de projets Flash peuvent être terminés sans un petit peu de JavaScript, que ce soit pour établir des cookies, des SEO, ou pour interagir avec une partie statique de la page Web.