jquery bibliothèque - Est-ce que GWT est toujours pertinent pour de nouveaux projets?





new install (6)


Dirigez-vous vers: la page d'exemple GWTs, présentant des exemples réels d'applications GWT

Il suffit de lire à propos de la nature super poids lourd de ces exemples.

GWT lui-même n'est pas si léger, et je doute qu'il ait été conçu pour créer un "pickpeur". GWT est complètement autre chose que jQuery. C'est peut-être plus comparable à JSF2 qu'à JQuery. La question "Devrais-je utiliser GWT ou jQuery" pourrait être répondu comme:

si vous voulez ajouter des datpickers, des effets, une table triable, une saisie semi-automatique ici et là. Vous devriez probablement aller avec jQuery.

Si vous voulez savoir si vous voulez utiliser GWT comme mécanisme template / engine, vous devriez considérer d'autres qui sont réellement comparables. Quand on parle de Java, probablement JSF2 est votre seul choix. Et la courbe d'apprentissage JSF est raide.

Je creuse plus profond et j'ai trouvé un message triste:

http://polygoncell.blogspot.mx/2013/07/gwt-for-new-project-no-thanks.html

Je suis venu à cette page parce que je lisais sur les projets à venir comme AngularJS, Backbone, applications d'une seule page (SPA): En bref, Google a laissé tomber GWT. GWT est maintenant open source, parce qu'ils l'ont juste abandonné. Maintenant AngularJS reçoit une grosse poussée de google.

EDIT notre cher Andrew m'a dit de "prouver mon point"

Voici l'algorithme à utiliser pour évaluer si une technique est compétitive.

1) Allez sur votre site d'emploi préféré

2) Recherchez les emplois {technologie qui vous intéresse}

3) Vérifiez le nombre d'ouvertures, l'exigence de technologie connexe etc.

4) Répétez # 2 & # 3 pour les technologies compétitives

5) Évaluer

aujourd'hui 19. mai 2016, sur upwork j'ai cherché des emplois GWT .

Emplois: 23.

J'ai cherché des emplois angularjs .

Jobs: 1338. C'est vrai. mille trois cent trente huit.

point prouvé?

La question Pourquoi devrais-je utiliser jQuery au lieu de GWT? peut être périmé (comme ses réponses). Et la most of autres questions liées à SO peuvent également être dépassées de nos jours. Alors, mettons à jour l' état de l'art sur la pertinence de GWT pour les nouveaux projets.

GWT est plus mature de nos jours

Depuis 2009 questions / réponses, GWT a évolué et certains frameworks JS sont disponibles en Java:

  • GwtQuery pour jQuery (gQuery)
  • GXT pour ExtJS (anciennement ExtGWT)
  • Smart GWT a remplacé GWT-ext
  • ... et sûrement plus ... (n'hésitez pas à ajouter)

Et même plus, le code Java peut être converti en bibliothèques JS autonomes: gwt-exporter

Mais les frameworks JS de bas niveau peuvent suffire

Mais plus je lis, plus je vois des développeurs web conseiller de tourner le dos à GWT et utiliser directement les frameworks JS ( Firebug , plugins IDE pour les frameworks JS ...).

Productivité

Cependant j'aime l'idée de développer et de déboguer en utilisant le même IDE (Eclipse, Netbeans, IntelliJ IDEA ...). Je pense que je serai plus productif ... Je devrais aussi penser à Documentation et Communauté (réactivité du forum quant à cette question SO) ...

Des questions

  1. Pour quel genre de nouveau projet 2014 GWT devrait être (ou pas) considéré?
  2. Existe-t-il des alternatives pertinentes à GWT pour faciliter le développement et le déploiement d'applications Web AJAX?
  3. Quels sont le mode et la tendance actuels?

Mon cas spécifique

Je viens de terminer un POC (d'une application web intranet) basé sur des scripts bash Python3 ( http.server.HTTPServer ) appelant (POST) (un peu de traitement en C ++) et récupérant des données JSON. Certains JS (pas de cadre) dans la page Web pour le rendu. Je me demande donc la meilleure option pour la prochaine itération.

Mais s'il vous plaît répondez à cette question sur d'autres cas aussi. Je préférerais une question / réponse générale pour être utile à beaucoup plus de gens.

MISE À JOUR Octobre 2015

GWT semble moins actif car aucune nouvelle version depuis 11 mois. Mais dans le passé jusqu'à 13 mois entre les versions 2.4 et 2.5 . Le miroir de repo Git est toujours très actif. De plus, GWT est extensible et de nouvelles fonctionnalités peuvent venir des bibliothèques GWT sans nécessiter de nouvelle version de framework GWT. Voir par exemple les bibliothèques GWT mobiles les plus courantes et leurs cycles de publication correspondants. En attendant, la tendance est d'utiliser Node.js partout! L'adoption de GWT pour de nouveaux projets dépend vraiment des compétences / motivation des développeurs et de la durée de vie du projet (chiffre d'affaires / formation / maintenance). Certains autres critères tels que la réutilisation du code source disponible et le délai de mise sur le marché peuvent également être pris en compte ... Voir les réponses ci-dessous.




GWT est pertinent. Il a 130 000 développeurs qui l'utilisent. Si vous ne me croyez pas, regardez [GWT revient en 2015.] [blog.xam.de/2014/02/gwt-is-coming-back-in-2015.html] et une autre question sur stackexchange qui parle de ça. GWT ne devrait pas être votre première option, car elle ajoute beaucoup de complexité.

Pour quels projets GWT est-il bon? GWT est beaucoup plus compliqué :

  • Java est un langage plus difficile qui rend difficile l'écriture de mauvais code
  • La compilation en javaScript ajoute de la complexité
  • GWT a été construit à partir de zéro pour les applications web extrêmement compliquées
  • la communauté GWT a tendance à privilégier davantage l'expérience utilisateur et les performances par rapport à l'expérience des développeurs que la communauté javaScript

Cependant, le code est plus facile à maintenir, c'est java, c'est plus rapide, et vous pouvez réutiliser votre code sur jvm et ios si vous utilisez J2ObjC

il y a des raisons très convaincantes d'utiliser GWT - Java
- réutilisez votre propre code depuis d'autres plateformes. Par exemple, google inbox réutilise la majeure partie de son code android sur le web en utilisant GWT et réutilise son code sur iPhone (merci J2ObjC) et sur le serveur (merci à la JVM de pouvoir fonctionner sur de nombreuses plateformes différentes). - utiliser des bibliothèques et des outils java, des développeurs java - de nombreux développeurs préfèrent java à js et ont de bonnes raisons de le préférer - construits à partir de zéro pour des applications web performantes et performantes. - Le code Java est plus propre et plus facile à maintenir

GWT a baissé selon les tendances de google et en effet les tendances du travail, mais javaScript et jQuery sont également en baisse. Je ne sais pas pourquoi ces technologies sont toutes en baisse. Ma théorie est qu'il y a beaucoup de nouveaux frameworks qui volent les développeurs de GWT et de javaScript. Je ne pense pas que cela signifie nécessairement que javaScript et GWT sont encore en train de mourir. Ce n'est rien de plus que le résultat d'avoir beaucoup plus de concurrence.




Bonne réponse de Steffen. J'ai commencé à le taper comme un commentaire à son, mais j'ai trouvé que j'ai tapé plus que ce que je m'attendais, ce qui en fait une réponse distincte. Ne pas chercher de points ...

Je voulais juste ajouter 1 point subjectif à moi. La réalité est que la majorité des développeurs sont des soi-disant développeurs backend sans connaissances, expérience et le plus important désir de développer une interface web. La réalité du marché IT américain est que la majorité préfère Java dans leur CV par rapport à JS, PHP, Python et d'autres langues exotiques. La raison en est la compensation. Les développeurs Java en moyenne sont mieux payés. Je ne suis pas sûr d'autres pays.

Donc la majorité des développeurs dans une entreprise seraient des développeurs Java (ou .NET, ce qui est en dehors de cette conversation). Afin de les faire fonctionner sur l'interface utilisateur, vous devez utiliser une technologie compatible Java, qui serait JSP ou GWT. JSP aurait besoin d'apprendre les bibliothèques JS pour rendre le frontend plus ou moins présentable.

Évidemment, si vous voulez impressionner le public avec une interface utilisateur unique, vous devez utiliser des bibliothèques JS qui permettent une plus grande personnalisation. Les deux JSP et GWT fonctionneraient comme la majorité du travail va être fait dans JS. Comme je l'ai mentionné ci-dessus, peu d'entreprises auraient connu des développeurs JS sur le personnel.

La majorité des applications sont cependant écrites pour un usage interne, et non pour le public. D'après ce que vous avez décrit, votre cas d'utilisation peut tomber dans cette catégorie.

Les outils internes non publics ont souvent une fonctionnalité plus complexe que les sites Web publics, mais leurs exigences de conception sont plus souples tant que la fonctionnalité est présente et pratique pour un usage interne.

Dans ce cas, vous pouvez vous en passer avec GWT, qui est moins étranger pour les développeurs Java que jQuery et une bibliothèque de haut niveau telle que GXT avec le thème standard.

GWT avec GXT pour nous était un moyen facile et rapide de créer un ensemble d'applications internes. Avec l'équipe de développeurs Java de notre société, nous ne nous approcherions jamais de la qualité ou même de l'exhaustivité des projets dans le même laps de temps.




Pour le point 1, je peux vous donner quelques critères que j'utiliserais:

Lorsque vous utilisez des frameworks basés sur JavaScript, vous êtes généralement très rapide dans la création initiale du code. Dans mon expérience, vous êtes beaucoup plus lent quand il s'agit de maintenance (corrections de bugs, nouvelles fonctionnalités, refactorings) car le support de l'outil n'est pas très bon, comme c'est le cas pour les langages statiquement typés. Donc, pour les projets plus longs ou plus longs, je choisirais toujours GWT à cause de Java et de ses vérifications / écosystème / outils. Je pense que vous bénéficierez d'une meilleure efficacité et d'une mise à l'échelle dans le développement au fil du temps, car vous n'aurez pas de problèmes étranges en raison de la frappe dynamique. Pour les petits projets qui ne dureront pas trop longtemps ou qui n'auront pas besoin de grands refactorings, JavaScript Frameworks peut être une grande poussée dans la vitesse de développement.

Les besoins de débogage dans le contexte de votre plate-forme cible sont également un critère pour moi. Déboguer le code GWT est très agréable tant que vous avez un navigateur qui est supporté par DevMode ou au moins peut être utilisé avec les nouvelles cartes sources SuperDevMode. Par exemple, Safari sur MacOS X n'est pas supporté. Pour les appareils mobiles, vous pouvez déboguer à distance JavaScript sur Android Chrome mais pour autant que je sache, cela n'est pas possible pour GWT.

Un autre critère pour moi est la taille de l'équipe et le taux de roulement. Les outils basés sur Java (IDE, vérificateurs de qualité de code, ...) aident les développeurs, en particulier les nouveaux, à naviguer dans le code d'autres développeurs. Ceci est également vrai pour d'autres langages de types statiques, mais vous avez demandé GWT / Java.

Le prochain est la question de la pile ... GWT résout facilement le client et la partie de la communication à distance si vous utilisez un conteneur de servlet côté serveur. Il est également facile de le combiner avec les technologies d'entreprise Java matures (JPA, EJB, Spring framework, ...). C'est une grande force si vous avez besoin de la pile. Si vous allez polyglotte sans JVM sur votre serveur (comme mentionné ci-dessus), celui-ci n'est pas pour vous.

Bien sûr, il y a plus de critères pour les frameworks GWT et JavaScript.

Et la grande question concerne les préférences. JavaScript a de très bons concepts (par ex. Les fermetures) mais il y a aussi un risque dû à son typage dynamique. lequel préfères-tu?

Concernant le point 2:

Je ne suis pas sûr s'il existe une réelle alternative pour GWT qui offre des fonctionnalités et des outils similaires. La plupart des autres frameworks se concentrent sur un seul aspect (Widgets, optimisation, liaison de données, communication à distance, support du navigateur, I18n, ...). Cela ne veut pas dire que d'autres frameworks sont mauvais, mais vous avez généralement besoin d'une combinaison de différents frameworks pour obtenir les fonctionnalités fournies par GWT.

Concernant le point 3:

  • Je voudrais vraiment jeter un coup d'oeil à TypeScript en raison de son typage amélioré et de l'interopérabilité avec JavaScript
  • Pour autant que je me souvienne, Dart a un objectif similaire
  • L'evergreen est JQuery mais en fonction de vos besoins, il existe de bonnes alternatives. Mais c'est très subjectif
  • Pour les widgets, Twitter Bootstrap ( http://getbootstrap.com/ ) est sympa si c'est une façon de faire les choses qui vous convient. Il y a même une version de GWT ( http://gwtbootstrap.github.io/ )



Je suppose que pour répondre au point 1, il faudrait voir quelle est votre situation actuelle et quels sont vos objectifs.

Si vous avez une équipe de développeurs qui ont utilisé Java la plupart de leurs carrières, vous pouvez probablement attendre 6 bons mois pour apprendre les paradigmes de JavaScript. Si vous avez de l'expérience dans des langues comme Groovy ou Clojure, vous pourriez probablement réduire ce temps. Donc, si vous ne vous attendez pas à ce que le projet dure plus d'un an, alors GWT serait probablement le chemin à parcourir.

Inversement, si vous avez une équipe de développeurs JS, ils peuvent trouver le système de frappe statique plutôt frustrant et apprendre à l'utiliser efficacement pourrait prendre une demi-année pour eux. Donc, si c'est le cas, alors vous ne voudrez probablement pas utiliser GWT pour tout nouveau projet où la courbe d'apprentissage l'emporte sur la productivité.

Je ne suis pas vraiment sûr de ce que le point 2 demande. Si vous posez des questions sur les frameworks de pile entiers, je suppose que vous pourriez trouver quelque chose en utilisant nodejs, bien que je ne pense pas avoir suffisamment d'expérience pour vous conseiller là-dessus.

Au point 3, où je travaille, nous semblons nous diriger vers l'utilisation de frameworks JS (AngularJS en particulier) avec quelques (nouveaux) serveurs / services écrits en Python et Groovy, et les systèmes hérités toujours en Java. Nous avons aussi quelques services écrits à Clojure.




Il semble que la création d'éléments ne vous mènera que si loin. Une fois que vous commencez à enchaîner, la différence de performance est négligeable.

http://jsperf.com/jquery-dom-node-creation

Est-ce que je manque quelque chose?







jquery gwt extjs gxt gquery