2009-08-09 18 views
8

me he convertido en familiarizados con el nuevo concepto de "fuera del navegador" aplicaciones web, apoyado en el reciente Silverlight, JavaFX, Adobe AIR etc.¿Aplicación web "fuera del navegador" que se ejecuta en la puesta en marcha?

escuchar recientemente a un podcast sobre el tema por Scott Hanselman, no tengo tome conciencia de que uno de los propósitos detrás de estas nuevas arquitecturas es permitir la "sensación de aplicación de escritorio". Además, entiendo que algunos (o todos) de estos permiten algún acceso fuera de línea a un recinto de recursos. Esto realmente suena como si estos marcos pudieran ser una alternativa a las aplicaciones de escritorio "reales", siempre y cuando la aplicación no requiera problemas con la máquina del usuario (es decir, acceso a periféricos, ciertos archivos IO, etc.).

Tengo una pregunta muy específica. Mi aplicación necesita ejecutarse al inicio. ¿Es posible hacerlo utilizando un marco de este tipo sin que el usuario deba descargar y ejecutar un determinado ejecutable?

Por ejemplo, siempre podría indicar al usuario que descargue un pequeño EXE que colocará un archivo .lnk en el directorio de inicio, pero quiero evitar dicho parche.

En resumen: ¿es posible tener una configuración de aplicación web fuera del navegador que se ejecute al inicio sin necesidad de descargar archivos?

Para aclarar más, esta pregunta no proviene de un lugar "malo", sino de intentar decidir si los marcos "fuera del navegador" son una alternativa adecuada a una aplicación de escritorio, para mis requisitos específicos.

Respuesta

2

El ejemplo de BkMark here muestra cómo iniciar una aplicación al iniciarse utilizando Adobe Air. Por lo tanto, sí, es posible.

+0

Al tratar de instalarlo, se nota que la aplicación tiene acceso "SIN RESTRICCIÓN" a mi computadora ... No estoy familiarizado con AIR, pero ¿es este el modus operandi estándar? –

+0

Sí, casi todas las aplicaciones que veo tienen acceso 'SIN RESTRICCIONES'. Estoy seguro de que no puede hacer ningún daño considerando que viene directamente del sitio de adobe. –

+0

Quieres mirar en Main.js. –

0

Suponiendo que está compilando para Windows, ejecutar un ejecutable al inicio se puede hacer de varias maneras.

Para iniciar la sesión de usuario, puede lograrlo colocando un archivo lnk en la carpeta adecuada o con una entrada de registro. Para el inicio del sistema operativo, puede lograr esto con una entrada de registro. Hay varias permutaciones:

  • ejecución de la aplicación una vez en el arranque (interfaz de usuario no permitido)
  • ejecución de la aplicación cada arranque (interfaz de usuario no permitido)
  • servicio de inicio de cada arranque de acuerdo con la política establecida en el registro
  • plazo aplicación una vez en
  • ejecución de la aplicación de cada sesión de usuario

Desde un fuera de la aplicación de navegador de sesión de usuario de inicio tiene la interfaz de usuario Supongo que quiere decir ejecutar la aplicación en cada sesión de usuario y en este caso también puede poner un archivo LNK en la carpeta de inicio del usuario.

acabo de crear un acceso directo para una aplicación fuera de banda SL4, y este era el objetivo del acceso directo:

"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 2635882436.localhost 

Una búsqueda de mi disco reveló que la ubicación 2635882436.localhost es una carpeta.

C:\Users\<mylogin>\AppData\LocalLow\Microsoft\Silverlight\OutOfBrowser\2635882436.localhost 

dudo bastante una aplicación fuera de banda de cualquier tipo podría colocar un acceso directo en la carpeta Inicio a menos que de alguna manera obtuvo de plena confianza.

+0

@Peter: ¿una aplicación web puede poner un LNK en la carpeta de inicio? ¿Si es así, cómo? ¿Podría dar un ejemplo para Silverlight o AIR? Gracias –

0

Por lo tanto, este es el problema: las aplicaciones web en general tendrán un contexto de seguridad y no tendrán acceso para escribir en el sistema de archivos (fuera de los archivos temporales), acceder al registro, etc.

Una forma es, como dijiste, hacer que el usuario ejecute algo o lo configure para que lnk se ejecute al inicio.

Otra forma, y ​​creo que más en línea de lo que desea, es que el usuario pueda ejecutar el programa él mismo, haga clic en algún botón de la aplicación y esté configurado.

Sé con Java que podría hacer esto, pero el usuario tiene que permitir el acceso completo a su sistema, porque su aplicación tendría que cambiar la configuración del sistema. Posteriormente, se podría simplemente configurarlo (escribiendo un LNK a su JNLP WebStart en la carpeta Inicio)

0

Para Internet Exploder, Javascript aplicaciones hacer tienen write access to the disk. Para otros navegadores (mejor protegidos), deberá tener una descarga o Adobe AIR.

Cuestiones relacionadas