Quelle technologie web Java pour apprendre à développer des applications Internet riches?

StackOverflow https://stackoverflow.com/questions/1401483

  •  05-07-2019
  •  | 
  •  

Question

J'ai développé des applications Web utilisant JSF (composants myfaces). Mais en ces jours d’interface utilisateur réactive, JSF n’a pas de bons résultats. J'entends beaucoup parler d'AJAX, GWT, etc. Je voulais donc connaître votre avis sur la technologie / le cadre Web que je devrais apprendre pour développer des applications Web pour les produits d'entreprise. Certaines des technologies Web que j’entends sont les suivantes:

  1. Visages ICE (avec prise en charge d'AJAX Bridge)
  2. GWT
  3. extJS et extGWT
  4. JavaFX
  5. Apache Wicket
  6. Jquery
  7. AJAX
  8. Ouvrez laszlo

Lequel de ces éléments ou la combinaison de ceux-ci m'aiderait?

Certains des paramètres sur lesquels vous pouvez évaluer ces technologies Web sont:

  
      
  1. Facilité d'apprentissage
  2.   
  3. Caractère maintenable du code de l'application Web
  4.   
  5. Soutien de la communauté
  6.   
  7. Prise en charge de l'IDE - Eclipse ou NetBeans
  8.   
  9. Disponibilité des composants standard (zone de texte, grilles de tableau, menus d'options, par exemple)
  10.   
  11. Licence - cela coûte-t-il pour une utilisation commerciale?
  12.   
  13. User Experience - Interface utilisateur réactive. Ne devrait pas être lent
  14.   

Une question similaire sur le SO ne répond en partie à ma question. Voudrais plus d'informations cependant.

EDIT: Réponses rassemblées: Basé sur les réponses: AJAX serait la meilleure chose à faire pour apprendre les bases, puis pour apprendre JQUERY. Tout travail de base basé sur des composants pouvant compléter ajax, jquery?

Modifier 2: Si je devais concevoir une application Web comme StackOverFlow (en plate-forme java), quel serait le meilleur choix à apprendre et à adopter?

  

Wicket + Jquery, WiQuery

     

GWT

     

Quelques visages XYZ   technologie (RichFaces / ICEFaces) + AJAX.

Les commentaires appréciés par quelqu'un qui a travaillé avec eux et peut les évaluer en fonction des paramètres mentionnés ci-dessus.

Était-ce utile?

La solution

AJAX n’est qu’un terme (à mon humble avis, dénué de sens).

jQuery est, à mon avis, la façon de faire du Javascript. À moins d'une exigence insurmontable interdisant son utilisation, je le recommande si vous avez besoin d'écrire du Javascript vous-même (notez que si vous utilisez GWT, vous utilisez Javascript, mais pas l'écrivant , vous ne le faîtes donc pas ». pas besoin de jQuery).

  1. Facilité d’apprentissage: vous devez changer votre état d’esprit par rapport à JS de style procédural traditionnel [jQuery est toujours procédural, mais présente un grand aspect déclaratif]. Si vous n'avez jamais écrit Javascript, il serait peut-être plus facile d'approcher
  2. Caractère maintenable du code de l'application Web: très
  3. Soutien de la communauté: beaucoup
  4. Prise en charge de l'IDE - Eclipse ou NetBeans: Je ne le pense pas. Ça ne me manque pas; Je déteste écrire assez de Javascript pour me faire rater un IDE.
  5. Disponibilité des composants immédiatement disponibles (boîte de texte, grilles de tableau, menus d'options, par exemple): l'interface utilisateur de jQuery en contient un peu et contient beaucoup de matériel
  6. Licence - Cela coûte-t-il pour une utilisation commerciale ?: Non

Parmi les autres technologies que vous mentionnez:

  1. GWT: Je pense que cela est intéressant si vous êtes un site intranet cible ou quelque chose de similaire, écrivez des sites Web très similaires à des postes de travail (pensez à Gmail, pas à un site de contenu typique). Je suppose que vous devez faire un effort important pour rendre vos sites Web basés sur GWT explorables par les moteurs de recherche et pour pouvoir être utilisés par des navigateurs non sophistiqués (c.-à-d. Que GWT serait inutile pour les navigateurs sans JS comme certains téléphones cellulaires)
  2. JavaFX. Je crois que c'est juste un gadget. N'ajoute pas grand chose aux applets Java et n'a pas la même inertie que Java.
  3. Apache Wicket: cela se trouve sur ma liste d’enquêtes
  4. OpenLaszlo: semble très intéressant si vous voulez faire du Flash sans licence payante.

Comme je le suggère.

Je vous suggère d’apprendre à développer vos sites Web sans JS au début. Ajoutez ensuite JS (avec jQuery), google "amélioration progressive".

Une fois que vous pouvez le faire, vous pouvez apprendre à utiliser quelque chose comme GWT et l'utiliser si cela est justifié.

Autres conseils

Je recommande vivement Apache Wicket. Je vois que vous avez commenté / modifié la question pour dire que vous vous penchez vers Ajax / JQuery et que vous demandez des frameworks de composants qui complètent ceux-ci.

IMO parmi les frameworks basés sur les composants, Wicket offre la meilleure intégration avec les bibliothèques JavaScript tierces. J'ai personnellement évalué les prétendants GWT, Tapestry et JSF - mais Wicket facilite vraiment:

  • contribuez javascript au HTML > HEAD
  • injecter du code de rappel ajax (ou du javascript personnalisé) dans une page Web
  • appeler un événement sur un composant avec état côté serveur
  • exécuter un code javascript arbitraire avant ou / et après le déclenchement d'une demande Ajax (XHR)

Vous pouvez voir ce billet sur comment intégrer YUI à Wicket , les mêmes concepts peuvent facilement être étendus à JQuery.

Cela dit, le support Ajax intégré de Wicket vous permet en fait de créer des interfaces utilisateur riches sans écrire une seule ligne de code javascript. Pensez au rafraîchissement dynamique de certaines parties d’une page Web, des boîtes de dialogue contextuelles, etc.

Je connais également un projet d'intégration Wicket-JQuery appelé WiQuery . je ne l'ai pas encore essayé.

Je travaille pour GWT (avec GWT-ext) pour mon dernier projet et l’ai beaucoup plu. En plus de cela, jQuery a toujours été une aubaine, et je l'utiliserai chaque fois que je ne disposerai pas d'un framework plus robuste.

Si vous devez utiliser assez de Javascript / AJAX, vous voulez absolument apprendre et utiliser jQuery! Cela m'aurait évité des années de chagrin s'il avait été publié en 1999.

J'ai tendance à me concentrer sur les connaissances fondamentales. Vous souhaiterez donc peut-être bien comprendre le javascript, y compris le javascript orienté objet.

Une fois que vous connaissez bien le javascript, les bibliothèques sont faciles à prendre en main.

Vous voudrez peut-être comprendre quelques-unes des fonctionnalités de HTML5 qui pourraient être utiles, telles que la balise.

Vous voudrez peut-être aussi apprendre ActionScript 3, car cela vous aidera à comprendre le fonctionnement de Flash, car vous saurez quel code est généré par cette idée. J'ai utilisé un script ant pour compiler mon code actionscript à l'aide d'Eclipse.

Silverlight gagne en popularité, mais cela nécessite VisualStudio Express, mais c’est un concurrent sérieux avec Flash.

Pour le reste, une référence passante peut être utile, car votre liste n'est pas exhaustive, mais assurez-vous de bien comprendre les langages de base pour ceux-ci et les cadres que vous pouvez maîtriser rapidement.

Si vous souhaitez avoir une expérience client / serveur via un navigateur Web, je vous conseillerais de consulter GWT avec le plug-in Google Eclipse. Ce type de technologie vous permet d’écrire vraiment les applications Web les plus réactives que vous puissiez obtenir (de mon point de vue).

Sinon, si vous souhaitez développer des applications Web plus traditionnelles et simplement ajouter des fonctionnalités Ajax, consultez DWR (Direct Web Remoting). Ce type de technologie vous permet de relier des objets Java côté serveur au côté client pour pouvoir utiliser leurs fonctionnalités via JavaScript. Cela vous aidera à écrire votre fonctionnalité Ajax et éventuellement à réutiliser la logique existante.

Bien sûr, jQuery est toujours une bonne alternative.

Couture, Printemps, Richfaces, Ajax4jsf

Je suis sur la même piste que vous, essayant de déterminer quel sera mon outil de développement côté serveur + côté client pour un site Web gigantesque. Autant que j'ai pu voir et lire, comme toujours, cela dépend du type d'application Web dont vous avez besoin.

Certaines personnes utilisent différents frameworks javascript, basés sur la facilité d'utilisation, la déclaration, l'orientation orientée objet, etc.

Il y a plusieurs choses à considérer: 1) Technologie côté client   1a) "Core" technologie côté client: cadres   1b) Améliorations technologiques de l'interface utilisateur côté client 2) Technologie côté serveur

Pour "core" Javery, MooTools (licence MIT), ExtJS Core (licence MIT) (et non ExtJS: il s’agit des gadgets ExtJS Core + UI et de la licence commerciale ultérieure requise, Yahoo UI, etc. Vous pouvez les comparer dans des sites comme celui-ci: http://www.domassistant.com/slickspeed/

Ce test " en quelque sorte " compare différents aspects de chacun de ceux-ci "de base" cadres javascript du client.

Qu'est-ce que vous obtenez de ces frameworks? La plupart d’entre eux vous permettent d’être " multi-navigateurs " compatibles, et chacune d’elles a plusieurs syntaxes et manières différentes.

Juste une question de test et de recherche de celui que vous préférez.

Ainsi, avec cela, vous obtenez juste un moyen de coder pour "everybrowser".

Désormais, si vous avez besoin des "gadgets Widgets / Contrôles / Interface utilisateur", chaque "élément principal" Le framework a sa propre extension liée à l'interface utilisateur.

Même certains d’entre eux peuvent interagir. J'ai lu des informations sur les implémentations d'ExtJS (pas le noyau, celui qui contient plusieurs bons éléments d'interface utilisateur) pouvant se connecter à jQuery.

Ainsi, pour le côté client, vous devez choisir votre "noyau". cadre, et si vous avez besoin de l'interface utilisateur, alors, une interface utilisateur qui leur est associée.

Plusieurs IDE sont compatibles avec ces frameworks, notamment Aptana, Eclipse, Netbeans (la dernière version s’intègre très bien avec javascript) ou du côté de Microsoft Expression, Visual Studio Express ou "Pro".

C’est également un fait que jQuery a été inclus "en l’état". et pris en charge par Microsoft et Nokia. Donc, jQuery va attirer plus d’attention maintenant, plus de support et plus de "public", je prédis que cela va attirer beaucoup d’attention et d’améliorations. Ils n’ont pas acheté jQuery, ils y ont adhéré en tant que source ouverte incluse dans les solutions VS à partir de maintenant. Et sera très étroitement couplé avec ASP.NET MVC, des composants et autres.

Quoi qu’il en soit, jQuery, comme je l’ai déjà dit, n’est pas le seul et pas nécessairement le meilleur.

Pour le côté serveur, tout dépend de vos connaissances: Java, ASP.NET, tout ce que vous sentez à l'aise.

J'espère que vous trouverez cela utile.

Ma sélection est GWT car le programme GWT écrit en langage de programmation Java et ce langage de programmation est très puissant et facile à comprendre.

jQuery et ext-js sont également bons, mais j’ai eu quelques problèmes avec le langage de programmation JavaScript. ce langage de programmation est très sujet aux erreurs.

Le codage Apache Wicket aime GWT, mais c’est une technologie côté serveur et une technologie lourde.

Parce que le programme JavaFX nécessite un plugin, ce n’est pas ma sélection.

Je vous recommande d'utiliser jQuery ou ext-js si vous n'avez pas de problème avec JavaScript.

Vous devrez probablement apprendre une combinaison d'outils, mais vous devrez probablement commencer par AJAX, puis passer à certaines bibliothèques JS (JQuery, prototype-scriptaculous, MooTools, etc.).

Ceux-ci complimenteront également un cadre JSF.

Vous pouvez également prendre en compte la plate-forme Eclipse Rich Ajax lors de l'évaluation de plates-formes RIA basées sur Java.

Je vous conseillerais de consulter Vexi , qui propose des applications de type bureau plus flexibles. qu'un Applet + Swing / AWT.

(Avertissement: je suis un développeur de Vexi)

Les applications ressemblent à un ordinateur de bureau - riches et réactives - et sont des interfaces utilisateur "projetées". Sur internet. Toute la logique de l'application réside sur le serveur que vous créez dans la langue de votre choix et que vous exposez via une interface XmlRpc.

Le principal avantage de Vexi est que la mise en page est vraiment facile, car il s’agit d’un modèle à boîte. C'est plus facile à comprendre que le HTML même.

<box>
    <box orient="vertical">        .-------------------.
        <box fill="red" />         |   red   |         |
        <box fill="blue" />        |---------|  green  |
    </box>                         |   blue  |         |
    <box fill="green" />           '-------------------'
</box>

Les scripts sont réalisés avec JavaScript et un jeu de widgets extensible est disponible. Utiliser des widgets est également facile.

<button id="button1" text="My button" />
<textarea id="text1" shadowtext="Type in here!" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top