2010-01-26 11 views
5

Ho un server Python ben sviluppato con flussi di lavoro, viste, oggetto - ORM/OSV, ecc ... Comunicazione server/client basata sul protocollo socket, può essere eseguita da qualsiasi servizio 1. Servizio XMLRPC 2. Presa ServizioQuale tecnologia è preferibile costruire un client GUI basato sul web?

ora voglio sviluppare un client Web GUI completamente basato su Ajax. Ho servizi web/socket per comunicare con il server.

quello che mi serve è quello di selezionare la tecnologia, ho diverse opzioni come,

  1. ExtJS - CherryPy
  2. GWT
  3. Ext GWT-
  4. CheeryPy
  5. Django + JQuery
  6. Django + Extjs
  7. ???
  8. ??? ...
+2

Django per la costruzione di un cliente? Non ha senso. La presenza in questa lista significa che non capisco la tua domanda. Puoi spiegare perché stai usando i framework web per costruire client web? –

+0

hai ragione, django ha il suo framework e altre cose ho solo bisogno di una piattaforma web - per un server HTTP basato su Ajax, facile da usare, più veloce e affidabile.Il server – shahjapan

risposta

1

Hai detto che hai un server. Quindi quale protocollo è compreso da esso? Se è solo HTTP, non hai bisogno di un framework web come Django/CherryPy. Puoi prendere qualsiasi framework JS come (jQuery + jQuery Tools, MooTools, ExtJS, qualunque cosa) e annotare gli script JS che parleranno al tuo server tramite richieste AJAX e visualizzeranno le risposte in forma di html.

Se il server è qualcosa che dovrebbe essere parlato con protocollo TCP/IP personalizzato è necessario creare un proxy. Potresti usare un framework per questo come Django, ma per semplicità consiglio di prendere WSGI + Werkzeug.

+0

comprende 2 protocolli, xmlrpc e 2nd è la comunicazione basata su socket python – shahjapan

+2

, quindi è necessario un bridge che accetta richieste HTTP dal browser, traducendole in pacchetti basati su socket, attendere la risposta e convertirli in un modulo consumabile dal browser (json , xml, html). Se hai un'ideologia in tempo reale e non una richiesta-risposta, devi guardare alla tecnologia che si chiama Comet – nkrkv

+0

o come ho detto, basta usare Flex (o presumo Silverlight) che viene fornito con la funzionalità socket fuori dalla scatola. –

1

Non sono sicuro di aver capito esattamente sul lato server, ma sono un grande fan di Flex come un modo per sviluppare software appropriato per il browser, piuttosto che un pasticcio di cercare di fare HTML fare cose che non è mai stato fatto per. In parte un ragionamento idealistico, ma non sono ancora impressionato dal "sentire" delle GUI basate su JS.

Flex ha buone opzioni di server di comunicazione ... web-services, prese, oggetti remoti, ecc

+0

ma hai bisogno di un navigatore con flash e devi acquistare Flex DK, vero? – enguerran

+0

non so cosa sia un navigatore. Flex SDK è gratuito, l'IDE di Adobe non è, ma non è essenziale, ma presumo che i professionisti utilizzino strumenti professionali e non sia molto costoso. Preferisco usare lo strumento giusto piuttosto che risparmiare qualche dollaro e fare qualcosa di meno bello. –

0

Come su piloni + SQLAlchemy + ExtJS? Lo usiamo e funziona alla grande!

5

Provare a utilizzare pyjamas, che è una porta di GWT per Python. Invece di scrivere codice in js, che è un'esperienza piuttosto inquietante, puoi codificare in Python e compilarlo in js.

+0

Mi è piaciuto il pigiama, non lo sapevo, grazie. – shahjapan

+1

Spero che funzioni per te :-) Non riesco ancora ad avviare i programmi di pigiama come script Python standalone, ma la compilazione di js funziona perfettamente :-) – gruszczy

1

Se ti piace Django per i bit lato server del tuo front-end, considera dojango - aiuta a integrare Django sul lato server con il toolkit Javascript dojo sul lato browser delle cose (Dojo non è così popolare come jQuery, tuttavia è altrettanto potente, e alcuni di noi lo preferiscono per ragioni architettoniche e stilistiche ;-).

Problemi correlati