java - development - Wicket vs Vaadin
playframework java (6)
(continúa con el comentario en la primera respuesta relacionada con Wicket)
La principal diferencia entre Vaadin y Wicket es cómo se escribe la composición de la interfaz de usuario y el código del lado del cliente. Con Vaadin usualmente compones tu interfaz de usuario sin plantillas o HTML y obtienes una UI elegante y totalmente Ajax ''s fuera de la caja. Sin embargo, si prefiere el enfoque de plantillas simplemente use CustomLayout que hace exactamente eso.
La codificación del lado del cliente raramente es necesaria, pero cuando lo haces, la GWT basada en Java, que es IMO, es mucho más agradable que escribir Javascript a mano. Además, con GWT obtiene automáticamente una solución compatible con varios navegadores en lugar de tener que lidiar con esos problemas usted mismo.
Al comparar marcos, también debe observar la actividad y la documentación de la comunidad. Con Vaadin ambos son excelentes. También tenga en cuenta el Vaadin Directory que actualmente contiene más de 100 componentes de UI muy útiles y otros complementos.
Estoy dividido entre Wicket y Vaadin. Estoy comenzando un micro-isv y necesito hacer una elección de framework web. He reducido mis opciones a Wicket y Vaadin. He usado ambos frameworks y los amo a ambos. sin embargo, necesito tomar una decisión.
Si elijo Vaadin:
- No tendré que preocuparme mucho por la apariencia. Viene con buenos temas.
- Haré toda mi programación en Java, que soy muy bueno y no tendré que pasar mucho tiempo pirateando CSS, que no soy muy bueno.
- Y la mayoría de los componentes que necesitaré para las aplicaciones de negocios están ahí FUERA DE LA CAJA, incluyendo diseño de escritorio, información sobre herramientas, atajos de teclado, tablas con columnas que se pueden arrastrar y colapsibles, por nombrar algunas.
Sin embargo, si tomo el camino de Vaadin:
- Perderé la capacidad de crear IU declarativamente.
- No tendré la función de respaldo si el navegador no admite JavaScript, por ejemplo, la mayoría de los navegadores que no son de Webkit.
- La compañía Vaadin está vendiendo algunos componentes, por ejemplo, el JPAContainer, por lo que no estoy seguro de que la empresa se comprometa a ofrecer un marco completo de código abierto. Los intereses comerciales siempre serán lo primero.
- Las aplicaciones de Vaadin serán principalmente para la intranet. No son muy adecuados para Internet con un aspecto web.
Si tomo el camino de Wicket:
- Tendré que diseñar mis aplicaciones y no puedo darles un aspecto y sensación de escritorio.
¿Algún consejo? Cualquier persona con experiencia en cualquiera de los marcos amablemente me diga los inconvenientes y pros y la forma en que tomó su decisión.
Actualmente estoy trabajando con Wicket y he trabajado en el pase con Vaadin. Seré breve en mis observaciones:
- Vaadin tiene derecho a ser libre, pero IMO, no es tan hermoso así. Si necesita ayuda, ayuda, documentación para los problemas dolorosos y engañosos que encuentra, entonces está jodido porque no tiene una documentación / comunidad tan buena en comparación con Apache Wicket. Vaadin tiene muchachos para ayudarlo, pero tiene que pagarlo .;
- Para programar en wicket necesitas ser un programador fuerte. Vaadin también requiere un buen conocimiento de Java, pero puede hacer fácilmente un código de espagueti si lo desea (simplemente diciendo, no haciendo ...);
- Apache Wicket realmente separa las tecnologías web (Javascript, HTML, etc.) de la tecnología de framework (Java). Vaadin también intenta hacerlo, pero IMO no es tan elegante y transparente en eso.
Aparte de eso, estamos hablando de dos tipos diferentes de marcos, dos enfoques diferentes, que tienen sus pros y sus contras que te aconsejo que busques y compares y veas lo que realmente se ajusta a tus necesidades.
Editar: Ah, y sobre la apariencia, por ejemplo, siempre tienes Wicket Bootstrap
Creo que he invertido algo de tiempo para ambos frameworks. Me gustan mucho los dos porque llevan la codificación Swing-alike al desarrollo web. Y no sé cuáles son más fáciles para mí (aunque hay clic, pero no me gusta la cosa de la técnica de velocidad)
Y sí, hay diferencias.
No tendré que preocuparme mucho por la apariencia. Tiene buenos temas
cierto, pero cada empresa seria diseñará su aplicación de manera diferente (a menos que sea prototipo)
Haré toda mi programación en java, que soy muy bueno y no tendré que pasar mucho tiempo pirateando css, que no soy muy bueno en
Entonces Vaadin sería ''mejor''.
Perderé la capacidad de crear una IU declarativamente.
¿Cuáles son las ventajas de eso? (Por cierto: podría codificar declarado en groovy ;-))
Pero está bien. Sé lo que quieres decir: si puedes esforzar a los diseñadores por separado, el wicket es "mejor".
Apenas puedo darles una apariencia de escritorio.
Por qué no? ¿O qué quieres decir aquí? Wicket admite ajax y hay componentes que admiten cosas agradables de "escritorio" (ajaxlink, perezoso, autocompletado, barra de progreso, ver wicket stuff + extensions). bien, para cualquier componente más complejo tendrás que codificar en javascript, PERO por cierto sabías que incluso podrías usar GWT dentro de wicket
Algunas experiencias menores:
Vaadin es seguramente más rápido mientras se codifica (no CSS, html). Pero si va a la producción, tenga en cuenta que la facilidad de programación puede llegar a costar el rendimiento del lado del cliente: por ejemplo, si utiliza los diseños "incorrectos" como Horizontal / Vertical Layout, ... el uso masivo de JavaScript podría ralentizar abajo del viejo navegador.
¡Pero Vaadin no es lento! Use diseños apropiados como CssLayout o FastLayout y también el viejo navegador puede servirlo. (Aunque si usa CssLayout, su estilo de codificación es realmente similar a wicket).
Un problema con Vaadin es que es un perfil un poco más difícil, porque no se ve fácilmente dónde el cliente necesita toda la CPU y los divs anidados obtienen nombres de identificación crípticos.
Una gran cosa acerca de Wicket es su integración warp persist
(Guice se puede integrar en Vaadin y Wicket)
Probar la interfaz de usuario debería ser fácil con Vaadin (aunque no encontré pruebas de unidades) y es muy fácil con wicket .
Por último, pero no menos importante, la creación de listas / tablas es MUY fácil en Vaadin en comparación con wicket.
He trabajado mucho con Wicket pero no he tenido ninguna experiencia con Vaadin, así que esto podría ser (un poco) parcial.
Recomendaría Wicket por razones obvias, pero lo que probablemente sea de interés para usted es la apertura de Wickets. Como señaló correctamente Gweebz, Wicket utiliza el marcado HTML básico como su base, por lo que cualquier cambio estructural o cosmético a menudo es trivial de implementar.
Personalmente, una de las cosas que realmente disfruto del trabajo de wicket es el flujo entre la presentación frontal y el backend de datos. Hemos implementado Spring & JPA / Hibernate, lo que significa que cualquier cambio en el front-end puede traducirse a la base de datos. con una sola línea de código gracias a la arquitectura basada en modelos de Wickets.
De nuevo, no puedo decir mucho porque Vaadin nunca trabajó con él, pero si está buscando arquitecturas para comenzar, también le recomiendo que eche un vistazo a GWT.
También tenga en cuenta que, aunque el marco base de Vaadin es gratuito, para algunas funcionalidades adicionales es posible que necesite comprar extensiones.
Por ejemplo, si necesita integrar una buena solución de gráficos como Highcharts, tendrá que pagar y comprar la extensión de gráficos vaadin (aunque Highcharts está disponible de forma gratuita para las aplicaciones de FOSS, el complemento de gráficos vaadin incorporado no es gratuito). Aplicaciones FOSS).
Tengo una cantidad limitada de experiencia con cada uno, pero prefiero Vaadin. Permitió una experiencia más rica con la aplicación web que estaba desarrollando. Sin embargo, el principal beneficio que nos vendió fue lo fácil que fue escribir pruebas unitarias alrededor de nuestras clases de IU, asegurando que los componentes funcionaran correctamente cuando interactuaban de la manera esperada. Esto también es posible con Wicket, pero fue más difícil en mi experiencia.
También mencionaré que cualquiera de los marcos requerirá un poco de estilo. Wicket comienza como un simple HTML antiguo y Vaadin comienza con un tema similar a MacOSX de forma predeterminada, pero casi cualquier aplicación web que escriba requerirá al menos ALGUNA personalización. Con esto en mente, personalizar el CSS de una aplicación Wicket es SIGNIFICATIVAMENTE más fácil que Vaadin por la simple razón de que usted controla el marcado. Vaadin oculta el marcado de usted y genera elementos con identidades y estructuras raras, por lo que es más difícil personalizar el aspecto. Solo recuerda esto cuando tomes tu decisión.