2009-06-13 7 views
8

J'ai fait une structure de modèles complexes en django. J'avais prévu de rendre cette structure en utilisant GWT, mais avec python l'option de communiquer ce qu'elle est: - en utilisant JSON et dans ce cas je dois dupliquer la structure des modèles dans les objets javascript (voir tutoriel gwt). - python-gwt-rpc est une bibliothèque d'appel de procédure distante compatible avec gwt, mais il me semble que ce n'est pas facile à intégrer avec les modèles django, et la documentation désuète ne m'aide pas. L'alternative que je considère est d'utiliser le système de gabarit de Django pour rendre mes pages avec certains plugins Jquery UI et la méthode suggérée dans ce post de retriver des données html sans traiter les objets JSON parce que je pense que le traiter est un cauchemar parce que dans ma structure quand les données changent aussi l'interface pourrait être radicalement changer. Donc je pense qu'avec GWT je dois dupliquer les modèles django dans les objets javascript mais je les ai supportés par le système des sous-classes java. Dans la deuxième solution, je réutilise les modèles django et j'utilise le système de template django puis je peux faire une vérification côté serveur, mais ni une interface GWT sympa ni l'appel Json léger pour mettre à jour les pages.Django + GWT ou Jquery

Quelle est votre approche sur ce problème?

Répondre

4

Je pense que vous devez prendre votre décision en fonction des facteurs habituels: combien de temps avez-vous pour développer votre application, et quels sont les meilleurs outils pour réaliser le développement pendant cette période. Si vous avez pris la décision que Django est votre framework côté serveur (ce qui est mon choix préféré), il semble assez clair que jQuery, Dojo, etc. vont probablement s'intégrer plus facilement avec votre Django. D'un autre côté, si vous avez plus de temps et surtout si vous pouvez open-source les parties de l'interface Django, il serait très cool d'écrire du code qui pourrait se connecter aux composants internes de Django et générer le Javascript nécessaire interface avec GWT et ne pas violer DRY.

Donc, en bref, si vous devez faire l'application, allez avec jQuery. Si vous avez plus de temps et que vous voulez des félicitations, alors développez une belle bibliothèque transparente pour Django qui rendra le bon HTML + Javascript des modèles et des formulaires de Django qui s'intégreront à GWT.

Juste mon avis :)

1

je l'ai fait traversé ce pont exact, et malheureusement je l'ai trouvé, il est préférable de faire les objets côté client dans GWT. Heureusement, cependant, cela se fait facilement en utilisant JavaScript Overlays et un petit générateur de code. Mon générateur de code examine le fichier models.py et extrait tous les champs pertinents avant de les placer dans les fichiers .java pour GWT. Une fois que vous avez ceci, l'implémentation de vos nouveaux objets est assez facile.

+0

Great Jack! Pouvez-vous partager votre générateur de recherche dans models.py? Il gère également les classes étendues? Maintenant, j'ai réalisé que pour mes besoins particuliers, un catalogue de site, Jquery et Jquery UI fonctionne bien, mais si plus tard j'ai besoin d'ajouter une interface graphique complexe, j'ai besoin de GWT. – capolise

+0

Je posterais le code pour vous, mais je vous conseille fortement de regarder une meilleure façon de le faire. Au courant, j'utilise Perl pour analyser les fichiers .py. Je l'ai écrit avant d'avoir une bonne compréhension des fichiers introspectifs du modèle Django. Je suggérerais d'examiner cela, et rouler le vôtre. –

9

Avez-vous considéré le pyjama?

Pour moi, c'est le meilleur des deux mondes. Vous utilisez, comme d'habitude, le back-end Django, mais vous pouvez facilement utiliser les services JSON RPC à partir de votre code pyjama.

Vous codez le frontal à peu près comme dans GWT, mais en Python au lieu de Java.

Voici un bref tutoriel: http://gdwarner.blogspot.com/2008/10/brief-pyjamas-django-tutorial.html