Question

Ajax, Fléchir et Lumière argentée Il existe quelques façons de créer des applications Web plus interactives.Quels types de facteurs prendriez-vous en compte pour décider lequel utiliser pour une nouvelle application Web ?

L'un d'entre eux offre-t-il une meilleure compatibilité multiplateforme, de meilleures performances, des outils de développement ou un support communautaire ?

Était-ce utile?

La solution

Voici un aperçu rapide de chaque domaine (avec de nombreux liens utiles) :

Compatibilité multiplateforme

Ajax travaille dans n'importe quel navigateur moderne qui peut courir Javascript.Flex nécessite Flash ou tout autre élément capable de gérer SWFs mais, une fois installé, c'est un freeride total en ce qui concerne la compatibilité.Silverlight est délicat et incompris alors réfléchissez bien à votre base d'utilisateur avant de se lancer dans cette incursion de MS dans la course aux armements pour les applications Web riches.Gardez également à l’esprit que Silverlight est toujours en version bêta, il pourrait donc devenir plus largement utilisé et installé à l’avenir au fur et à mesure de son développement.

Performance

J'ai peur de faire trop de déclarations sur les performances, car cela dépend vraiment de votre volonté d'optimiser et de la nature exacte de votre application.De plus, certaines piles technologiques ne seront jamais très rapides. Certaines personnes ont fait des comparaisons, mais, cela dépend de beaucoup de facteurs (même la version du navigateur à partir de laquelle vous testez !).Il est probablement préférable de choisir en fonction d'autres facteurs et d'optimiser une fois que vous avez commencé à vous développer.

Outils de développement

Il existe les outils de développement « de référence » pour chacun des trois :

  • Ajax propose des options fondamentalement illimitées, en fonction du reste de vos choix technologiques et architecturaux.Les grandes questions auxquelles vous êtes confronté sont de savoir sur quelles bibliothèques s'appuyer, et Google a exprimé une réponse assez bien adoptée avec des choses comme Boîte à outils Web.Au fond, il ne s'agit que de XML et de JavaScript, n'est-ce pas ?

  • Flex vient d'Adobe et, tout comme pour le développement Flash, vous feriez mieux de vous en tenir à leurs outils maison parce que – eh bien – ils établissent les normes au fur et à mesure.

  • Microsoft a positionné les versions 2.0 et 2.5 de Microsoft Expression Blend pour concevoir respectivement l'interface utilisateur des applications Silverlight 1.0 et 2.Visual Studio 2008 peut être utilisé pour développer et déboguer des applications Silverlight (de Wikipédia).

Soutien communautaire

Il existe un support communautaire officiel et non officiel, d'entreprise et open source pour les trois options.Ce dans quoi vous êtes déjà intégré et ce qui vous fait vous sentir le plus à l'aise sont des choses très individuelles, mais je vais vous donner ce conseil :Respectez ce que vous savez.Si vous êtes un développeur MS et que vous avez MSDN comme page d'accueil, vous penserez probablement que Documentation Silverlight et les forums sont vraiment utiles.Flex a une histoire très similaire ;les forums sont plutôt bons et si vous êtes déjà un adepte de Flash, vous serez à l'aise avec leur Documentation et communauté d'utilisateurs.

D’un autre côté, Ajax est pratiquement partout car vous pouvez implémenter de nombreuses manières différentes et utiliser de nombreuses bibliothèques très variées.Chaque bibliothèque peut avoir ses propres forums à visiter et ses propres listes de diffusion dans lesquelles se cacher pour obtenir des réponses.

Une fois de plus, tous les trois ont des entreprises géantes qui tentent de favoriser leurs communautés et d'obtenir le meilleur soutien possible aux développeurs, ce qui leur donnera une plus grande part de marché à l'avenir.

Autres conseils

Le choix devrait, à mon avis, être principalement basé sur la nature de l'application que vous allez créer (par exemple, si vous devez manipuler des graphiques vectoriels, Ajax est quasiment exclu), mais voici quelques directives générales :

Ubiquité

  1. Ajax – Supporté par tous les navigateurs modernes sur toutes les plateformes
  2. Flex - Runtime (Flash Player) dispose d'une base installée très large pour Windows, Mac OS, Linux.La version Linux était un peu boguée la dernière fois que j'ai vérifié, cependant
  3. Silverlight -- Runtime a une base installée assez faible (et pas de support Linux) pour le moment

Choix du langage de programmation

(Sans ordre en raison de la subjectivité, mais notez que Silverlight offre le plus de choix.Notez également que l'expérience linguistique existante des développeurs de votre équipe doit être prise en compte.)

  • Lumière argentée :Tout langage .NET (C#, Visual Basic, IronPython(?), IronRuby(?)) (et XAML pour la définition de l'interface utilisateur)
  • Ajax :JavaScript (et XHTML pour la définition de l'interface utilisateur)
  • Fléchir:ActionScript 3 (et MXML pour la définition de l'interface utilisateur)

Stabilité et compatibilité des API

  1. Flex – Le runtime est le même sur toutes les plates-formes et sur les navigateurs, plus mature et stable pour le moment que Silverlight
  2. Silverlight -- Le runtime est le même sur toutes les plateformes et sur tous les navigateurs, moins mature que Flex/Flash, la v2.0 est toujours en version bêta
  3. Ajax – Problèmes de compatibilité entre les navigateurs (peuvent cependant être atténués via les bibliothèques Ajax)

Intégration Web/navigateur

  1. Ajax – Le contenu est natif dans le navigateur, basé sur les normes :consultable par les navigateurs et les robots des moteurs de recherche, sous réserve de toutes les pratiques d'interface utilisateur standard établies par le navigateur et le système d'exploitation
  2. Flex et Silverlight – Contenu non natif du navigateur (c.-à-d.fonctionne dans son propre petit "bac à sable/rectangle") :pas nécessairement soumis aux pratiques d'interface utilisateur établies pour la plate-forme donnée

Outils de développement

  1. Ajax – Votre éditeur de code, navigateur et boîte à outils de débogage préférés pour le navigateur
  2. Flex – Flex SDK est disponible gratuitement pour Windows, Mac OS et Linux et peut être utilisé avec votre éditeur de code préféré.Un débogueur de ligne de commande est inclus, mais le profileur fourni par Adobe n'est disponible que dans l'IDE commercial Flex Builder.
  3. Lumière argentée -- Autant que je sache, Le SDK est disponible gratuitement pour Windows et peut être utilisé avec vos outils de développement .NET préférés

Les environnements d'exécution Web comme Flex et Silverlight offrent tous des fonctionnalités intéressantes, mais entraînent deux coûts importants :

  • Ils s'exécutent uniquement dans un rectangle sur la page et n'interagissent pas avec les widgets Web normaux.
  • Ils ne sont disponibles que pour les personnes sur lesquelles ce plug-in est installé

Même Flash, presque omniprésent, n'est pas installé sur tous les navigateurs Web. Par conséquent, en choisissant d'utiliser un environnement d'exécution de plug-in, vous excluez une partie de votre audience.

En revanche, JavaScript (ou Ajax) est disponible sur presque tous les navigateurs et interagit mieux avec les pages Web normales, mais il s'agit d'un langage plus primitif et plus restrictif.L'utiliser pour des animations complexes peut être délicat et vous devrez tester vos applications dans plus de versions sur plus de plates-formes pour vous assurer qu'elles fonctionnent.

La compatibilité multiplateforme n'est plus le problème qu'elle était auparavant, le problème est donc le suivant : Gagnerez-vous plus en fonctionnalités d’une bibliothèque de plug-ins que vous n’en perdrez en termes d’audience que vous excluez ?

Jusqu'à présent, ma propre réponse a toujours été JavaScript/Ajax, mais je réévaluerais cela dans tout nouveau projet.

Quelle est votre audience :un site Web public ou une application professionnelle intranet ?Les taux d'adoption ne sont pas pertinents si vous disposez d'une audience contrôlée qui installera ce qui est nécessaire pour exécuter votre application.Cependant, si vous avez besoin du public le plus large possible pour faire de votre startup Web un succès, cela peut être essentiel.

Quel est ton but?Construire quelque chose au moindre coût ?Apprendre une nouvelle technologie ?

Pouvez-vous tirer parti de vos compétences existantes ?Si vous connaissez déjà .NET, Silverlight bénéficie d'un coup de pouce.Learning Flex peut être intéressant et utile, mais vous est-il plus utile qu’une plus grande expérience des technologies .NET ?N’oubliez pas de considérer le coût d’opportunité de l’apprentissage de quelque chose de totalement nouveau.

Je ne vois pas de gagnant technologique clair à ce stade, et il n’y en aura probablement pas avant longtemps, le choix dépendra donc de facteurs assez subjectifs.

Outre ce qui a déjà été mentionné ici, une autre chose importante à considérer est ce que sera votre interface utilisateur.

Si vous envisagez d'utiliser de nombreux contrôles d'interface utilisateur avancés tels que des arbres, des listes, des contrôles d'onglets, etc., tenez compte des éléments suivants :

  • JavaScript/HTML - Aucune prise en charge native pour quoi que ce soit au-delà des listes déroulantes, des boutons et des champs de texte de base.Si vous voulez quelque chose comme un contrôle d'arborescence ou un contrôle d'onglet, vous devrez créer le vôtre ou trouver une bibliothèque tierce.

  • Adobe ActionScript - Prise en charge native d'un large éventail de contrôles avancés de l'interface utilisateur

  • Silverlight - 1.0 avait des contrôles d'interface utilisateur très limités, mais 2.0 en ajoutera beaucoup plus et je suis sûr que nous continuerons à voir des contrôles ajoutés dans les prochaines versions.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top