Guichet vs Vaadin

Je suis déchiré entre Wicket et Vaadin. Je commence une micro-entreprise et je dois choisir un cadre Web. J’ai restreint mes choix à Wicket et Vaadin. J’ai utilisé les deux frameworks et je les aime tous les deux. Cependant, je dois faire un choix.

Si je choisis Vaadin:

  1. Je n’ai pas à m’inquiéter de l’apparence. Il est livré avec de jolis thèmes.
  2. Je vais faire toute ma programmation en Java qui est très bonne et qui ne devra pas passer du temps à pirater les CSS, ce qui n’est pas très bon pour moi.
  3. Et la plupart des composants dont j’ai besoin pour une application métier sont OUT OF THE BOX, notamment la mise en page, les infobulles, les raccourcis clavier, les tableaux avec colonnes déplaçables et les colonnes réductibles.

Cependant, si je vais à la manière de Vaadin:

  1. Je perdrai la possibilité de créer l’interface utilisateur de manière déclarative.
  2. Je ne vais pas avoir la fonctionnalité de secours si le navigateur ne supporte pas JavaScript – par exemple la plupart des navigateurs mobiles non Webkit.
  3. La société Vaadin vend certains composants – par exemple le JPAContainer, je ne suis donc pas sûr que la société s’engage à offrir un cadre open source complet. Les intérêts commerciaux seront toujours prioritaires.
  4. Les applications Vaadin seront principalement destinées à l’intranet. Ils ne sont pas très adaptés à Internet avec une apparence Web.

Si je vais à la manière Wicket:

  1. Je vais devoir styler mes applications et je peux difficilement leur donner une apparence de bureau.

Aucun conseil? Toute personne ayant de l’expérience dans l’un ou l’autre de ces frameworks me dit gentiment les inconvénients et les avantages et comment vous avez pris votre décision.

    Je pense avoir investi du temps pour les deux frameworks. J’aime vraiment les deux car ils apportent le codage Swing-alike au développement web. Et je ne connais pas les plus faciles pour moi (bien qu’il y ait un clic mais je n’aime pas le truc de vélocité)

    Et oui, il y a des différences.

    Je n’ai pas à m’inquiéter de l’aspect et de la sensation.

    C’est vrai, mais chaque entreprise sérieuse va définir son application différemment (sauf si vous faites du prototypage)

    Je vais faire toute ma programmation en Java qui est très bon et qui ne devra pas passer du temps à pirater des css qui ne sont pas très bons à

    Alors Vaadin serait «mieux».

    Je perdrai la possibilité de créer l’interface utilisateur de manière déclarative.

    Quels sont les avantages de cela? (BTW: vous pourriez coder déclaratif dans groovy ;-))

    Mais d’accord. Je sais ce que vous voulez dire: si vous pouvez vous efforcer de séparer les concepteurs que le guichet, c’est «mieux».

    Je peux difficilement leur donner une apparence de bureau.

    Pourquoi pas? Ou qu’est-ce que tu veux dire ici? Wicket supporte ajax et il y a des composants qui supportent de jolies choses “de bureau” (ajaxlink, lazycomponent, autocompletion, progressbar, see wicket stuff + extensions). ok, pour tout composant plus complexe, vous devrez coder en javascript MAIS BTW saviez-vous que vous pouviez même utiliser GWT dans le guichet

    Quelques expériences mineures:

    Vaadin est sûrement plus rapide lors du codage (pas de css, de trucs html). Mais si vous allez en production, gardez à l’esprit que la facilité de programmation peut se traduire par une baisse des performances du côté client: par exemple, si vous utilisez des mises en page “incorrectes” telles que Horizontal / VerticalLayout, vieux navigateur.

    Mais Vaadin n’est pas lent! Utilisez les dispositions appropriées telles que CssLayout ou FastLayout et l’ancien navigateur peut également le servir. (Bien que si vous utilisiez CssLayout, votre style de codage se ressemblait vraiment.)

    L’un des problèmes de Vaadin est qu’il est un peu plus difficile à profiler, car vous ne voyez pas facilement où le client a besoin de tout le processeur et les divs nesteds reçoivent des noms d’identifiants cryptés.

    Une bonne chose à propos de Wicket est son intégration persistante

    (Guice peut être intégré dans Vaadin et Wicket)

    Test de l’interface utilisateur devrait être facile avec Vaadin (bien que je n’ai pas trouvé de trucs de test d’unité) et est très facile avec le guichet .

    Last but not least créer des listes / tables est très facile à Vaadin par rapport au guichet.

    J’ai beaucoup travaillé avec Wicket mais je n’ai pas eu d’expérience avec Vaadin, donc cela pourrait être (un peu) biaisé.

    Je recommande Wicket pour des raisons évidentes, mais ce qui vous intéresse probablement, c’est l’ouverture de Wickets. Comme Gweebz l’a souligné à juste titre, Wicket utilise le balisage HTML de base comme base, de sorte que toute modification structurelle ou esthétique est souvent sortingviale à mettre en œuvre.

    Personnellement, l’une des choses que j’apprécie vraiment sur le travail sur guichet est le stream entre la présentation frontale et le backend des données, nous avons implémenté Spring & JPA / Hibernate, ce qui signifie que tout changement dans le frontal peut être traduit dans la firebase database avec une seule ligne de code grâce à l’architecture basée sur le modèle Wickets.

    Encore une fois, je ne peux pas dire grand chose pour Vaadin qui n’a jamais travaillé avec elle, mais si vous cherchez des architectures pour commencer, je vous recommande également de jeter un coup d’œil à GWT.

    (suite du commentaire dans la première réponse liée au Wicket)

    La principale différence entre Vaadin et Wicket réside dans la manière dont la composition de l’interface utilisateur et le code côté client sont écrits. Avec Vaadin, vous composez généralement votre interface utilisateur sans aucun modèle ni HTML et vous obtenez une interface utilisateur élégante, entièrement Ajax. Toutefois, si vous préférez l’approche basée sur les modèles, utilisez simplement CustomLayout, qui fait exactement cela.

    Le codage côté client est rarement nécessaire, mais quand vous le faites, vous le faites avec la GWT basée sur Java, qui est beaucoup plus agréable que l’écriture de Javascript à la main. De plus, avec GWT, vous obtenez automatiquement une solution compatible avec tous les navigateurs au lieu de devoir gérer ces problèmes vous-même.

    Lorsque vous comparez des frameworks, vous devriez également examiner l’activité et la documentation de la communauté. Avec Vaadin, les deux sont excellents. Notez également le répertoire Vaadin qui contient actuellement plus de 100 composants d’interface utilisateur très utiles et d’autres addons.

    J’ai une expérience limitée avec chacun mais je préfère Vaadin. Cela a permis une expérience plus riche avec l’application Web que je développais. Le principal avantage qui nous a vendu a été la facilité avec laquelle il était possible d’écrire des tests unitaires autour de nos classes d’interface utilisateur, en veillant à ce que les composants fonctionnent correctement lorsqu’ils sont interagis de la manière attendue. Cela est également possible avec Wicket, mais c’était plus difficile dans mon expérience.

    Je mentionnerai également que les deux frameworks nécessiteront un style. Wicket démarre en tant que vieux HTML et Vaadin démarre avec un thème de type MacOSX par défaut, mais presque toutes les applications Web que vous écrivez nécessitent au moins la personnalisation SOME. Dans cette optique, la personnalisation du CSS d’une application Wicket est considérablement plus facile que Vaadin pour la simple raison que vous contrôlez le balisage. Vaadin cache le balisage et génère des éléments avec des identifiants et des structures étranges, de sorte qu’il est plus difficile de personnaliser l’apparence. Rappelez-vous ceci lorsque vous prenez votre décision.

    Je travaille actuellement avec Wicket et j’ai travaillé sur le pass avec Vaadin. Je serai bref dans mes observations:

    • Vaadin a le droit d’être libre, mais l’OMI n’est pas si belle comme ça. Si vous avez besoin d’assistance, d’aide, de documentation pour les problèmes douloureux et délicats que vous rencontrez, alors vous êtes foutu parce que vous n’avez pas une si bonne documentation / communauté par rapport à Apache Wicket. Vaadin a des gars pour vous aider, mais vous devez payer pour cela.
    • Pour programmer en guichet, vous devez être un programmeur solide. Vaadin nécessite également de bonnes connaissances en Java, mais vous pouvez facilement faire du code spaghetti si vous le souhaitez (en disant, ne pas faire ..);
    • Apache Wicket sépare vraiment les technologies web (Javascript, HTML, etc.) de la technologie framework (Java). Vaadin essaie aussi de le faire, mais l’OMI n’est pas si élégante et transparente à ce sujet.

    À part cela, nous parlons de deux types de frameworks différents, deux approches différentes, qui ont des avantages et des inconvénients que je vous conseille de rechercher et de comparer et de voir ce qui correspond vraiment à vos besoins.

    Edit: Oh, et à propos de l’apparence, par exemple, vous avez toujours Wicket Bootstrap

    Notez également que même si l’infrastructure de base de Vaadin est gratuite, vous devrez peut-être acheter des extensions pour certaines fonctionnalités supplémentaires.

    Ex – Si vous avez besoin d’intégrer une bonne solution graphique comme Highcharts, vous devrez payer et acheter l’extension des cartes vaadin (même si des applications high-tech sont disponibles gratuitement pour les applications FOSS, le plug-in de cartes vaadin est gratuit). Applications FOSS).