Que tecnologias usar para desarrollar pags web "funcionales" y "esteticamente llamativas"

Buen dia;
Senores, soy un "programador web" que realiza aplicaciones lo mas sercano posible a java desktop, a que me refiero a utilizar jsf que en si manejo mucho lo que es javabeans para casi todo, ahora en el trabajo los companeros realizan paginas muy vistosas o muy esteticas, pero en si no tienen nada de "funcionales"es decir no realizan validaciones, conexiones a bases de datos o procesos propios de programacion, me gustaria realizar las paginas con funcionalidad lo que es java pero aparte agregarles efectos ya sea en precargas, animaciones a menus horizontales, etc, eh visto un poco de jquery pero si batallo un poco ademas de que casi nome agrada por que todo el codigo queda descubierto al pusblico es decir, que si le damos click derecho y ver codigo fuente se ve todo, ya que en el trabajo algunos tecnicos tienen unm poco de conocimientos en programacion.
Para esto integre un poco de primefaces pero tiene muchos "errores" en especial en lo que es cambiar la visualizacion de los componentes como tamaño, colores, fondos, etc.

Que es lo que se usa hoy en dia?

Miguel v.
Gracias.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de gallark

Te recomendaría que le des

Te recomendaría que le des una mirada a esto

Capa de presentación:

Icefaces ()
o Richfaces ()

En la capa de servicios:

Spring Framework ()
o EJBs ()

y para la capa de acceso a datos :

Spring Jdbc ()
o Spring Hibernate. ()

Espero te sirva.

Imagen de cororo

Hola; Oye se ven padres

Hola;
Oye se ven padres en especial el icefaces, pudes modificar el style sheet de cada componente ??

Gracias

Imagen de ezamudio

Vaadin

Si quieres hacer webapps que parezcan de escritorio, revisa Vaadin mejor.

En JS todo el codigo queda accesible

Lamento desilucionarte, pero el JavaScript es un codigo que interpreta el navegador, es por eso que tiene que ejecutarse del lado del cliente y claro que como JS no es algo compilado pues sempre tendra el usuario el codigo de tu JS y si no lo pones en tu HTML seguro con un plugin (firebug) puedes ver absolutamente todo

A mi me agrada mucho Extjs, la verdad que ha mejorado bastante la version 4, yo he usado tambien la 3 y tenia algunas broncas con los grids y bueno, en la 4 ya es mas accesible incluso el uso del JSON con grids, ademas le puedes agregar estilos a tu gusto... Vaadin (el que recmienda @ezamudio) se ve bien, no lo he utilizado pero creo que si quieres dar algo mas vistoso en menos tiempo ExtJs es la opcion porque puedes manejar todos los componentes que ya estan construidos y solo configuras y tan tan...

checate este ejemplo:

y por ejemplo hacer menus es delo mas sencillo por ejemplo
 

Hh y lo mejor de todo es lo puedes usar directamente con GWT

Imagen de gallark

Yo uso rcihface y se pueden

Yo uso richface se pueden personalizar todos los componentes y los skyn de manera sencilla, para iceface puedes buscar este libro IceFaces 1.8: Next Generation Enterprise Web Developer, usa san google.

Buena Suerte.

Imagen de neko069

O bien GWT, se integra muy

O bien GWT, se integra muy bien con bibliotecas como SmartGWT o en su defecto las bibliotecas de Sencha( Ext JS) y la forma de construir las interfaces gráficas son bastante parecido a Swing, además tu puedes configurar la salida de tu script en 3 niveles, detallado, regular y ofuscado, con eso, no digo que hayas eliminado al 100% el problema de que vean tus scripts, pero por lo menos va a representar un grado de dificultad relativamente alto saber qué hace..

Existen varias interesantes

Pues va dependiendo y básicamente hacer algo bonito ya depende del CSS que le apliques no tanto del framework que utilices, aunque claro, con algunas herramientas cómo jQuery puedes darle un dinamismo al CSS muy interesante y dejar sólo en tu servidor la lógica de negocios, los modelos, etc. Pues mi recomendación sería al igual que @neko069 usar GWT, aunque es poco engorroso al inicio ya cuando aprendes a usarlo es trivial hacer tareas que hoy entiendes cómo complicadas.

Otra, pues es usar Wicket que es muy Swing-like (por decirlo de una manera) y no tiene una curva de aprendizaje tan marcada cómo Tapestry (que no creo que te caiga mal darle una revisada, digo ya programas en JSF).

Siguiendo con las opciones tenemos también los framework sensación con lenguajes alternos, cómo lo son Lift, Scalatra y Play! (para Scala, salvo el último que tiene versiones tanto para Scala cómo para Java) o Grails (para Groovy, yo creo que el más aceptado de todos) o JRuby on Rails (para JRuby). No quiere decir que por usar Scala o JRuby o Groovy no puedas reutilizar cosas que ya tengas hechas en Java, esa es la ventaja de los lenguajes alternos de la JVM.

Ya que si lo que más te interesa (o lo que únicamente te interesa) es la presentación, pues le haría caso a @ezamudio y me decantaría por Vaadin.