Integrazione di Python e JavaScript per l'utilizzo offline

3

Sono un primo timer qui, quindi fammi sapere se dovrei pubblicare questa domanda in un forum diverso!

Ho un programma python che accetta l'input dell'utente ma è utile solo quando sei offline, volevo migliorare l'interfaccia utente in modo tale che pensavo di utilizzare HTML CSS e JavaScript sarebbe perfetto. Quindi la mia domanda è, è possibile che Python e JavaScript comunichino le variabili tra loro quando sono offline (front-end JS, back-end di Python)?

Un altro modo di pensarci è come puoi scegliere uno script da eseguire su un modulo (ma per quanto ne so funziona solo se lo script è su un server).

Qualsiasi aiuto sarebbe molto apprezzato!

    
posta Red 14.01.2018 - 01:21
fonte

1 risposta

3

Un sito Web è in modalità sandbox e non è in grado di eseguire script esterni: è limitato al browser. Ma può emettere richieste HTTP a un server. Un server non è necessariamente "una macchina in un data center", ma più in generale "qualsiasi processo che ascolta su alcune porte e parla HTTP".

Poiché il codice JavaScript nella sandbox del browser e il codice Python possono comunicare solo se JS invia una richiesta HTTP a un server Web che esegue quindi il codice Python, è necessario un server. È molto facile creare un semplice server web Python, ad es. con strutture come Flask. Non condividono le variabili, ma possono trasferire i messaggi. Il messaggio include quindi tutti i dati necessari. Spesso, il codice JS invia una richiesta POST Ajax con dati con codifica JSON e il server risponde con un altro documento JSON che contiene i risultati.

Ma come può funzionare senza una connessione Internet? È possibile eseguire il server sullo stesso computer del browser. Il server quindi ascolta localhost e non vengono effettuate richieste di rete reali. Ad esempio, quando sviluppo un sito con file HTML statici, avvio spesso un server semplice con python3 -m http.server -b localhost 8080 . Posso collegarmi al server navigando a http://localhost:8080/ nel mio browser.

Invece di un file server statico, dovresti eseguire il tuo server Python su qualche porta. I tuoi utenti installerebbero quindi il tuo software Python e avvieranno il server, quindi apriranno l'indirizzo corretto nel browser per caricare la GUI.

    
risposta data 15.01.2018 - 14:07
fonte

Leggi altre domande sui tag