Ir al contenido principal

Instalando Apache NetBeans 10 y configurarlo con Jakarta EE

Diferencias entre JSF puro, Woodstock y ICEfaces en NetBeans

Soy sincero
para mi el mejor framework para web que conocí y trabajé era Struts 1, y no me quería pasar a JSF porque lo veía igual que Struts.

NetBeans sacó su Visual Web que es un editor visual pero con JSF. Los componentes adicionales son del framework Woodstock. Aún así, no me atraía, porque no tenía el mismo control que lo tenia en Struts.

Pero con la moda y ventajas de AJAX, mi pobre Struts me estaba dando algunos problemas, por lo que tuve que poner DWR, Dojo, y demás bibliotecas que hacían más pesada mi aplicación.

Hace poco NetBeans anunció el cambio de Woodstock a ICEfaces. Así que, me aventuré a usarlo.

La verdad lo veo mucho más sencillo, más ligero, y más completo.

Con JSF, las aplicaciones son tan clásicas como los request/response en servlets y jsp, solo que le da un toque especial. El desarrollo de la aplicación web parece ser de una de escritorio, ya que se pueden  acceder a los controles como si fueran variables. Una diferencia bastante notable comparada a Struts. En Struts todo está basado en request, session, variables de sesión y demás dolores de cabeza.

Woodstock es lo mismo que JSF puro, pero el diseño es más visual. Pero es lo mismo que el JSF.

ICEfaces cambia el panorama: Se programa como JSF, con ese toque de manejo de variables sobre controles como en una aplicación JSF, pero la visualización, la presentación de los resultados es con AJAX. Me he quedado realmente sorprendido.

Para ver mejor esto, he creado tres proyectos que hace el cálculo de fibonnaci:
En JSF puro, diseño la aplicación todo a mano. Al ejecutarse, me da el resultado, y si presiono F5 para volver hacer "submit", el navegador siempre me pregunta que si quiero volver a enviar los datos.

Con Woodstock, el diseño es más fácil, más visual (justamente), pero cuando presiono F5, el navegador me pregunta que si deseo volver a enviar los datos. Esto realmente puede ser una confusión para un usuario final, ¿no?

Pero con ICEfaces, el diseño es visual y rápido como en Woodstock, pero al ejecutarlo y presionar F5 para volver a calcular el resultado, no me pide que si deseo volver a enviar los datos ¿por qué? porque es AJAX.

Ahora ¿qué framework usarías para tu proyecto?

Comentarios

Anónimo dijo…
ps... me aclaraste muchas dudas... esta en la pelea sin saber cual usar, pero ahora que me queda todo mas claro, particularmente usare ICEfaces. :D
Anónimo dijo…
hola, podrias dar un tutorial sobre jsf y IceFaces? sobre todo como hay que hacer para poder realizar el diseño de forma visual. gracias.-

Entradas más populares de este blog

RESTful... la forma más ligera de hacer WebServices (Parte 1)

Quienes hayan usado SOAP para WebService, sabrán que es bien fácil de diseñar, pero algo complicado de consumir: se necesita toda una API para construir los clientes utilizando el WSDL. Por ejemplo, para PHP se necesita de la biblioteca NuSOAP. Entonces, para lograr el concepto de "lenguaje único XML" es un dolor de cabeza. Y más aún si el cliente es tan simple como JavaScript, manejar XML de SOAP provocaría suicidos masivos... o no usar WebServices.

Además, con SOAP se permite crear un solo servicio y ponerle varios métodos. Esto puede llevar a un mal diseño del servicio ya que podría tener un servicio que haga de todo: por ejemplo, un servicio de manejo de Clientes que permita también manejar Proveedores.

RESTful es una propuesta muy interesante de Roy Fielding que permite manejar los servicios web con métodos definidos, manteniendo la simpleza del protocolo como XML, pero que cada servicio sea identificado únicamente con un solo URI.

En este post veremos cómo crear un Ser…

¿Por valor o por referencia?

Esta es una pregunta existencial para todo programador Java. Cada uno encuentra una respuesta satisfactoria. Pero ahora veremos, basándonos en el libro para Certificación SCJP 1.5 de Katty Sierra, sobre la respuesta correcta.

Contraseñas encriptadas con Java

¿Quién no ha querido encriptar texto o archivo? Hay diversas maneras para hacer eso, por ejemplo, utilizando un diccionario donde se reemplazara cada caracter por un código.. y para poder desencriptarlo se debería utilizar el mismo diccionario para revertir el proceso. Pero si el diccionario cae en manos de alguien que no queremos que lo sepa, entonces estamos en peligro.
Cuando yo programaba en pascal, mi encriptación favorita era invirtiendo los bits... pero cualquiera también puede invertir los bits y listo.
Pero ya gente experta logró algoritmos de encriptación populares. Los más conocidos: MD5 y SHA.
En este post hablaremos cómo encriptar texto, sobretodo las contraseñas, utilizando MD5 o SHA.