web-applications - most - ranking java frameworks
Experiencia del mundo real ZK vs GWT (6)
GWT y ZK proporcionan un marco para habilitar Ajax en Java. Ambos están maduros y no tienen problemas de incompatibilidad con el navegador (ZK se basa en jQuery).
Sin embargo, son muy diferentes arquitectónicamente. GWT es un enfoque del lado del cliente, todo el código se ejecuta en el cliente, mientras que el enfoque ZK del lado del servidor, todo el código se ejecuta en el servidor (pero tienen la opción de escribir parte del código de la aplicación en el cliente). Entonces, su colega estaba equivocado y usted ya lo sabe: GWT expuso la lógica de negocios en el cliente, no en ZK.
La ventaja de GWT (como un enfoque del lado del cliente) es una capacidad de respuesta más rápida (menos solicitudes de cliente-servidor si están bien diseñadas). La desventaja es que tiene que hacer todos los cálculos de datos entre el cliente y el servidor (GWT RPC / JSON solo admite objetos muy simples). Por el contrario, la ventaja de ZK es que puede acceder a todos los recursos back-end directamente, sin RPC, sin proxy ... Además, ZK le permite escribir algún código en el lado del cliente para mejorar la capacidad de respuesta de las partes críticas (por desgracia, el código del cliente debe ser JavaScript). Para mí, es el mejor equilibrio.
La verdadera ventaja de GWT es Google. Seguí escuchando que algunos jefes empujaron ingenieros a GWT por esto. También escuché que algunos proyectos de GWT fallaron (principalmente causados por problemas de productividad, demasiado dolorosos si el proyecto es complicado), y luego cambié a ZK.
Un compañero desarrollador y yo estamos preparando una propuesta para una nueva aplicación, y hemos presentado tanto ZK como GWT como posibles opciones. Después de meterme con ambos, prefiero seguir adelante con una prueba de concepto de ZK, pero uno de los "arquitectos sénior" de la empresa (que ni siquiera está en nuestro equipo) parece estar tratando de hacerse cargo el proyecto y dinos qué tecnologías emplear. Está encontrando cualquier excusa que pueda para presionar a GWT sobre nosotros y llamar a foul sobre ZK.
Ahora bien, no estoy diciendo que GWT sea intrínsecamente malo, ni que ZK sea el motor de todo y el fin del desarrollo de aplicaciones web, pero no me gusta que me digan cómo desarrollar una aplicación alguien que no lo haya hecho. realmente hizo suficiente investigación para impulsar una tecnología en particular. Aunque este tipo no está en nuestro equipo, la gerencia tiende a escucharlo, y probablemente nos "diga" qué usar.
Los argumentos de este tipo contra ZK parecen ser "incompatibilidad con el navegador", "demasiada lógica comercial en el navegador" e "inmadurez del proyecto". No estoy de acuerdo con estos tres. Tampoco ofrece argumentos para GWT, que parece que en realidad no sabe mucho sobre ninguna tecnología. También afirma que es mejor usar una tecnología que alguien dentro de la empresa conoce. Solo hay un equipo aquí que realmente ha usado GWT, y ese proyecto ha tenido ... problemas.
¿Podría alguien con alguna experiencia en el mundo real con ZK y / o GWT sugerir algunos argumentos que puedo proporcionar que al menos pongan ambas tecnologías nuevamente sobre la mesa, en lugar de intentar impulsar una sola tecnología sin una investigación real?
Los directores de las empresas odian el riesgo y la incertidumbre. Si hay muchos desarrolladores que dicen que un marco es genial y que un arquitecto se burla de sus dientes y murmura sobre el riesgo, entonces se irán con la respuesta negativa en una sola ocasión. Necesita obtener referencias independientes de terceros para el software que es posible incluso con código abierto.
Hay al menos una compañía que vende soporte para ZK. Estarán encantados de ponerlo en contacto con arquitectos de empresas que hayan usado ZK. Pregúntales a estos arquitectos externos independientes una serie de preguntas abiertas como "qué es lo que más te gustó y qué es lo que más te disgustó" y "cuál fue el principal desafío que encontraste" y "qué te sorprendió más" y "qué otros marcos usted considera y por qué eligió ZK ". A los directores de empresas les encanta este tipo de investigación basada en hechos que habla con personas mayores de otras compañías.
Al mismo tiempo, diseñe una "página de curso de asalto" que sea una representación justa del tipo de complejidad que tendrá que construir en el proyecto. Haga que el equipo implemente esa página tanto en ZK como en GWT y haga que todos intenten mejorar ambas. Escribe esa experiencia como un equipo. Asegúrese de incluir a la persona que estaba en contra de ZK y no lo haga de manera adversarial. No se meta en una situación de "sí o sí-contra-nosotros", pero consérvelo como un ejercicio abierto de búsqueda de hechos y entrenamiento en el que cualquier persona pueda contribuir en cualquier momento. Las páginas Wiki pueden ser un formato ideal para esto.
Tendrás éxito con este enfoque, ya que ZK se ha utilizado en proyectos de desarrollo de varios millones de dólares con equipos de más de treinta desarrolladores en corporaciones financieras globales de mil millones de dólares. Estás en buena compañía al preferir usar ZK.
Nunca he usado ZK, pero por lo que parece, ZK está mucho más "listo para la empresa" en el sentido de que viene con muchos widgets listos para usar. GWT recientemente obtuvo un control tipo DataGrid. Volver a crear el calendario o la hoja de cálculo de ZK en GWT requeriría una gran cantidad de esfuerzo.
Usted es la declaración de "demasiado lógica de negocios en el navegador" del jefe que realmente muestra que él realmente no sabe de lo que está hablando. GWT es una tecnología exclusiva del lado del cliente, mientras que ZK parece estar casi completamente en el lado del servidor.
Si aún no ha revisado la página de ZK GWT vs. ZK . Parecen tener la mayoría de las bases cubiertas.
Finalmente, recuerde que USTED es el que escribe el programa, no él, si un jefe le obliga a hacer algo que le tomará más tiempo implementar, luego infle sus estimaciones en consecuencia. Es mucho más fácil apelar a la gerencia con algo que les importa: "Esta tecnología aumentará el presupuesto en X y programará en Y", luego con detalles técnicos.
Quizás mostrar una aplicación ZK exitosa a nivel empresarial puede ser útil.
Mi mente quedó impresionado la primera vez que trabajé con IDempiere 2 (el software ERP + CRM). Es un gran software ERP con una interfaz muy sensible y limpia.
Lo instalé en una máquina de Windows en menos de una hora.
Si necesita las ventajas de ZK (marco AJAX del lado del servidor) puede usar GWT con SmartGWT
Tenga en cuenta que la página ZK''s GWT vs. ZK está escrita por Jeff Liu, ingeniero de Potix Corporation. ¿Cuál es la compañía que hizo ZK?
También estoy luchando con hacer una elección entre ZK y GWT. Estoy buscando un artículo imparcial reciente que discuta ambos, pero no he podido encontrar nada bueno.