Que pensez-vous de GWT? [fermé]

11

Comme j'apprends Java pendant cette période et que je viens de terminer les tutoriels, je pense que je suis prêt à commencer à contribuer à un projet (car je sais par expérience que c'est la meilleure façon d'apprendre vraiment).

J'ai vu GWT, ça a l'air intéressant alors j'ai pensé que je devrais essayer. Je pense cependant, puisque GWT déploie des applications Java en JavaScript, pourquoi devrais-je apprendre GWT quand je pourrais apprendre la chose réelle à la place (ceci étant JavaScript). Ma question: ça vaut le coup? Quelqu'un ne serait-il pas préférable d'apprendre JavaScript s'il veut créer des applications JS, au lieu d'utiliser Java et GWT? Je me rends compte qu'il serait peut-être plus facile de construire certaines choses avec GWT mais en fin de compte cela en vaut-il la peine?

Merci.

Peter Boughton
la source
3
Pourtant, les gens apprennent directement le C au lieu de programmer des systèmes en code machine.
haylem

Réponses:

6

GWT est essentiellement un compilateur de code natif, un peu comme Visual Studio compile des codes source en octets ou un langage machine.

Cela permet au programmeur d'abstraire les différences dans l'architecture sous-jacente, tout comme les utilisateurs de Visual Studio n'ayant pas à se soucier des différences de longueur de mot, du nombre de registres et des conventions exactes pour appeler le système d'exploitation lorsqu'ils codent pour 32 bits ou 64. -bit.

C'est une bonne chose, car cela vous permet de transférer une partie du fardeau de la maintenance sur d'autres. Comme il s'agit de Google, vous savez qu'ils ont plus de ressources de développement que vous, donc vous apportez essentiellement de la main-d'œuvre supplémentaire gratuitement.


la source
2
Un autre avantage est le débogage en mode hébergé. Vous pouvez donc déboguer la logique de votre application, à la fois côté client et côté serveur et avec tous les outils de l'étape par débogueur.
Jeremy
5

Je n'aime pas ça

Tout ce que vous pouvez en faire, vous pouvez le nettoyer plus sans lui.

Josh K
la source
Se mettre d'accord. Mais, vous écrivez des pages avec plusieurs images avec un fichier par image. Droite ?
1
@Rocket: Je ne comprends pas ce que signifie "plusieurs images, un fichier par image" .
Josh K
4
@Rocket: Je ne vois pas ce que les images ont à voir avec GWT. Si vous souhaitez activer les sprites, vous pouvez, sinon oui, vous avez plusieurs images.
Josh K
1
@Josh Je suppose que vous ajoutez de petites animations, etc. plutôt que d'écrire un grand complexe. Il y a une raison pour laquelle les langages de script sont limités à de petites tâches et des langages typés statiquement sont utilisés pour des tâches plus importantes.
mP01
2
En un mot d'outillage. Personne n'a écrit un véritable éditeur comparable pour javascript par rapport aux nombreux disponibles pour java.
mP01
2

La raison même pour laquelle GWT a pris Java comme langage source est que JS (Ecmascript) est inhumainement difficile à utiliser. GWT est juste un bon moyen d'amener la programmation sur le Web / les navigateurs là où cela n'était pas possible auparavant.

Avant GWT, il y avait des tentatives futiles pour programmer quelque chose dans les navigateurs (Ajax, dojo, javascript simple). Mais les forces de la nature y sont trop violentes, donc tout s'effondre (les navigateurs changent, ils ne sont jamais les mêmes, les gens parlent des langues différentes, les gens pensent que 15 images devraient être en fait 15 fichiers, etc.).

Donc, la réponse est: si je devais coder pour une chaudière océanique Internet (ce qui n'est pas mon travail), je choisirais GWT.

PS Une autre pensée. Le JS est fabriqué par Netscape. L'entreprise est morte depuis longtemps, mais la langue reste inachevée et pourrie


la source
6
-1 ECMAScript est constamment développé; ECMAScript 5 vient de sortir l'année dernière et ActionScript, le langage de Flash, est ECMAScript.
16
-1. JavaScript n'est pas "inhumainement difficile" à programmer. Si vous trouvez que JavaScript est difficile, vous n'êtes probablement pas très intelligent. Avant GWT, il y avait des gens qui savaient ce qu'ils faisaient. Après GWT, il y a des gens qui ne peuvent pas coder JavaScript (et utiliser GWT) et ceux qui peuvent (et n'utilisent pas GWT). De plus, JavaScript a explosé devant le navigateur, regardez Node.js et MongoDB. Utilisez SpiderMonkey ou V8 pour écrire des scripts indépendants de la plate-forme.
Josh K
3
@Josh K. Je considère également Visual Basic 6 encore plus difficile à programmer que JS. Java est plus facile environ 50 fois que Basic. Et CSharp est plus facile peut être 2 fois que Java. Par difficulté, je veux dire faire des applications pratiques complexes qui sont maintenables, créées en équipes, vendues aux clients. Je me fiche des différences de sucre syntaxique. Et je pense que si vous devez être très intelligent pour utiliser la langue, alors quelque chose ne va pas avec la langue.
3
JavaScript est très facile à concevoir de grandes applications maintenables construites par des équipes. Je l'ai fait. Il n'y a rien de difficile à écrire du code modulaire, sauf que les gens décident de ne pas le faire.
Josh K
Ne confondez pas DOM avec JavaScript. Ce n'est pas JS qui est le problème.
Andrew T Finnell
2

Quelques bonnes raisons de rattraper GWT:

  • Chaque technologie a un cycle de vie. GWT bat son plein. L'apprentissage de GWT vous donnera l'avantage technologique sur une période plus longue.
  • GWT utilisant java, apporte une structure à l'application web. JavaScript est plus adapté aux scripts. Soutenu par Java, GWT est plus adapté aux grandes applications. Si vous avez remarqué les frameworks / toolkits au-dessus de JavaScript, vous pouvez conclure comme moi que JavaScript n'est pas suffisant en soi pour des projets sérieux. Tous ces cadres apportent des structures au développement d'applications. GWT est l'un de ces cadres, et c'est celui qui prévaudra.
  • L'application mobile est une révolution dans le monde du logiciel. La révolution est à ses débuts en ce moment. De plus en plus de logiciels passeront aux plates-formes mobiles. GWT est désormais l'outil de développement d'applications multiplateforme le plus complet que vous puissiez trouver.

Cela dit, GWT n'est en fait pas étroitement lié aux cadres de services Web de Google ou de Sun (servlet). Les outils intégrés se concentrent davantage sur l'intégration avec leurs serveurs, en raison de la nature commerciale de Google ou de Sun. Pour tirer parti de la puissance technologique de GWT, il faut plus ou moins ignorer une partie de l'hyper d'intégration du serveur. Utilisez simplement GWT comme outil d'application client, cela devrait être plus bénéfique pour votre future carrière.

minghua
la source
1

Cela dépend de ce que vous voulez faire (comme pour la plupart des outils de toute façon).

Si vous voulez entrer dans les détails du développement Web, utilisez de nombreuses astuces (parfois différentes) de l'environnement du navigateur, et les dernières fonctionnalités d'entre elles, ayez le courage de vous battre avec de petites astuces qui rendent votre application web `` cool '', GWT sera toujours sur votre chemin: si vous avez le temps et l'expérience, vous pouvez tout faire avec vos mains. Et oui, il existe de nombreuses autres boîtes à outils qui vous aideront tout au long de la programmation en JavaScript.

Cependant, si vous voulez créer une interface graphique "pas si sophistiquée", mais stable pour votre application, qui "devrait", et dans la plupart des cas vraiment faire la même chose, et avoir la même apparence dans divers navigateurs sans astuces, GWT est un bon choix, le meilleur que je sache. Explication: Google est définitivement motivé pour le synchroniser avec le plus de navigateurs et les technologies les plus récentes, et a certainement suffisamment de ressources pour le faire. Oui, vous adhérez à un autre géant au lieu de faire vos propres trucs. Question: quel est votre métier? Pour fournir le même service à la plus grande rage des utilisateurs via une interface Web avec le moindre effort - ou créer un portail Web brillant et exceptionnel qui possède les fonctionnalités les plus intéressantes sur les plates-formes les plus récentes.

+1 raison: je pense qu'il est avantageux de conserver votre application dans une base de code et une langue. Vous pouvez faire une astuce intéressante dans les scripts de base de données - mais vous vous verrouillez sur ce serveur db. Vous pouvez faire des choses externes avec des scripts shell ou des fichiers batch - mais vous vous verrouillez sur le système d'exploitation. Vous pouvez implémenter une partie de la logique du contrôleur en JavaScript pour fournir une interface client riche dans un navigateur - mais vous pouvez vous enfermer dans un navigateur. Dans tous les cas, il n'est pas facile de les synchroniser avec la structure et les exigences de base de l'application (et peut-être le plus difficile est l'environnement de navigateur en constante évolution + outils JS). Je suis convaincu que si l'application principale est en Java, tout devrait être en Java - avec une très petite fraction de cas où vous devez vraiment mettre une partie de la logique dans un autre environnement.

J'ai choisi GWT en raison de mes réponses aux questions ci-dessus - et il fait ce que je voulais qu'il fasse: environ 2 semaines après l'installation, j'avais une interface Web acceptable pour un système de surveillance de serveur interne - même si j'avais de l'expérience avec Swing. (Non, je n'ai pas utilisé l'apparence par défaut et oui, j'ai utilisé CSS et des classes pour présenter des informations logiques :-))

Vérifiez vos tâches actuelles et planifiées - et choisissez le bon outil pour elles.

Lorand Kedves
la source