las - ¿Utiliza el navegador web incorporado(p. Ej., Chrome) como kit de herramientas GUI para aplicaciones de escritorio Java?
jframe en java (6)
¿Qué ventajas esperarías en comparación con una GUI HTML en un navegador estándar? Muchos de los programas que existen vienen con su propio servidor HTTP para mejorar el desarrollo de la interfaz de usuario. También leí de QtQuick ( demostración de YouTube ) pero en realidad nunca me probé
Tengo las siguientes cosas para señalar
- La depuración / prueba de la GUI es más simple en un navegador
- Paquete más pequeño
- Optimización del tiempo de desarrollo
- Verdaderamente plataforma cruzada (al menos, es más fácil ir a la plataforma cruzada cuando tienes un servidor HTTP como procesador de lógica de la aplicación)
Esos sitios web HTML5 se ven geniales, ¿por qué no lo hacen mis aplicaciones de escritorio Java? Swing y SWT son, bueno, solo de la vieja escuela. Hacen su trabajo, pero crear GUIs de aspecto elegante con animación y todo es simplemente imposible.
Me preguntaba: ¿es posible usar HTML5 como un conjunto de herramientas GUI? Tengo una biblioteca en mente que tiene una API similar a Swing o SWT, pero se presenta en HTML5. Debe ser lo que se pueda y debe tener acceso a la página en Java (es decir, una fusión entre Java y JavaScript / HTML5).
¿Por qué no solo crear una aplicación web y enviarles a los usuarios la URL? Me gustaría beneficiarme de la integración real de escritorio de aplicaciones Java SE (archivos, COM, icono de bandeja, etc.). Algo así como PhoneGap pero para sistemas operativos de escritorio en lugar de teléfonos.
Sorprendentemente, no encontré nada así en la web. ¿Pero tal vez acabo de ingresar los términos de búsqueda equivocados? ¿Alguien tiene una idea?
O si no: ¿Puedo integrar WebKit / Chrome de alguna manera con mi aplicación? Por lo tanto, el usuario no tendrá que instalar su propia copia ni cambiar ninguna configuración.
Deberías echarle un vistazo a JavaFX 2.0 . Le permite especificar componentes de GUI en FXML y admite el estilo de CSS. También tiene un componente "WebView" que le permite visualizar fácilmente páginas web dentro de una aplicación.
EDICIÓN 28 de noviembre de 2015
La sección de descripción general de JavaFX se ha movido.
A partir de JDK 7u6 JavaFX se incluye con los paquetes estándar JDK y JRE. Descargue el JDK o JRE para usar JavaFX.
Si está buscando la descarga de JavaFX Scene Builder, la encontrará en la sección "Recursos adicionales" de la página principal de descarga de Java SE.
Actualice sus enlaces a la nueva ubicación .
Dos cosas vienen a la mente:
- Adobe Air , que es más o menos exactamente lo que estás buscando: PhoneGap para el escritorio.
- Chromium Embedded Framework , que, con un pequeño esfuerzo de su parte, le permitiría usar Chromium como el marco para una aplicación.
Ha pasado algún tiempo, así que no sé si esto puede ser de alguna utilidad. Pero puede echarle un vistazo a DukeScript ( http://wiki.apidesign.org/wiki/DukeScript ), un concepto de los autores originales del IDE de Netbeans. Por lo que pude entender, la idea es desarrollar aplicaciones Java en un entorno HTML5. Se basa en el navegador como plataforma (Chrome es compatible) y en una JVM en Javascript que se ejecuta dentro del navegador (realmente dos de ellos, su propio bck2brwsr y TeaVM ). Incluso puedes usar JavaFX y puedes implementarlo en Android, iOS o el navegador. Eche un vistazo a http://dukescript.com para ver ejemplos.
TeamDev Ltd. lanzó recientemente la biblioteca JxBrowser que permite hacer lo que usted desea. Permite incrustar el control del navegador web basado en Chromium en aplicaciones Java Swing / AWT. Admite la arquitectura multiproceso de Chromium y muestra las páginas web fuera de la pantalla. Con JxBrowser, recibe un componente Swing Browser totalmente liviano que muestra las páginas web exactamente como en la aplicación Google Chrome.
Una de las formas de utilizar HTML / JavaScript en aplicaciones de escritorio es incorporar un servidor HTML en la aplicación. Entonces, una página web será la GUI. Literalmente hay unas docenas de líneas de código si usa
Ejemplo: servidor HTTP simple en Java que usa solo la API SE de Java
Documentos: http://docs.oracle.com/javase/7/docs/jre/api/net/httpserver/spec/com/sun/net/httpserver/package-summary.html
Debe enviar la página web de la GUI desde el servidor web (incluso en el host local) para evitar el mismo conflicto de política de origen de JavaScript que se describe aquí.