Frage pjax oder Client-Seite MVC?


Ich muss ein neues Projekt starten, eine Webapp mit vielen Formen und Bildschirmen und ich weiß wirklich nicht, welche Technologie am besten passt. Die Anwendung ist eine ERP-ähnliche App mit sehr wenigen Animationen und vielen Formen. Das Ziel ist es, bei minimalen Nachladungen und Wartezeiten zu reduzieren, es muss so nah wie möglich an einer normalen Desktop-App sein (viel Arbeit, um wie eine wunderbare VB6-App auszusehen :-)

Auf der einen Seite haben wir Client-Seite MVC (Backbone). Es ist cool, den ganzen Code auf dem Client laufen zu lassen, aber meiner Meinung nach bedeutet dies die Wiederholung von viel Code (zB alle Modelldefinitionen) vom Server (PHP + Fuel). Sicher einmal geladen alle Informationen Aufgabe wie Paginierungen oder Grid-Arbeit ohne Verzögerung, aber es auch einige Probleme der Synchronisierung (andere Benutzer können Daten ändern, und ich muss Daten auf Client manuell ungültig machen).

Auf der anderen Seite haben wir Pjax. Die Idee ist, das ganze Templating und so weiter auf dem Server zu machen, implementieren Sie einfach eine Logik, um die Seite ohne den Rahmen für die pjax-Anfrage oder die ganze Seite für neue Anfragen zurückzugeben. Keine Code-Duplizierung, sehr einfache Client-Seite.

Ich habe die Geschichte gelesen vom Basislager und von Twitter und beide Punkte ergeben für mich Sinn. Sie können sich nicht auf dem Besuchercomputer anmelden (Funktionen, Leistung ...)

Je mehr ich über den Modus nachdenke, mag ich Pjax über MVC, aber vielleicht verpasse ich etwas. Was sind die MVC Vorteile gegenüber Pjax oder Pjax Nachteile gegenüber Client-Seite MVC?

Danke vielmals


7
2017-09-09 23:55


Ursprung


Antworten:


Backbone.js ist gut für schwere, einzelne Seite Web-Anwendungen, die nie wirklich zurück posten, aber viele ajaxian Dinge gehen, voneinander abhängige Cascading Dropdowns, etc. Es hat eine sehr gute API für Veranstaltungen und Sammlungen. Wenn Sie genügend Javascript auf der Client-Seite haben, kann es eine hilfreiche Möglichkeit sein, es zu organisieren. Es ist in dem Sinne eigenmächtig, dass es erwartet, dass Ihre serverseitige Architektur standardmäßig RESTful ist, und Sie müssen einige Anstrengungen unternehmen, um es für nicht REST-konforme APIs zu verwenden.

Das Projekt, an dem ich gerade arbeite, ist eine ERP-Web-App, mit asp.net MVC auf der Serverseite. Ich habe gelernt, dass Backbone (mit Lenker als Templating-System) und .net mvc wirklich nicht so gut zusammenspielen. Wenn Sie Backbone gehen, müssen Sie wirklich Full-Hog gehen (Controller-Methoden dienen JSon, das ist es). Auf Seiten in dieser App, die mehr oder weniger "normale" Webseiten mit einigen Formen sind, ist Backbone die falsche Wahl.

Ich habe zum ersten Mal nur Pjax gegoogelt, also habe ich im Grunde nur die kurze Beschreibung oben auf der Seite gelesen, aber ich vermute, dass dies der Weg zu deinem Szenario sein könnte, im Einklang mit Keep It Simple Silly-Prinzipien.


3
2017-09-10 02:29