2011-01-28 8 views
10

Me gustaría escribir una aplicación que usaría tanto Javascript como HTML para la interfaz de usuario. La aplicación realmente no necesitaría una conexión a Internet, pero necesitará acceso a los archivos locales del usuario.Creando una aplicación local de Javascript (se ejecutó en el navegador)?

Mi primer pensamiento fue que esto sería imposible en un navegador debido a las restricciones de seguridad en el acceso a los archivos locales.

Mi segundo pensamiento fue intentar utilizar webkit directamente desde C++ y usar Python en lugar de Javascript, pero parece bastante complicado, y me siento como demasiado ocupado usando Qt.

Mi tercer pensamiento fue utilizar un applet Java firmado para hacer todos los accesos locales, pero tampoco estoy muy seguro de esto.

¿Alguna sugerencia sobre lo que debo hacer?

+1

¿Alguna vez has visto [TiddlyWiki] (http://tiddlywiki.com)? – Pointy

Respuesta

6

Debo admitir que sé muy poco acerca de esto, pero parece que lo que buscas es lo que XUL ofrece.

Desde la página principal:

XUL (XML User Interface Language) es el lenguaje basado en XML de Mozilla que te permite construir aplicaciones multiplataforma con múltiples funciones que puede funcionar conectado o desconectado de Internet.

...

desarrolladores web que ya están familiarizados con HTML dinámico (DHTML) aprenderán XUL rápidamente y pueden empezar a crear aplicaciones de inmediato.

En cuanto al acceso de sistema de archivos: https://developer.mozilla.org/en/Code_snippets/File_I//O

En este artículo se describe la entrada/salida de archivo local en JavaScript cromo.

Usted accede al sistema de archivos utilizando los componentes de Mozilla XPCOM. Se encuentra disponible una lista de recursos e interfaces para E/S local para archivos y flujos en XUL Planet.

Debido a mi falta de familiaridad, voy a dejar que la comunidad decida si esta respuesta tiene mérito o no.

EDITAR:Haciendo que esta respuesta sea una wiki comunitaria, ya que no tengo mucha información real para ofrecer.

+1

Esto se ve bastante interesante, voy a echar un vistazo. – Manux

+1

Aún no lo he probado, pero proporcionar una aplicación XUL con una vista de navegador (como [XUL Webapp Wrapper] (https://github.com/neam/webapp-xul-wrapper)) es un buen comienzo, entonces usted probablemente pueda usar [el administrador de mensajes de XUL] (https://developer.mozilla.org/en-US/docs/The_message_manager) para configurar la comunicación entre el Javascript y la aplicación XUL (en donde se puede acceder a los componentes de XPCOM) – Motin

1

Siempre puede instalar localmente los servidores necesarios y acceder a los archivos locales del usuario de esa manera.

He estado usando Server2Go y MAMP

1

Se podría - por ejemplo - usar Cappuccino: Le permite crear aplicaciones en Objective-J (un lenguaje escrito en JavaScript) y ejecutarlos ya sea en el navegador o como a Desktop application with local file access.

Luego está Adobe AIR, que le permite escribir aplicaciones en JavaScript/HTML y access the file system.

O usted podría utilizar la nueva API de acceso a archivos: http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6/ (tiene grandes restricciones, sin embargo: HTML 5 File API)

JavaScript es un lenguaje hermoso! Por favor, actualice esta pregunta con información sobre la ruta que elija.

+0

I Veremos los primeros 2. La API de archivos HTML5 solo puede acceder a los archivos seleccionados por el usuario; en mi posición actual esto sería bastante molesto debido a la cantidad de archivos. – Manux

+0

Ya veo. Cappuccino es un gran marco y tiene una comunidad muy activa. Definitivamente recomendaría encarecidamente esa ruta sobre Adobe AIR. –

0

¿Conoces PHP? Le sugiero que instale Wamp o phpTriad o algo similar para Windows. De esa forma puede llegar a los archivos locales. Si es Linux, la mayoría de los sistemas operativos basados ​​en * nix tienen compilación en Apache y PHP ...

1

Si no eres un basher de Microsoft y no te importa estar vinculado a IE, un Hypertext Terminal Application (HTA) es otra opción. Una vez (hace mucho tiempo) creé una aplicación de base de datos autónoma completa y bastante grande usando HTA.

0

Mozilla desarrolla actualmente Chromeless, que parece ser capaz de hacer exactamente lo que quiere y tiene filesystem access

+0

Desafortunadamente, el proyecto Chromeless se considera inactivo y no se compromete durante más de 2 años. – Meglio

Cuestiones relacionadas