Do tej pory byłem wielkim fanem wzorca MVC do tworzenia aplikacji internetowych. Dla sieci opracowałem głównie w PHP (z ramami Kohana i CodeIgniter) i Ruby (RoR).
Gdy moje aplikacje stają się coraz cięższe po stronie Ajaxa (aplikacje jednostronicowe itp.), Zauważyłem, że nie mogę nie zdradzić bardzo podstawowych pojęć MVC: JavaScript wykonuje większość zadań; wywoływanie kontrolerów tylko z prośbą o widoki lub więcej kodu js / json wydaje się błędne.
Po staraniach o zachowanie wszystkich zadań routingu w kontrolerach, teraz zasadniczo podzieliłem je między nich i Javascript (to znaczy, z PoV frameworka, części widoków). Gdy pytasz o jsona, subwersja MVC wygląda jeszcze bardziej oczywisto: kod js wykonujący żądanie jest kontrolerem; kontroler frameworku działa jedynie jako proxy dla danych modelu - o to tak naprawdę proszę.
Więc na co powinienem patrzeć?
Myślałem o aplikacjach czysto javascript, na przykład z backbone.js i opartą na dokumentach, plucie jsonem (couchDB) jako backendem, ale uwielbiam moje relacyjne bazy danych.
Inną opcją byłoby: po prostu wykonałbym „routowane modele” w PHP / ruby / go / whatnot. Ci przeanalizują żądanie, wywołają db, zwrócą trochę JSON.
To podejście wydaje mi się interesujące, ale brakuje w nim jakiejkolwiek obszernej dokumentacji lub analiz akademickich, więc trochę się boję.
Pomysły?