Question

Je ne suis pas un développeur Java afin que je puisse obtenir des termes mal ... mais.

Une application I Intégration avec se déplace du printemps à Wicket. Bien qu'il ne devrait pas affecter mon intégration avec elle, je me suis demandé pourquoi ils feraient cela?

D'après ce que je sais le printemps est le cadre plus populaire. Je ne sais rien à ce sujet, sauf qu'il est populaire. Je l'ai lu la page et Wicket Wicket semble vraiment simple et directe.

Quels sont quelques-uns des avantages de Wicket?

Il me semble que changer votre cadre ensemble serait un travail si je me demande si Wicket offre quelque chose que le printemps ne fonctionne pas?

Était-ce utile?

La solution

Des avantages qui se vantés dans les milieux que je fréquente sont souvent:

  1. Votre html peut être entièrement compatible xhtml - il y a une très belle séparation de la présentation et de la logique en ce que la seule chose que votre présentation / couche html a besoin de connaître sont des attributs wicketid wicket dans les balises HTML standard. C'est merveilleux pour le html / css / javascript type côté client de votre équipe qui fait peu ou pas de travail réelle java. Aucun autre framework web java peut demander ce, autant que je sache.
  2. Pas de config xml pour quoi que ce soit spécifique wicket - tout peut être fait dans la source et très peu de besoins à faire à la norme web.xml pour votre .war
  3. développement à base de composants est assez facile à grok - surtout si vous avez un fond non web (par exemple un programmeur swing). il encourage la réutilisation d'un peu plus de mvc ne, imo.

Autres conseils

Voici quelques caractéristiques de apache wicket:

POJO modèle de composants

Pages et composants Wicket sont de véritables objets Java qui prennent en charge l'encapsulation, l'héritage et les événements.

Facilité de développement

Parce que Wicket est Java et HTML, vous pouvez tirer parti de ce que vous savez sur Java ou votre éditeur HTML favori pour écrire des applications Wicket.

Séparation des préoccupations

Wicket ne se mélange pas avec le balisage du code Java et ajoute pas de syntaxe particulière à vos fichiers de balisage. Les mondes de HTML et Java sont parallèles et associés uniquement par Wicket ids, qui sont des attributs en HTML et des propriétés des composants en Java. Depuis Wicket HTML est juste HTML et Java Wicket est juste Java, codeurs et les concepteurs peuvent travailler de façon autonome dans une large mesure et sans compter sur des outils spéciaux.

sécurisé

Wicket est sécurisé par défaut. URL ne pas exposer des informations sensibles et tous les chemins sont composantes session relative. étapes explicites doivent être prises pour partager l'information entre les sessions. En outre le chiffrement URL permet aux sites Web hautement sécurisés.

Transparent, Clustering évolutive support

Toutes les applications Wicket fonctionneront sur un cluster automatiquement et sans travail supplémentaire. Une fois que les goulots d'étranglement sont compris, Wicket permet un réglage de la réplication de l'état de la page. La prochaine version de Wicket soutiendra les modèles côté client pour une évolutivité état zéro.

Retour transparent soutien

Wicket prend en charge la gestion des versions de la page configurable. Lorsque les utilisateurs soumettent un formulaire ou cliquer sur un lien d'une page ils ont eu accès avec le bouton de retour dans leur navigateur, Wicket est capable de revenir l'objet de la page à l'état où il était lorsque la page a été rendue. Cela signifie que vous pouvez écrire des applications Web qui prennent en charge le bouton de retour avec très peu de travail.

Multi-onglet et multi-fenêtre

Wicket fournit un moyen facile d'écrire application qui supporte le multi-fenêtre et l'utilisation multi-onglet permettant développeur de réagir correctement lorsque les utilisateurs fenêtre ouverte nouveau navigateur ou onglet

Composants réutilisables

composants réutilisables dans Wicket sont particulièrement faciles à créer. étendre Non seulement pouvez-vous les composants existants avec le mot-clé extends Java, mais vous pouvez aussi créer des composants du panneau qui associent un groupe de composants comme une unité réutilisable.

Simple, flexible, forme localisable Validation

Il est trivial d'écrire et utiliser validateurs dans Wicket. Il est également très facile à personnaliser et localiser l'affichage et le contenu des messages d'erreur de validation.

Sessions Typesafe

Wicket élimine la nécessité de gérer les attributs HttpSession à la main. Page et d'objets composants sont stockés de manière transparente dans la session et votre application peut créer une sous-classe de session personnalisée avec Typesafe propriétés aussi bien. Tous les objets stockés dans la session peuvent participer automatiquement à la réplication de clusters.

personnalisable usine

Wicket est très extensible. La plupart des opérations sont personnalisables par les usines ou les méthodes d'usine.

Modèles détachables

Les objets de modèle dans Wicket peut être très léger en termes de mémoire et l'utilisation du réseau dans un cluster. Lorsqu'un modèle est utilisé, il peut « fixer », se peuplant des informations de stockage persistant. Lorsque le modèle est plus utilisé, l'information transitoire peut être remise à zéro, ce qui réduit la taille de l'objet.

Composants Border

Wicket composants frontaliers permettent la décoration des pages d'une manière réutilisable. Ceci est particulièrement utile pour l'héritage des structures de navigation communes ou la mise en page.

Support pour toutes les fonctions de base HTML

Wicket prend en charge les balises d'images, des liens, des formes et tout ce que vous êtes habitué à utiliser en ynotre développement d'applications Web.

Manipulation Programmatic des attributs

Composants Wicket peuvent modifier par programme tout attribut de balise HTML.

Conversion automatique

Une fois un formulaire valide, le modèle peut être mis à jour en utilisant des convertisseurs de Wicket. La plupart des conversions ordinaires sont intégrées et il est facile d'écrire de nouveaux convertisseurs.

Images dynamiques

Wicket utilise l'image, le partage et la génération très facile. Les images dynamiques peuvent être créées en mettant en œuvre simplement une méthode de peinture.

paginable ListView

listviews dans Wicket sont extrêmement puissants. Vous pouvez imbriquer tout type de composant dans une rangée ListView, même d'autres listviews. PageableListView soutient les liens de navigation pour les grandes listes.

Composant Arbre

rupture du composant d'arbre de boîte pour la navigation et la sélection de noeuds.

Localisation

pages HTML, les images et les chaînes de ressources peuvent tous être localisés.

Printemps plus de Spring MVC. Vous pouvez (et probablement devriez) utiliser Spring avec Wicket.

roches Wicket!

Spring (la partie de l'interface utilisateur qui est appelé Spring MVC) semble juste être un méga, « tout faire, y compris l'évier de cuisine », type de cadre qui a fait paraître énorme et difficile à manier pour moi quand j'ai commencé à évaluer Spring (et Spring MVC). Aujourd'hui printemps ne me semble pas être concentré sur une seule chose. Au départ, je pense qu'il était tout simplement un cadre d'injection de dépendance, mais il est rapidement grandi pour essayer d'être tout à tous les gens et la simplicité était perdue.

Les livres que je lis sur Spring avaient des exemples qui contenaient beaucoup trop configuration XML. Des erreurs dans les fichiers de configuration XML sont beaucoup plus difficiles à déboguer et à corriger que les erreurs dans le code java que vous pouvez seule étape grâce à votre débogueur.

Quel est le problème avec la déclaration des choses dans le code Java XML au lieu de toute façon? Depuis quand le décret de quelqu'un que tout doit être déclarée en XML de toute façon. Si vous aimez nager dans une mer de fichiers de configuration XML complexes alors allez avec le printemps. Si vous aimez faire le travail fait et être productif puis aller avec Wicket.

Wicket est très concentré sur être le meilleur cadre de l'interface utilisateur à base de Java pour le développement d'applications web. Il ne cherche pas à vous enfermer dans aucun cadre d'injection de dépendance particulière ou tout autre cadre de persistance particulier (utiliser avec JDO / JPA, DataNucleus, Hibernate, peu importe).

Il est clairement Concentrons l'assurance-chômage, mais vous pouvez utiliser un cadre d'injection de dépendance que vous aimez (vous ne devez pas utiliser DI Spring avec elle, mais vous pouvez si vous voulez). Nous utilisons même notre propre DI ( http://www.expojo.com ) avec Wicket et tout est funky.

Le printemps est plus globale que Wicket.

Wicket est un framework d'interface utilisateur Web Java. Le printemps est un aussi, ainsi que des modules pour la persistance, Remoting, sécurité, messagerie, etc.

Le printemps est construit sur l'injection de dépendance et AOP. Wicket n'a ni.

Je ne l'ai pas utilisé, mais il est censé être simple. Je ne peux pas dire si le printemps est plus facile ou plus difficile.

Vous pouvez utiliser Spring à profit dans beaucoup de situations en dehors des applications Web.

Vous pouvez lire sur les avantages de l'utilisation Wicket dans le libre premier chapitre de Wicket En action: http: / /www.manning.com/dashorst/

En bref, Wicket est un cadre lorsque l'application que vous développez est relativement complexe, vous voulez qu'il soit maintenable, pouvoir à l'échelle de l'équipe et tirer profit de la réutilisation. la programmation orientée objet est avéré être un paradigme très utile pour la programmation UIs, mais malheureusement, la plupart des cadres de Java pour développer des applications web, y compris Spring MVC, soutenir seulement un modèle de programmation très procédurale où ils étiquettent le terme MVC à faire sonner froid (mais en fait, étant donné que la granularité qu'ils soutiennent sont demande / réponse plutôt que l'auto vols aller-retour contenu des widgets, MVC est vraiment trompeuse).

La partie DI du printemps est grande, et est quelque chose que vous pouvez facilement utiliser avec Wicket.

Je suis d'accord avec les réponses fournies jusqu'à présent. Ce qui n'a pas été mentionné sont les points suivants, qui sont une conséquence de l'approche de Wicket du développement d'applications Web axé sur le code Java: -

  • le développement de Wicket ne comporte pas l'écriture des pages JSP.
  • composants AJAX peut être développé sans impliquer l'écriture de Javascript.

Je ne suis pas venu dans un autre cadre qui prend cette approche Java centrée. Tous les autres que j'ai utilisé (Struts, Spring) impliquent le développement JSP.

Pour moi un grand avantage de Wicket est l'accent mis sur Java, et de riches outils availablity environnement de développement comme Eclipse. Aussi la séparation très propre de la logique métier des aspects de présentation de l'application.

Quelques avantages de Wicket J'aime:

  1. Simplicité - La courbe d'apprentissage est faible, surtout si vous êtes de l'école Swing
  2. .
  3. propre séparation des préoccupations - concepteur Web n'a pas besoin de savoir beaucoup sur les codes
  4. .
  5. Facilité de déploiement.

    Voici mon blog pour montrer bonjour les codes du monde dans Wicket

Le printemps vous donne le modèle de conception MVC seulement au niveau de la page - un niveau très grossier de granularité en effet. Wicket, en revanche, vous donne le modèle de conception MVC au niveau des composants individuels (bien que Swing offre pour la programmation de gros client). Avec Spring MVC, toutes les données d'un formulaire est globale à l'ensemble servlet avant, donc il n'y a pas beaucoup d'opportunités pour se cacher de l'information, couplage lâche, ou la cohésion serré. Avec Wicket, votre logique d'affichage peut être beaucoup plus modulaire -. Les données gérées par Componenta ne doit pas être visible au code pour componentB

Le niveau de granularité plus petite rend beaucoup plus facile de réutiliser le code d'affichage à travers un certain nombre de pages Web ou même à travers des applications web.

En outre, parce que la configuration composants se fait en Java plutôt que XML, ils peuvent être configurés sur la volée lors de l'exécution, ce qui rend la puissance et la flexibilité beaucoup plus grande (par opposition à la plupart des autres cadres orientés composants tels que ASP Web Forms .NET ou Java Server Faces).

Un autre avantage de Wicket sur d'autres frameworks web Java populaires est qu'il vous permet de créer des applications web modulaire et extensible. Ceci est particulièrement utile lorsque vous concevez un produit basé sur le Web, que vous envisagez d'étendre en ajoutant des fonctionnalités supplémentaires et des pages sous forme de plug-ins au moment du déploiement, et en éliminant l'impact sur la fonctionnalité de base / source de votre produit. Voici un très bon article là-dessus.

http://www.infoq.com/articles/modular-wicket

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top