2011-01-28 18 views
10

Mi piacerebbe scrivere un'applicazione che utilizzi sia Javascript che HTML come per l'interfaccia utente. L'app non avrebbe davvero bisogno di una connessione internet, ma avrà bisogno di accedere ai file locali dell'utente.Creazione di un'applicazione locale Javascript (eseguita nel browser)?

Il mio primo pensiero è che questo sarebbe impossibile in un browser a causa delle restrizioni di sicurezza sull'accesso ai file locali.

Il mio secondo pensiero è stato quello di provare a utilizzare il webkit direttamente da C++ e utilizzare Python invece di Javascript, ma ciò sembra piuttosto complicato e mi sento come un eccesso di utilizzo con Qt.

Il mio terzo pensiero è stato quello di utilizzare un'applet Java firmata per effettuare tutti gli accessi locali, ma non ne sono nemmeno sicuro.

Qualche suggerimento su cosa dovrei fare?

+1

Avete mai visto [TiddlyWiki] (http://tiddlywiki.com)? – Pointy

risposta

6

Devo ammettere che ne so molto poco, ma sembra che quello che cercate sia ciò che fornisce XUL.

Dalla homepage:

XUL (XML User Interface Language) è il linguaggio basato su XML di Mozilla che consente di creare applicazioni multipiattaforma ricche di funzionalità che possono funzionare collegati o scollegati da Internet.

...

sviluppatori Web già familiarità con HTML dinamico (DHTML) impareranno XUL rapidamente e può iniziare la creazione di applicazioni subito.

quanto riguarda l'accesso del file system: https://developer.mozilla.org/en/Code_snippets/File_I//O

questo articolo viene descritto di input/output di file locale in JavaScript cromato.

Si accede al file system utilizzando i componenti Mozilla XPCOM. Un elenco di risorse e interfacce per l'I/O locale è disponibile per File e Stream su XUL Planet.

A causa della mia mancanza di familiarità, lascerò decidere alla comunità se questa risposta ha o meno merito.

EDIT:Fare questa risposta un wiki comunità dal momento che non ho molte informazioni reali da offrire.

+1

Sembra molto interessante, darò un'occhiata. – Manux

+1

Non ho ancora provato questo io stesso, ma fornendo un'applicazione XUL con una vista del browser (come [XUL Webapp Wrapper] (https://github.com/neam/webapp-xul-wrapper)) è un buon inizio, poi si può probabilmente usare [XUL's message manager] (https://developer.mozilla.org/en-US/docs/The_message_manager) per impostare le comunicazioni tra l'applicazione Javascript e XUL (in cui è possibile accedere ai componenti XPCOM) – Motin

1

È sempre possibile installare i server necessari localmente e accedere ai file locali dell'utente in questo modo.

Sono stato con Server2Go e MAMP

1

Si potrebbe - per esempio - utilizzare Cappuccino: Permette di creare applicazioni in Objective-J (una lingua scritta in JavaScript) ed eseguirli o nel browser o come a Desktop application with local file access.

Quindi c'è Adobe AIR, che consente di scrivere app in JavaScript/HTML e access the file system.

Oppure si potrebbe usare la nuova API File Access: http://hacks.mozilla.org/2009/12/w3c-fileapi-in-firefox-3-6/ (ha grandi limitazioni, però: HTML 5 File API)

JavaScript è un linguaggio bellissimo! Si prega di aggiornare questa domanda con informazioni su quale percorso si sceglie.

+0

I daremo un'occhiata al primo 2. L'API del file HTML5 può accedere solo ai file selezionati dall'utente; nella mia attuale posizione questo sarebbe abbastanza fastidioso da fare a causa della quantità di file. – Manux

+0

Vedo. Cappuccino è un ottimo quadro e ha una comunità molto attiva. Suggerisco caldamente questa rotta su Adobe AIR. –

0

Sai PHP? Ti suggerisco di installare Wamp o phpTriad o qualcosa di simile per Windows. In questo modo puoi raggiungere i file locali. Se si tratta di Linux la maggior parte dei sistemi operativi basati su * nix hanno costruito in Apache e PHP ..

1

Se non sei un basher Microsoft e/o non dispiace essere legato a IE, un Hypertext Terminal Application (HTA) è un'altra opzione. Una volta (molto tempo fa) ho creato un'applicazione di database stand alone completa e piuttosto grande usando HTA.

0

Mozilla attualmente sviluppa Chromeless, che sembra essere in grado di fare esattamente quello che vuoi e ha filesystem access

+0

Sfortunatamente, il progetto Chromeless è considerato inattivo e non ha commit per più di 2 anni. – Meglio

Problemi correlati