2011-12-21 16 views
9

Desarrollamos varias aplicaciones web para diferentes clientes, desde simples GUI de estilo CRUD con apariencia aburrida para esos tipos de administradores pobres hasta sofisticadas interfaces gráficas mejoradas con AJAX para esas personas de Internet. Todos estos se basaron en JSF 1.2 en combinación con JBoss Seam 2, utilizando Facelets y RichFaces como capa de presentación.JavaFX en aplicaciones web empresariales: ¿una buena alternativa a las páginas web clásicas?

Sabemos acerca de las limitaciones de JSF 1.2 y (me siento triste por eso) aún no hemos logrado la transición a Java EE 6, pero al definir esta configuración como nuestra pila de tecnología, ganamos algo de experiencia con esa tecnología, sintiéndose cómodo para desarrollar de manera confiable aplicaciones web para nuestros clientes.

Entonces, ¿por qué diablos te digo eso? Porque cada vez experimentamos más que los clientes que escucharon hablar de "Web 2.0" quieren tener una funcionalidad de cliente enriquecido al tiempo que aceptan un navegador como puerta de entrada a todas las aplicaciones. Aunque sabemos que uno puede hacer eso con la tecnología que utilizamos, creemos que podría ser una buena idea usar algo diferente del lado del cliente para respaldar esas necesidades. Y dado que somos en su mayoría programadores de Java y seguimos ahuyentando a este tipo que nos molesta con su Adobe Flex, creemos que JavaFX en su nueva versión podría ser una buena opción.

Me dolía la mano adentrándome en los recursos de JavaFX que podía encontrar, pero una cosa que me vino a la mente a menudo fue que JavaFX se presenta como una tecnología capaz de hacer buenos efectos gráficos , pero al rebotar las burbujas sombreadas de colores puede parecer genial, son básicamente inútiles en aplicaciones comerciales.

Bueno, para resumir, nos gusta utilizar Java EE 6 en el back-end mientras tenemos una funcionalidad rica y atractiva en el cliente. ¿Es JavaFX una buena alternativa aquí para las páginas web clásicas o incluso para las próximas páginas web modernas de HTML 5 al desarrollar aplicaciones web empresariales y dónde se pueden encontrar ejemplos para eso?

Gracias por su tiempo leyendo esto y por las respuestas que con suerte surgen.

+0

Creo que es más de una alternativa "swing clásico o. NET formularios de aplicaciones ". – Thilo

+0

Por supuesto, es una alternativa (incluso más hoy). No es una alternativa óptima para casos de uso web SIMPLE, especialmente cuando la implementación es muy compleja (sugerencia: generalmente con "empresa", debido a los controles internos, la implementación es relativamente fácil). Pero para casos de uso complejos o entornos altamente estandarizados, es ciertamente utilizable. Flex fue genial (lo mejor, más fácil) en el día (y fácil de aprender para los desarrolladores de Java ...), hasta que Apple yace en la ruina Flash, así que en retrospectiva, mirar FX fue una buena decisión, incorporada en JDK ahora ... – User

Respuesta

9

Es posible que desee echar un vistazo a la muestra DataApp de muestras JavaFX bundle en http://www.oracle.com/technetwork/java/javafx/downloads/index.html

Es un ejemplo de la aplicación de empresa con JavaFX interfaz de usuario en el explorador. Le dará un buen ejemplo de que se puede hacer en JavaFX para clientes empresariales.

Puede que necesite invertir algo de tiempo en la instalación de MySQL, EE y otras cosas para esta muestra (bastante fácil, simplemente siga README proporcionado), pero verá cómo se maneja la pila completa desde la base de datos a la interfaz de usuario del cliente.

pequeña pantalla de la primera pantalla:

DataApp Sample

+0

Gracias por la pista: ya la había descargado, pero dado que DataApp solo está en la carpeta src, no la había detectado. –

+0

Creo que es un buen comienzo, por lo que acepto este, aunque me gustaría saber si se puede tener una forma más estrecha y compatible con el marco para intercambiar datos e invocar acciones como las que estoy acostumbrado con JSF y no solo a través de REST webservices. –

10

Me gustaría ir por HTML 5, a menos que tuviera algunas necesidades que una aplicación web no podría satisfacer.

Estoy seguro de que puedes crear excelentes aplicaciones con JavaFX, pero hay muy pocas herramientas, a excepción del material Java estándar. Y dado que no es muy utilizado, tendrá problemas para encontrar apoyo y contratar a personas que sean buenas para eso. También existe el riesgo de que siga el mismo camino que su contraparte de .Net, Silverlight, a la papelera (Oracle no es sentimental). En cuanto a Flex, Adobe just donated Flex to Apache with the explanation that HTML 5 is the "best technology for enterprise application development".

Compare esto con HTML 5. No solo es más utilizado (lo que significa que podrá encontrar soporte y es más fácil contratarlo), sino que también obtiene más soporte, mejores herramientas y nuevas características continuamente. Creo que es bastante obvio que es más a prueba de futuro.

+1

Sí, también pensé en usar HTML 5 por las mismas razones por las que estás hablando. Todavía no lo he estudiado a fondo, pero dado que HTML 5 todavía es un lenguaje de marcado y no un lenguaje de programación, ¿qué es lo que estás usando para el desarrollo de código cliente? ¿JavaScript con muchos marcos en la parte superior? –

+0

Sí, Javascript y jQuery son una especie de estándar para la programación web del lado del cliente. La mayoría de los frameworks web de Java (incluido JSF) pueden generar mucho Javascript para ayudarlo, si realmente no desea escribir JS. – gustafc

+0

No es una respuesta a la pregunta, este es un argumento de venta. Ustedes chicos de la web son desvergonzados. Deja de tratar de "matar" otras tecnologías y quédate en tu propia caja de arena fragmentada semi funcional, por favor. – User

4

La mayoría de los ejemplos de "el lado de la empresa" de JavaFX encontrará será un cliente JavaFX hablar con el back-end a través de un servicio web REST.

Pero, Java Web Start es una tecnología genial. Con él tendrá un cliente de aplicación lanzado a través de su sitio web, actualizado automáticamente a la última versión y con todas las nuevas dependencias descargadas automáticamente desde el servidor. Incluso puede hacer la inyección de dependencia e inyectar un proxy local del cliente a los recursos del lado del servidor; Enterprise JavaBeans, objetos administrados por JMS, etcétera.

Esta es una tecnología realmente útil, que permitirá que su cliente hable con el servidor de numerosas maneras y que no solo utilice los servicios web HTTP con cable. Sin embargo, JavaFX frenó ese patrón. No hay una manera directa de incrustar un cliente de aplicación JavaFX en un paquete EAR y hacer que use inyección de dependencia. Pero encontré una solución que es bastante intuitiva y fácil de reproducir. Así que para darle otro ejemplo de una aplicación JavaFX trabajar como interfaz gráfica de usuario remoto para la parte final, por favor, eche un vistazo a mi tutorial:

http://blog.martinandersson.com/the-enterprise-side-of-javafx-the-missing-part/

+0

Muy buen artículo, gracias por compartir. –

+0

Busqué este blog, es muy útil, pero no puedo encontrar la manera de probarlo con el servidor wildfly. Porque a este le falta esto. config: META-INF/custom.jnlp kamel2005

+0

wildfly no tiene este archivo: glassfish-application-client.xml. – kamel2005

Cuestiones relacionadas