9
votes

SmartClient ou SmartGWT?

Outre les différences évidentes entre JavaScript et Java, quelles sont les différences pertinentes d'utiliser SmartClient ou SmartGWT?


0 commentaires

6 Réponses :


8
votes

SmartGWT est le wrapper GWT pour SmartClient, qui, comme vous le dites, signifie que vous êtes capable d'écrire votre application SmartGWT à l'aide de Java.

De mon expérience La seule différence qui compte lorsque vous programmez est que le wrapper GWT est un peu plus restrictif que d'utiliser directement les composants JS. Par exemple, le défilement de manière programmée d'une pierregrid à partir de Java est l'enfer, car le corps de la table sous-jacente (que vous devez obtenir pour faire défiler la chose blastée) n'est pas exposé via SmartGWT, bien que cela soit bien sûr facilement accessible de JS.

Globalement, je ne bonderais pas le choix entre les composants JS et la Soley GWT Wrapper sur ces différences, mais je regarderais d'autres facteurs de votre projet. Quelles techniques êtes-vous le plus à l'aise? Combien de prisonnination vous planifiez-vous?


4 commentaires

Permettez-moi de le mettre de cette façon: si SmartGWT est juste une enveloppe, voyez-vous un point de l'utiliser au lieu d'utiliser SmartClient directement? Outre la nature de frappe statique de Java, qu'est-ce que SmartGWT apporte à la table?


Outre les avantages statiques de l'utilisation de Java, non, il n'y a rien que je puisse penser. À la fin, je suppose que cela dépend du type de projet que vous utilisez et de quelles types de compétences que vous avez.


Notez que le problème particulier que vous parlez de (incapacité à atteindre le corps) a été résolu il y a longtemps avec cette API et d'autres: SmartClient.com/smartgwtee/javadoc/com/smartgwt/Client/widge TS / ...


Une différence significative qui n'a pas été mentionnée ici - est Reliure différée . SMARTGWT n'est-il pas plus rapide car il l'utilise comme basé sur GWT? Vous obtenez différentes versions de page HTML pour différents navigateurs, optimisées, plus rapides pour chacune d'elles.



2
votes

SmartGWT vous offre l'avantage de pouvoir utiliser des éditeurs puissants.

Vous pouvez déboguer facilement votre propre code (mais ce n'est pas très utile pour la plongée dans le code SmartClient lui-même).

Vous avez toutes les trucs d'achèvement automatique d'éclipse / Netbeans à portée de main. Lorsque vous commencez à travailler avec SmartClient / GWT, il vous aide à trouver les éléments que vous recherchez car l'éditeur peut vous énumérer des cours ou des méthodes disponibles et une documentation de base quelle est la classe / méthode. Vous sauve beaucoup de temps rampant à travers les docs


2 commentaires

Dube, ce sont des différences trouvées dans n'importe quelle technologie Java vs JavaScript. Ils ne sont pas spécifiques à SmartGWT et SmartClient.


Je voulais juste le mentionner car je ne peux pas savoir ce que vous avez de l'arrière-plan et pour moi-même, il fait le Wheatre de grande différence à utiliser SmartClient / GWT en premier lieu. En outre, c'est la première fois que vous pouvez vraiment comparer ces deux langues parce qu'ils donnent vraiment le même résultat. Je n'ai pas l'intention de toujours toucher JavaScript directement après avoir travaillé avec GWT :)



1
votes

banang: l'API d'accéder au corps ListGrid / Tborgrid est maintenant exposée dans SMART GWT.


0 commentaires

5
votes

Dans mon cas, la maintenabilité du code.

Nous sommes une maison python. Mais pour le code côté client, nous optons pour GWT, initialement avec GXT, mais maintenant avec SmartGWT.

Nous n'aimons pas Java, mais nous n'aimons pas beaucoup plus, l'ordre, maintenir des bibliothèques pour plusieurs widgets, étend les objets pour donner des fonctionnalités personnalisées, etc. Entre cela dans JS ou Java, l'option était évidente, Côté java. Nous écrivons ici des composants réutilisables, et nous écrivons maintenant un code très minimal à la clientèle, ne réutilisez que des composants et utilisez le repos vers la communicate avec les backends Python.

Nous savons que SmartGWT est plus verbeux que SmartClient, mais, avec une autoocompleure NetBeans (certains cols ici utilisent ici Eclipse), nous avons un accès direct à chaque méthode, documentés, plutôt à accéder à la vitrine ou à Google à chaque fois que nous devons tester et essayez de nouvelles fonctionnalités.


0 commentaires

1
votes

Nous avons choisi d'utiliser JavaScript (pas de SmartGWT) ... Je préfère cela de cette façon, bien que certains de nos membres de notre équipe (plus récents à JavaScript) auraient préféré la manière SMARTGWT. Les deux ont leurs avantages et leurs inconvénients:

L'un des avantages de l'utilisation de SmartGWT est que vous devez avoir des erreurs de temps compilation car tout est compilé d'abord par le compilateur Java, avant qu'il ne soit rendu à JavaScript.

Un des inconvénients de SmartGWT est qu'il n'expose pas l'API SmartClient JavaScript complète sous-jacente. Cela signifie que si vous voulez faire des choses plus avancées, vous risquez de vous retrouver à JavaScript en tout cas.

Un autre inconvénient de SmartGWT, productivité sage, est que chaque changement que vous faites et que vous souhaitez tester, doit aller à travers le processus de compilation / de déploiement de Java EE douloureux, tandis que si vous le faites dans JavaScript, vous pouvez modifier le code côté client. Plus rapide en changeant des fichiers .js directement sans la nécessité de l'ensemble du processus de compilation / de déploiement.


0 commentaires

0
votes

SmartGWT est basé sur le code Java et lors de la compilation, il le transforme en script Java, est un lourd puisqu'il transforme le code Java en JS

SmartClient est un cadre basé sur JS, vous pouvez utiliser ses composants dans une page XML et vous les manipuler dans JS, et c'est la lumière

Le showcase de smartclient Je recommande SmartClient


0 commentaires