Adobe AIR, Microsoft Silverlight, JavaFX et Mozilla Prism What Que pensez-vous de ce concours?


Il y a beaucoup de questions sur S. O. à propos de JavaFX vs Silverlight vs AIR, et maintenant Prism va être publié.

Ce sont quatre technologies différentes avec un objectif similaire. Je pensais que nous pourrions rassembler les principaux points-avantages et inconvénients - pour considérer l'un ou l'autre dans une question wiki communautaire.

Essayez de garder le niveau flamboyant à son plus bas possible, merci.

Author: Fernando Briano , 2010-01-18

3 answers

Prism a l'énorme avantage d'être basé sur une plate-forme existante très familière (le web), avec une base de développeurs existante massive et une faible barrière à l'entrée. Elle est cependant contrainte par le fait que ladite plate-forme n'est pas initialement destinée au développement d'applications. (HTML5 promet beaucoup, mais (hors vidéo) en réalité offre peu au-delà des fonctionnalités communes aux API de bureau depuis le premier Apple Mac.)

Silverlight a l'avantage d'être soutenu par Microsoft, avec leur énorme les ressources de développement et la capacité de pousser le runtime sur 85%+ des ordinateurs de bureau du monde s'ils le voulaient. Il a l'inconvénient d'être soutenu par Microsoft, avec tout le bagage politique qui suit naturellement.

JavaFX a l'avantage d'être conçu à partir de zéro comme une solution RIA dédiée et propre, plutôt que d'être assemblé à partir de langages et de formats existants. Il peut également s'appuyer sur le nombre massif de bibliothèques Java existantes. Elle a l'inconvénient de être en retard dans le jeu et obliger les développeurs à apprendre une nouvelle façon de coder les interfaces graphiques.

AIR a l'avantage de pouvoir utiliser la base d'installation Flash existante pour pousser l'adoption de son runtime, et une courbe d'apprentissage relativement légère pour l'énorme armée de développeurs Flash existants souhaitant sortir du web. Son inconvénient réside dans ses racines dans la communauté du design / graphisme, ce qui signifie qu'il a historiquement eu une adoption limitée dans les cercles de programmation "sérieux" et (par conséquent) un nombre minuscule de bibliothèques tierces et d'API open source prenant en charge.

En conclusion: Prism est cool si votre application n'aura jamais besoin d'être plus qu'une page Web de fantaisie, Silverlight est cool si vous pouvez supporter la paranoïa entourant Microsoft dans certains cercles, JavaFX est cool si cela ne vous dérange pas d'apprendre un nouveau DSL, et AIR est cool si votre application n'aura jamais besoin de faire

 6
Author: Simon Morris, 2010-01-18 20:57:12

Silverlight est assez différent de l'AIR et du Prisme que la comparaison ici pourrait devenir très confuse. Je ne suis pas vraiment qualifié pour parler sur JavaFX, mais je connais suffisamment les trois autres pour savoir que je ne les comparerais pas directement.

Silverlight est un plugin de navigateur avec des fonctionnalités très intéressantes qui peuvent entrer en jeu lorsqu'il est retiré du navigateur. Du côté du déploiement, une seule application est développée, qui peut être exécutée dans une page Web (toujours la valeur par défaut) ou installé sur le bureau, bien que les applications conçues pour l'installation puissent être sévèrement restreintes (ou potentiellement non fonctionnelles) jusqu'à ce qu'elles soient installées. La meilleure comparaison est probablement la combinaison de Flash et AIR, avec l'avantage d'offrir une solution aux applications qui bénéficient d'une solution plus hybride (la transition du Web au bureau est un chemin simple pour un consommateur, qui peut essayer l'application puis l'installer de manière transparente pour peut-être plus fonctionnalité).

AIR est le côté bureau de la plate-forme de développement d'Adobe; le côté installé de Flash. Comme Simon le mentionne, il a de sérieuses racines dans la communauté du design et est probablement une solution très attrayante pour les développeurs Flash qui cherchent à tirer parti de leurs connaissances Actionscript existantes et à étendre au-delà des restrictions d'une application dans le navigateur. J'ai entendu AIR appelé "plate-forme client Twitter", ce qui est injuste dans l'esprit (même si cela reflète le plus commun utilisation), bien que cela indique le fait que la visualisation des données est probablement la plus grande force de l'AIR. Silverlight le fait également, mais dispose également de bibliothèques plus robustes pour manipuler les données, ce qui est moins simple (à mon avis) dans Actionscript.

Prism est nouveau, ce qui lui donne tous les avantages de promettre des choses et tous les inconvénients de ne pas les avoir encore livrées. Peut être que HTML5 fournira un moyen supérieur de gérer tout ce que font les plugins de navigateur actuels, mais ce n'est pas vrai pour le moment et il est difficile d'imaginer que quiconque assume cette prise en charge sur une application qu'il prévoit de déployer aujourd'hui. La force de Prism est de retirer les pages Web existantes du navigateur, d'ajouter certaines fonctionnalités et de perdre les restrictions basées sur le navigateur, mais il est toujours difficile (voire impossible) de dire quelles applications conçues pour Prism offrira. Le point de Simon sur HTML5 est un bon; le langage de base n'a jamais été conçu pour le développement d'applications et il montre.

Personnellement, je suis un développeur Silverlight, principalement parce qu'il a utilisé mes connaissances existantes sur C# et les bibliothèques.net. J'ai rencontré des développeurs AIR qui sont dans le même bateau, venant de Flash development. J'imagine qu'un développeur HTML/CSS/Javascript sérieux pourrait ressentir la même chose à propos de Prism et je pense que l'idée d'apprendre une langue étrangère et un nouvel ensemble de bibliothèques et une nouvelle plate-forme est assez intimidante (à moins que votre intention ne soit juste apprendre quelque chose de complètement nouveau) que tirer parti des compétences existantes pourrait être le moyen le plus simple de "comparer" ces technologies et de choisir entre elles. Il y a de fortes chances que si vous êtes un développeur Web et que vous devez faire quelque chose, vous constaterez que l'un des quatre que vous avez énumérés se sent plus à l'aise et qu'il semble toujours y avoir des solutions de contournement pour les parties de la plate-forme qui font défaut. J'ai trouvé que la meilleure façon d'obtenir de nouvelles fonctionnalités sur une plate-forme, est de prétendre qu'ils ne peuvent pas faire et attendre d'être prouvé Faux.

 2
Author: Raumornie, 2010-01-19 16:11:34

Silverlight ou JavaFX, basé uniquement sur le raisonnement selon lequel ceux-ci proviennent de plates-formes standard de l'industrie.

 1
Author: Subba Rao, 2010-01-18 17:09:34