Utilizzo di un framework Web come GUI Python

1

Se ho costruito qualche utile parte di codice python ad es. raschiare un sito Web o calcolare qualcosa di grande, a un certo punto potrei voler aggiungere una GUI al mio progetto. Per questo potrei usare Tk, Qt, Pygame o qualsiasi framework grafico / GUI Python.

Ora voglio anche che questo strumento sia utilizzabile dai client senza la necessità di un'installazione python. Ovviamente potrei usare qualcosa come py2Exe o py2Dmg. Ma non sarebbe meglio usare un framework web basato su Python per questo? Qualcosa come Django o Pyramid.

Quali sarebbero gli svantaggi di fare questo? Posso semplicemente usare il framework per eseguire il mio codice su un server e restituire solo il risultato? O questo diventa complicato quando ci sono più utenti?

    
posta SwenMulderij 06.12.2013 - 12:21
fonte

2 risposte

1

Realizzare un'interfaccia utente Web semplifica l'estensione e l'aggiornamento. Ma sarà un altro livello di complessità da affrontare.

Raccomando di leggere il link

    urls = (
        '/hello', 'hello'
    )
    app = web.application(urls, globals())

    class hello:        
        def POST(self, name):
            #call your script here

Puoi chiamarlo con POST localhost / hello

I vantaggi:

  • Portabilità: nessun programma di installazione può accedere da qualsiasi luogo.

  • Estensibilità: è più facile modificare l'interfaccia utente (se conosci HTML / CSS) e semplificare la ridistribuzione dell'applicazione.

inconvenienti:

  • Complessità: dovrai comprendere HTML, richiesta / risposta CSS ecc., configurare un server web o un hosting condiviso,

  • Sicurezza: non renderlo pubblico.

risposta data 06.12.2013 - 12:39
fonte
0

Se usi Django, ti consiglio di guardare uno dei due

  • django-tastypie . Con esso puoi costruire semplici interfacce in stile REST al tuo codice.
  • Celery . Un framework di task asincrono

Dato che parli di calculating something big hai probabilmente bisogno di un'elaborazione asincrona. Il sedano è un'ottima scelta per questo. Include la possibilità di inviare lavori tramite chiamate REST e di controllarne lo stato.

    
risposta data 12.01.2014 - 00:49
fonte

Leggi altre domande sui tag