Jusqu'à présent, j'ai été un grand fan du modèle MVC pour le développement d'applications Web. Pour le web, j'ai développé principalement en PHP (avec les frameworks Kohana et CodeIgniter) et Ruby (RoR).
Au fur et à mesure que mes applications s'alourdissent du côté d'Ajax (applications à page unique, etc.), j'ai remarqué que je ne peux m'empêcher de trahir les concepts très basiques de MVC: Javascript fait la plupart des travaux; appeler des contrôleurs juste pour demander des vues ou plus de code js / json semble incorrect.
Après m'être efforcé de conserver tous les travaux de routage dans les contrôleurs, je l'ai fondamentalement divisé entre eux et Javascript (c'est-à-dire, à partir du PoV du cadre, une partie des vues). Lorsque vous demandez json, la subversion MVC semble encore plus évidente: le code js faisant la requête est le contrôleur; le contrôleur du framework agit simplement comme un proxy pour les données du modèle - ce que je demande réellement.
Alors, que dois-je regarder?
Je pensais aux applications purement javascript, par exemple avec backbone.js et une base de données basée sur des documents, json-spitting (couchDB) comme backend, mais j'aime mes bases de données relationnelles.
Une autre option serait la suivante: je ferais juste des "modèles routés" en PHP / ruby / go / whatnot. Ceux-ci analyseront la demande, appelleront la base de données, redonneront du json.
Cette approche me semble intéressante mais il manque de documentation substantielle ou d'analyse académique, donc j'ai un peu peur du saut.
Des idées?