Pregunta

Desde el lanzamiento de Adobe AIR, me pregunto por qué Java Web Start no ha recibido más atención en el pasado, ya que a mí me parece muy similar, pero Web Start está disponible desde hace mucho más tiempo.

¿Se debe principalmente al mal marketing de Sun, o hay más preocupaciones técnicas además de la necesidad de tener instalada la JVM adecuada?¿Tiene malas experiencias al utilizar Web Start?En caso afirmativo, ¿cuál?¿Cuáles son sus recomendaciones al utilizar Web Start para distribuir aplicaciones?

¿Fue útil?

Solución

En mi empresa utilizamos Java Web Start para implementar aplicaciones Eclipse RCP.Fue complicado configurarlo, pero funciona muy bien una vez instalado.Así que la única recomendación que podría hacer es empezar poco a poco, para cogerle el truco.Primero, implemente una aplicación simple.Intentar implementar un producto completo que ya está fabricado sin experiencia con JWS se complica con bastante rapidez.

Además, aprender a pasar argumentos a la aplicación JWS fue de gran valor para la depuración.Configurar la variable de entorno JAVAWS_VM_ARGS permite configurar cualquier propiedad arbitraria en la máquina virtual Java.En mi caso:

-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=4144

Útil cuando necesita verificar problemas durante el inicio (suspend=y)

Creo que el principal problema para la aceptación de Java Web Start es que es relativamente difícil de configurar.Además, de alguna manera existe esta disonancia:Cuando tienes una aplicación de escritorio, la gente espera un instalador en el que puedan hacer doble clic.Cuando tienes una aplicación web, la gente espera poder usarla directamente desde el navegador.Java Web Start no está ni aquí ni allá...

Sin embargo, se usa ampliamente en intranets.

Otros consejos

Trabajo en la intranet de un banco desde hace 5 años, y mi departamento ha desarrollado y distribuido MUCHAS aplicaciones Java Web Start que se utilizan en todo el mundo, creo que Java Web Start tiene la mejor de las aplicaciones de escritorio (fácil desarrollo, rica interfaz de usuario, potencia de procesamiento en la máquina cliente) y las aplicaciones de Internet (fácil implementación y actualización).

Me gusta mucho Java Web Start

Una vez hice un proyecto en JWS y fue complicado ponerlo en marcha.Peor aún, ni siquiera estaba lidiando con todo Internet, era una pequeña aplicación que sólo unas pocas personas en mi oficina iban a utilizar.Levanté las manos con disgusto más de una vez mientras configuraba el servidor y los ayudaba a configurar la aplicación en las máquinas cliente.

Creo que AIR ahora se está volviendo más popular (aunque nunca sé hasta dónde llegará) porque tiene aplicaciones que la gente realmente quiere usar (nombra tu aplicación JWS favorita...adelante, estoy esperando) como giro.Todavía no soy un gran admirador de la forma en que funciona AIR, pero es muchísimo mejor que JWS.

Aquí hay una lista de problema mental:

  • Las aplicaciones Java Web Start tardan muchísimo en iniciarse.El monitor carga una JVM nueva para sí mismo y para cada aplicación.Las aplicaciones siempre buscan actualizaciones en la web, descargan y procesan un archivo JNLP completamente nuevo, en lugar de simplemente verificar su fecha.Sin embargo, si se necesitan aproximadamente 80 segundos para buscar una nueva versión, significa que probablemente esté teniendo problemas con un servidor proxy.Inicie javaws.exe y haga clic en editar ⇒ Preferencias ⇒ Configuración de red ⇒ Directo.No desea que JWS intente utilizar el proxy Google Accelerator.También verifique en IE, haga clic en Herramientas ⇒ Opciones de Internet ⇒ Conexiones ⇒ Configuración de LAN y asegúrese de que todo esté como espera.
  • Las actualizaciones tardan casi tanto en descargarse como la aplicación original.Casi no se ha aplicado ninguna inteligencia para que las actualizaciones sean compactas.
  • Requiere código personalizado que se ejecute en el ISP para servir correctamente los archivos jardiff o utilizar la próxima hipercompresión pack200.
  • No ha cambiado mucho desde su lanzamiento inicial.Puede que sea otro producto huérfano.No merece serlo.Sin embargo, Sun lanzó una nueva versión beta 1.2 después de aproximadamente un año sin que sucediera nada, y se integró en JRE, por lo que veremos si está ganando impulso nuevamente.Hay algunos problemas importantes que han ignorado, como el certificado OK escondido detrás de la pantalla de presentación y que requiere ok para cada frasco por separado.Incluso si queda huérfano, no sucederá nada terrible.A menos que escriba aplicaciones JWS sin firmar y utilice el entorno limitado de JWS, sus aplicaciones JWS se ejecutarán bien de forma independiente.
  • Requiere una configuración especial del tipo JNLP MIME tanto en el ISP como en el navegador del cliente.Ninguno de estos está bajo el control directo del desarrollador.
  • Si tiene una actualización urgente, no puede forzar su instalación antes de que la aplicación se vuelva a ejecutar.
  • Necesita un esquema rígido para asignar espacio en el disco duro de la máquina del cliente que tenga las siguientes propiedades:
    • Los nombres de los directorios asignados deben evitar conflictos de nombres con otros proveedores.Deberían incorporar el nombre del paquete principal de la aplicación.
    • Los nombres deben ser significativos para el usuario final.Deben ser algo que pueda recordar, encontrar y escribir cuando necesite buscar archivos con herramientas de escritorio.
    • El esquema debe proporcionar un lugar para archivos por usuario y por aplicación.
    • Un programa debería funcionar en cualquier plataforma sin modificaciones para poder encontrar sus archivos.

Java Web Start es la forma correcta de iniciar aplicaciones Java más grandes porque permite actualizar e instalar/descargar fácilmente la aplicación y permite una mejor UI/UX que los subprogramas de Java.

Sin embargo, existen algunos obstáculos para iniciar aplicaciones Java Web Start desde una página web utilizando navegadores comunes con configuración predeterminada:

  1. Sun/Oracle no pudo crear una integración de navegador que funcione.Ver http://crbug.com/10877 por ejemplo sobre Google Chrome/Chromium.Básicamente, el complemento de Java no implementa el material NPAPI requerido para que Firefox y Chrome reenvíen de manera confiable el tipo MIME. application/x-java-jnlp-file a javaws / javaws.exe binario.

  2. Sun/Oracle no pudo obtener un tipo MIME registrado real para Java Web Start .jnlp archivos.El application/x- Prefijo técnicamente significa borrador o privado.

  3. Sun/Oracle no pudo utilizar el esquema de URL en lugar del tipo MIME cuando la intención es que Java Web Start maneje la descarga y el inicio de la aplicación.Por ejemplo, si en lugar de utilizar una URL como https://example.com/app/launch.jnlp Java Web Start se lanzó como javaws://example.com/app/launch.jnlp las cosas funcionarían mucho mejor.Esto se debe a que, en este caso, el navegador web ni siquiera necesita cargar el .jnlp archivo, simplemente pasa la URL completa al controlador del esquema (que sería el javaws binario).

Observe la parte repetida ("Sol/Oracle falló...") y ya no necesita preguntarse por qué Java Web Start nunca tuvo mucha tracción.La gran parte que falta es conseguir un enlace a la página web seguramente lanzar el javaws binario con lo dado .jnlp archivo.Eso debería ser técnicamente muy fácil (simplemente registre un nuevo esquema de URL cuando javaws El binario está instalado), pero Sun/Oracle no pudo hacerlo.Personalmente, creo que todo el lío se debió a intentar alterar el tipo MIME en lugar de simplemente utilizar un nuevo esquema de URL.Y hasta lo tipo MIME estaba muy mal hecho, por Dios.

Si aún desea utilizar Java Web Start, simplemente prepare buena documentación para configurar correctamente el navegador para solucionar el desorden dejado por Sun/Oracle.Lo bueno es que sólo es necesario hacerlo una vez y funcionará para cualquier sitio que utilice Java Web Start.Lo malo es que normalmente el navegador nunca ha sido configurado para hacer lo correcto con .jnlp archivos y Se le culpa por utilizar "tecnología difícil de usar" porque los usuarios no quieren configurar sus navegadores sólo para utilizar su aplicación.¿Mencioné que fue Sun/Oracle el que no pudo configurar el navegador automáticamente?

Mi experiencia:
Lo usé alrededor de 2006, aplicación de intranet para un banco.

La primera descarga estuvo bien, sin embargo, cuando quería sacar una nueva versión, el almacenamiento en caché de los archivos JAR no funcionó, por lo que los nuevos archivos no fueron empujados al cliente.

Pasé una semana intentando solucionar este problema sin éxito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top