Les différences entre GWT et Vaadin
Quelqu'un peut-il suggérer que "GWT" ou "Vaadin" sont un meilleur choix pour la conception d'une application? Aussi: quelles sont les différences dans le style de codage?
- Jetez un oeil à des questions similaires à stackoverflow.com/questions/7124528/... et stackoverflow.com/questions/5260220/...
Vous devez vous connecter pour publier un commentaire.
Dans GWT logique de l'application est normalement sur le côté client. Il appelle le serveur quand il a besoin de lire/d'enregistrer certaines données.
Dans Vaadin logique de l'application est sur le côté serveur. Côté Client doit normalement serveur d'appel après chaque interaction de l'utilisateur.
GWT avantage:
La logique d'application (les réponses de l'interaction de l'utilisateur) est plus rapide car il est exécuté en local dans le navigateur. Il est également relativement insensible aux mauvaises conditions de réseau. Le réseau est utilisé uniquement lorsque cela est nécessaire (pour lire/d'enregistrer de nouvelles données), qui permet d'économiser le trafic réseau (important pour les sites de la circulation).
À cet égard Vaadin est plus lent et introduit un décalage dans l'INTERFACE utilisateur de l'interaction qui est gênant pour l'utilisateur. Si le réseau est mauvais, cela montrera dans la réactivité de l'INTERFACE utilisateur.
Vaadin avantage:
La logique d'application est exécutée sur le serveur de sorte qu'il ne peut pas être inspecté par l'utilisateur. Sans doute (Vaadin revendications) qui le rend plus sûr.
Un peu plus de points:
Une différence fondamentale est que dans GWT vous devez vous séparer de votre application en code Client et Serveur, aucune distinction de ce genre dans Vaadin. Cela va affecter l'architecture de votre application.
Dans GWT code client, vous devez le code en Java, et un sous-ensemble limité de fonctionnalités de langage disponibles (que le compilateur GWT peut se traduire en Javascript). Dans Vaadin, vous pouvez en toute JVM langue, puisque tout se passe dans le serveur (je suis en utilisant Vaadin avec Scala). Cela peut ou peut ne pas être pertinent pour vous.
Compilation GWT est TRÈS lente, bien que le mode de développement que vous avez l'émulateur. Cela rend l'environnement de production des mises à jour douloureux (un GWT application que j'ai développé a grandi assez grand, et pour l'instant, prend environ 15 minutes pour compiler).
Il est très simple d'étendre GWT 3ème partie des widgets, ou rouler vos propres. La création de nouveaux Vaadin widgets est plus complexe.
Un autre Vaadin avantage: vous n'avez pas à concevoir ou mettre en œuvre la communication client-serveur, c'est intégré.
Avec Vaadin vous pouvez également utiliser les haut-GWT lorsque vous voulez faire quelque chose sur le côté client. Cela vous donne à la fois la simplicité du modèle de programmation côté serveur (pas de communications, pas de navigateur programmation nécessaire) avec le plein contrôle de ce qui se passe dans le navigateur.
Différences entre Vaadin et GWT:
A) Vaadin comprend un serveur-côté modèle de développement:
mettre en œuvre pour l'interface utilisateur.
Groovy
côté serveur de l'architecture des applications
de temps ou de fait de l'outillage compliqué dans GWT projets - à la place, vous avez
le Vaadin client moteur
B) Vaadin fournit un vaste ensemble de haut niveau des composants de l'interface utilisateur. Pour GWT, il serait nécessaire de l'utilisation commerciale Sencha GXT comparables de la composante.
C) Vaadin comprend SASS base de Valo moteur de thème qui le rend facile à construire la bonne à la recherche de thèmes personnalisés à partir de votre application. Valo est la dernière de la thématisation de Vaadin.
D) liaison de Données: Vaadin a intégré la possibilité d'associer n'importe quel widget directement à une source de données telles que la base de données, fichier ou n'importe quoi d'autre dans le côté serveur. Cela permet de définir le comportement par défaut des widgets pour agir sur les sources de données.
Vaadin vs GWT
Je pense Vaadin est beaucoup plus avancées cadre de GWT
MAIS
Quand il s'agit d'optimiser les performances sur le côté client, il n'y a rien beaucoup que vous pouvez faire, sauf si vous construisez vos propres composants (et c'est là la beauté de Vaadin s'arrête)
Dans un projet que je suis aujourd'hui 90% du personnel, je l'ai fait fonctionné comme un charme
Et puis j'ai dû utiliser un événement de calendrier à côté d'un couple de tables. Quand je l'ai chargé à plus de 400events sur la ligne de ma page web a été presque inutilisable pour ne pas mentionner terrible lenteur lors de l'initialisation. J'ai essayé d'optimiser le code des deux derniers mois. À la fin, j'ai utilisé un GWT composant.
Je n'ai pas essayé Vaadin. Je suis une GWT fan, mais je PEUX dire que j'ai été un peu déçu par le widget par défaut fournis avec GWT. Vous avez vraiment besoin de quelque chose comme SmartGWT pour remplir le cadre extérieur.
Que pour toute demande doit montrer, afficher des informations provenant du serveur, d'une exigence majeure pour la simple codage automatisé de données de liaison à vos formulaires et des tableaux.
Avec Vaadin, c'est aussi simple que de quelques lignes de code.
Dans GWT, d'abord vous n'avez pas de table de mapping.
Comme pour les formulaires, vous pouvez mapper un objet en forme, mais pour ce faire, vous devez mettre en œuvre une sorte de GWT Éditeur pour votre objet (et un pour chaque objet à l'intérieur de celui-ci). Un Éditeur n'est rien d'autre que la définition de la forme à utiliser pour afficher/modifier l'objet. Donc dans l'ensemble, il n'y a pas d'automatisation ici.