Bisher war ich ein großer Fan des MVC-Musters für die Entwicklung von Webanwendungen. Für das Web habe ich hauptsächlich PHP (mit den Frameworks Kohana und CodeIgniter) und Ruby (RoR) entwickelt.
Als meine Anwendungen auf der Ajax-Seite immer umfangreicher wurden (Apps mit nur einer Seite usw.), bemerkte ich, dass ich die grundlegenden Konzepte von MVC nur verraten konnte: Javascript erledigt die meisten Arbeiten; Das Anrufen von Controllern, nur um nach Ansichten oder mehr js / json-Code zu fragen, scheint falsch.
Nachdem ich versucht habe, alle Routing-Jobs in den Controllern zu belassen, habe ich sie jetzt grundlegend zwischen ihnen und Javascript aufgeteilt (das heißt, aus der PoV des Frameworks, Teil der Ansichten). Wenn Sie nach json fragen, wird die MVC-Subversion noch offensichtlicher: Der js-Code, der die Anforderung ausführt, ist der Controller. Der Controller des Frameworks fungiert lediglich als Proxy für die Daten des Modells - wonach ich eigentlich frage.
Also, worauf soll ich achten?
Ich habe über reine Javascript-Anwendungen nachgedacht, zum Beispiel mit backbone.js und einer dokumentbasierten, jsonspuckenden Datenbank (couchDB) als Backend, aber ich liebe meine relationalen Datenbanken.
Eine andere Option wäre die folgende: Ich würde nur "geroutete Modelle" in PHP / ruby / go / whatnot erstellen. Diese analysieren die Anfrage, rufen die Datenbank an und geben etwas Json zurück.
Dieser Ansatz sieht für mich interessant aus, aber es fehlen wesentliche Unterlagen oder akademische Analysen, so dass ich ein wenig Angst vor dem Sprung habe.
Ideen?