2010-11-05 12 views
0

Je suis en train de porter un jeu de ligne de commande sur le Web. J'utiliserai Ajax pour tout coller ensemble.Ajax Django application architechture

Maintenant, après les premières lignes de preuve de concept que j'ai écrites, je suis confronté à des doutes sur l'architecture. Comment structureriez-vous normalement un tel projet?

Mon moteur de jeu est écrit dans un style orienté objet en Python, donc j'ai par exemple une classe de jeu, une classe de joueur, etc ...

Pour autant que je peux dire que j'ai essentiellement 2 options:

a) utiliser Javascript comme la colle b) reproduire le strict minimum de mon modèle d'objet en Javascript

Depuis c'est un jeu de cartes que j'aurait par exemple une fonction de « jouer la carte » et en option a il ressemblerait beaucoup à ceci:

function playCard(idx, player){ 
    $.ajax({ 
    type: 'POST', 
    url: '/play_card/' + idx + '/', 
    success: function(){//do something} 
    }); 
} 

Dans l'option B, cette carte de jeu est une méthode d'un objet Player qui a été instanciée au début de la partie.

En outre, dans le cas où vous iriez pour l'option B, comment connecteriez-vous l'instance Javascript avec son homologue côté serveur? Par exemple, lorsque PlayerA.playCard (1) joue une carte, comment puis-je savoir quelles sont les cartes du joueur qui choisissent cette carte?

Merci d'avance.

+0

Quel est exactement le problème? Ne pouvez-vous pas écrire des vues pour chaque scénario et retourner des réponses via JSON? Ou les réponses sont-elles plus complexes que je ne le comprends? – jMyles

+0

Justin, il n'y a pas de problème technique, je pourrais le faire de toute façon, je me demande ce que, selon votre expérience, considérez-vous comme le meilleur et pourquoi d'un point de vue architectural. – Lorenzo

Répondre

0

Je travaille sur un site où nous utilisons Django et Ajax. La seule partie délicate est la validation de formulaire. Nous ne poussons pas le format html généré vers JavaScript, mais nous créons nos propres formulaires d'interface utilisateur et créons une API REST qui utilise les modèles Django et forme l'API manuellement dans nos gestionnaires ajax python. L'autre chose délicate est le jeton csrf que vous devrez dire à votre JavaScript.

+0

Je voudrais que les gens laissent un commentaire sur la raison pour laquelle ils ont baissé la note afin que la personne qui a donné la réponse apprenne quelque chose. Ce n'est pas reddit. –