GWT vs Flex vs?
Mon entreprise est d'essayer de migrer à partir d'un .NET application à quelque chose qui est purement web, et très "ajaxy". L'original .NET application est assez interactif, à peu près équivalent à Google Maps, aussi loin que l'interaction de l'utilisateur est concerné (zoom, pan, d'annoter les caractéristiques de la carte de vecteur).
Notre .NET développeur est vraiment pris avec Flex2. Je vais vous avouer que pour avoir une assez forte Java biais. J'ai aussi environ une année d'expérience avec GWT, et peut faire des choses assez rapidement avec elle. Notre base de code est principalement J2EE, donc GWT semble un choix naturel pour moi. J'ai zéro expérience avec Flex, donc je ne peux vraiment pas faire une recommandation pour ou contre la
Notre intérêt principal dans le choix d'un cadre sont les suivantes:
- futureproof
- fonctionne sur tous les principaux navigateurs
- rapide & expérience d'utilisateur réactive
- code doit être l'unité vérifiable
- code doit être facile à entretenir
- vitesse & facilité de développement
- prend en charge les graphiques vectoriels, de la sorte, SVG (un plus)
Soins de peser sur les avantages & inconvénients de ces deux technologies, ou même recommander une troisième option?
- En fin de compte, nous avons décidé de prendre une approche hybride - conception du site en utilisant GWT, mais la partie graphique sera fait dans un composant Flex.
- Certainement un intéressant résultat final, je dois dire.
- Pour tous ceux qui lisent cette fin, Silverlight a parcouru un long, long chemin avant. Je ne suis pas si sûr que l'on peut considérer que c' #2 VM à base de véritable RIA après Flex plus-- les outils de dev (avec Expression Blend) sont nice, mieux que ce que les outils Adobe à offrir aujourd'hui. Le seul inconvénient (qui n'est même pas un problème si vous êtes sur l'intranet de l'entreprise où vous contrôlez le logiciel de station de travail) est de déploiement de chiffres (mais c'est rapide amélioration de trop).
Vous devez vous connecter pour publier un commentaire.
Je suis peu familier avec Flex, mais ont travaillé avec GWT pour de nombreuses années. Nous avons eu une très décision similaire il y a quelques années (Flash vs GWT), mais pour des raisons différentes. En fin de compte, nous avons vu les nombreux avantages de GWT sur Flash (Beaucoup de Flex):
Pas tous nos clients ont flash, le taux de pénétration des numéros à partir d'Adobe sont inutiles, vous avez besoin de votre propre (que nous avons) pour voir ce que vos clients n'en ont réellement. Des entreprises et du marché de l'éducation, le taux de pénétration est en fait beaucoup plus faible que les années 90 de haut que Adobe citations.
GWT est vraiment de la croix-plate-forme et navigateur compatible (Linux, Mac, Windows, Android, iPhone, etc, etc) alors que flash ne sera jamais. Vous ne pouvez pas les soins à ce sujet, mais nous l'avons fait.
Flex est proprietry la Technologie Adobe, alors que GWT est entièrement open source et personnalisable
GWT s'intègre avec les DOM, et tout le reste sur votre page de loin plus facile que flash et Flex ne.
GWT est codé en Java, et nous savons tous Java extrêmement bien
Pour répondre à vos points précis:
Rien n'est vraiment à l'avenir, mais j'ai l'impression que les deux GWT et Flex serait assez pour le futur. Peut-être GWT un tout petit peu plus parce que c'est open source.
GWT fonctionne dans Firefox(et tous gecko navigateur), Safari (et tous les navigateurs Webkit), IE et Opera. Flex fonctionne dans tous les navigateurs, mais seulement si Flash est pris en charge, donc je dirais GWT qui vient de sortir là-haut.
Sur les plates-formes où il est pris en charge, Flex va tuer GWT morts pour l'expérience utilisateur. Vous ne pouvez pas rivaliser avec flash quand il s'agit de la douceur et de la slickness.
Les deux sont facilement unité vérifiable
Quand codé bien les deux sont gérables
Aussi longtemps que votre familier avec eux, je dirais que c'est beaucoup de muchness.
Je ne peux pas parler pour le Flex, mais GWT prend en charge les graphiques vectoriels via SVG, par le biais de bibliothèques tierces.
Je ne suis pas familier avec GWT, mais je suis très familier avec Flex. Même si GWT est basée sur Java (et il semble que vous êtes en grande partie Java boutique), je le recommande à base de Flex sur votre répertoriés intérêts:
Futureproof - Flash pouvoirs YouTube et un pourcentage énorme de multimédia sur le web... ils ont intégré dans les consoles de jeux vidéo et Intel est dans les décodeurs. Il va être ici pour un long, long temps, et Adobe a toujours maintenu à 100% de compatibilité avec leurs lecteurs Flash.
Fonctionne sur tous les principaux navigateurs - oui. Et avec Flash Player 10, qui comprend les systèmes Linux ainsi. Et avec très peu de admin maux de tête (moins de Java, à mon avis).
Rapide & expérience d'utilisateur réactive - oui, bien que Java peut être plus rapide dans certains scénarios. Flash est optimisé pour le rendu vectoriel, donc, puisque c'est votre cible, il peut être vous donner de meilleures performances que Java.
Code doit être l'unité vérifiable - oui, voir FlexUnit.
Code doit être facile à entretenir, certainement. AS3 est un sérieux langue, pas un jouet langage de script. Il sera très familier pour les utilisateurs de C# ou Java.
Vitesse & facilité de développement - pour ce que vous faites, vous serez en mesure de trouver des dizaines d'exemples de ce que vous avez décrit: zoom et de panoramique Google Maps -comme des images vectorielles. Le noyau de l'exécution est un bien conçu, le moteur graphique et la création d'un univers graphique interactif app est son naturel corvée.
Prend en charge les graphiques vectoriels, de la sorte, SVG (un plus) - de toute évidence, Flash ne ce mode natif. SVG est pris en charge à la phase de compilation (vous pouvez compiler en SVG, mais vous ne pouvez pas analyser SVG au moment de l'exécution). Il y a toolchains disponible qui va convertir SVG SWF pour vous au moment de l'exécution.
La seulement raison que je vois pour l'utilisation de GWT serait de garder votre boutique en Java sur le serveur et le client... mais encore une fois, vous êtes à la recherche pour le meilleur de la technologie pour le travail, droit? Dans ce cas, je dirais Flash (et, en particulier, le framework Flex) est le mieux adapté pour ce que vous êtes désireux d'accomplir.
Un autre point à noter est que ni l'iPhone, ni Android actuellement le support de Flash. Beaucoup plus de gens s'attendent à un accès web à des applications sur leurs téléphones.
Je faisais partie d'un projet utilisé GWT, et j'ai adoré, surtout depuis que Java est mon premier langage de programmation de choix. Je n'ai pas utilisé Flex, donc je vous donne des infos sur ce que j'ai vécu avec GWT. Commenter certaines de vos besoins
En dehors de ces, je dois dire, j'adore leur Groupe Google! Il est très active et vous pouvez trouver beaucoup de gens là-bas qui peut vous aider dans le cas où vous êtes coincé avec quelque chose.
Je suis biaisé Flex depuis que j'ai fait Flash/Flex développement depuis 2000. Je pense que pour répondre à votre question, il s'agit vraiment d'un niveau d'interactivité et de la complexité que vous voulez atteindre.
Flex va vous permettre de faire des choses qui seraient presque impossible dans un environnement JavaScript (ASP.NET AJAX, jQuery, GWT) comme de simples graphiques 3d. Complexe de bâtiments de l'interactivité est vraiment trivial dans Flex. Il est également très rapide et peut traiter des lots d'objets animés à la fois. Flex peuvent communiquer de façon transparente pour .NET ou Java à l'aide de services web. L'inconvénient de l'utilisation de Flex, c'est qu'il se sent comme une application embarquée sur votre site web plutôt que quelque chose qui est étroitement intégré.
Si vous allez coller avec un JavaScript approche, en général, je vous suggère d'utiliser quelque chose de langue agnostique comme jQuery. Mais puisque vous avez déjà GWT expérience, qui peut très bien fonctionner pour votre projet. L'inconvénient est que GWT dans la fin est toujours en JavaScript, donc vous allez être limité par la vitesse et l'interactivité de ce qui est possible dans un navigateur.
Soleil a récemment lancé une nouvelle technologie appelée JavaFX pour ces sortes de RIAs. Vous pouvez le vérifier (javafx.com). Il est supposé exécuter sur Java 5 ou mieux mais ce ne sera certainement pas le genre de client de pénétration que Flash ne. Je pense toutefois, compte tenu de vos exigences pour tester cette technologie peut ne pas être approprié à ce moment.
Aussi, je pense que Troy Gilbert fait une erreur dans son poste. Plus précisément, il semble indiquer qu'une GWT application sera exécutée (par le client) en java. Je suis presque certain qu'une application GWT est écrit en Java et donc GWT va compiler une bibliothèque javascript que le client exécute.
J'ai utilisé à la fois teçhnologies pendant un certain temps.
Futureproof - deux d'entre eux sera couronnée de succès, je suppose, mais toutes les technologies seront préférés dans des situations différentes. Par exemple flex dans les grandes (surtout intranet) les entreprises ayant souhaité sur le bureau comme de l'interface utilisateur (Flex peut être utilisé sur la partie supérieure de la toute plate-forme de serveur(machine virtuelle java.Net,php,ruby,coldfusion)). GWT autrement ne peut être dominante dans les petites et moyennes application traditionnelle de la jvm backend (tomcat+ressort etc.)
Fonctionne sur tous les principaux navigateurs - les deux sont non-problématique de cette façon. Flex absolument excellent, quand le plugin flash est installé, il n'est pas besoin pour résoudre toute compatibilité inter-navigateur (bien sûr... navigateur sont passifs, lorsque flash app fonctionne:). Je me souviens que nous avons eu quelques problèmes mineurs avec GWT et traditionnelles fauteur de troubles, IE6, mais rien d'horrible...
Rapide & sensible de l'expérience utilisateur - les deux sommes les meilleurs dans leur catégorie. Flex je pense absolument le dessus de la RIA solutions(peut-être silverlight, java fx peut être que les concurrents dans richnest), expecially intégré avec les écrans LCD avec des fonctionnalités intéressantes comme la gestion des données, véritable côté serveur push de données etc. GWT est l'un des meilleurs dans framework ajax catégorie. La plus la plus riche et complexe de l'interface utilisateur que vous avez besoin, le plus de raisons de l'utilisation de flex que vous avez. Intepreted javascript dans tous les cas ne peut pas être plus rapide&sensible, puis compilé actionscript/swf.
Code doit être l'unité vérifiable - oui, ils sont très testable.
Code doit être facile à entretenir - à la fois excellent, maintien de l'actionscript est comparable à celle de java(gwt), si vous utilisez une bonne IDE par exemple Flex Builder.
Vitesse & facilité de développement - à la fois parfait si vous savez que votre personnel. Tout dépend de votre fond. Pour les développeur java courbe d'apprentissage pour un flex sera probablement un peu plus difficile(Vous avez besoin d'apprendre un nouveau compliler/runtime et probablement de nouvelles IDE ou au moins de nouvelles de l'IDE eclipse plugin:). Une certaine connaissance de flash est un +, mais pas nécessaire, et généralement avec des tâches spécifiques comme la construction de vos propres composants etc.
Prend en charge les graphiques vectoriels, de la sorte, SVG (un plus) - pas de problèmes, je me souviens, je n'ai pas trop d'expérience avec cela, mais je vais regarder dans l'avenir, quand FXG sera finnalized.
développement & les coûts de déploiement - Le gagnant est clair ici. GWT. Flex a été conçu pour faire un profit. Bien que l'auto est opensourced, meilleurs outils(Flex Builder Flash Builder/Catalyseur) & cadres(LCDS) sont commerciall et pas bon marché du tout. Regardez les écrans LCD par UC liste de prix et vous saurez de quoi je parle. Avec GWT plus de la qualité des outils/frameworks sont opensourced ou gratuit au moins. À l'exception de certains composants avancés comme ext gwt et smartgwt EE. Évidemment, u peut vivre sans eux.
C'est vraiment un pommes /oranges question. Avec GWT, vous obtenez la pureté de l'écriture tout en Java. Ironiquement, le résultat final ne vous sentirez jamais comme autre chose qu'un site web.
Avec Flex, vous arrivez à écrire quelque chose qui se sent comme une application. Et, peut-être plus important encore, avec Flex, il n'y a RIEN vous ne pouvez pas le faire par programmation - qu'elle soit fonctionnelle ou graphique.
Si vous développez des applications pour un utilisateur de base, Flex est un gagnant par miles. Si vous êtes à la construction d'une masse sociale basée sur le web que ce soit, GWT est certainement un meilleur choix.
Vérification Future est plus sur l'architecture, qu'il s'agit d'une technologie spécifique. Avec le droit de l'architecture, vous pouvez très facilement échanger présentation de la technologie. J'aime Silverlight/MVVM bien que le modèle ne nécessite une certaine planification pour également en charge HTML5.
Alors que l'iPhone et Android ne supporte pas le flash, vous devriez également noter que Google créer des applications ciblées pour le téléphone mobile. Ils le font parce que l'écran sur les appareils mobiles est considérablement plus petite que le type d'ordinateur portable/de bureau. Par conséquent, l'absence de support de flash est un non-problème, depuis une ciblées application fournit une meilleure expérience utilisateur.
Mon entreprise a été confrontée à la même décision au sujet d'il y a un an. Avez-vous entendu parler de GXT http://extjs.com/products/gxt/? Nous avons finalement opté pour une GXT. Comme une .NET, le développeur de la transition de l' .NET pour GXT était grande. Nous avons développé une échelle de l'entreprise gestion de programme GXT/GWT. Les inconvénients sont que GXT est développé par une équipe de taille réduite par rapport à la flexion et la communauté n'est pas près aussi grand. Cependant, il offre une impressionnante dans le navigateur de l'expérience. Check it out.
Je sais que vous avez demandé sur GWT vs Flex, mais si vous avez un mot à dire sur la décision finale, vous devriez sérieusement envisager de se déplacer loin de l'AJAX et ASP.NET. En dépit de ce que Adobe, Microsoft et Sun dire, Ria (Rich Internet Applications) ne sont pas encore prêts pour un primetime expérience de navigateur, sauf sous une forme limitée (comme les lecteurs vidéo).
Une application à part entière écrite pour le navigateur, dans le navigateur natif de la technologie, va donner la meilleure expérience possible à l'utilisateur d'avoir le plus de ressources sur le développement de la maintenir à jour.
ASP.NET n'est pas d'aller n'importe où. Il n'est ni Java ou Flex. Mais pour la portée, la meilleure expérience utilisateur possible dans l'ensemble, et la maintenabilité (car il n'y a juste beaucoup plus de ressources de programmation disponible) vous ne pouvez pas battre un natif basé sur navigateur.
ASP.NET MVC est entièrement basé sur le web et très Ajaxy. Vous pouvez le vérifier. Il est semblable à Ruby on Rails (sans les Rails) et les développeurs (même les devs de nouveau à ASP.NET) sont assez prises avec elle.