Dies war eher eine Diskussion darüber, was die Leute heutzutage über das Teilen einer Webanwendung denken.
Ich bin es gewohnt, eine MVC-Anwendung mit all ihren Ansichten und Controllern zu erstellen. Normalerweise würde ich eine vollständige Ansicht erstellen und diese bei einer vollständigen Seitenanforderung an den Browser zurückgeben, es sei denn, es gab bestimmte Bereiche, die ich nicht sofort auffüllen wollte, und dann würde ich mithilfe von DOM-Seitenladeereignissen den Server aufrufen, um andere Bereiche zu laden mit AJAX.
Wenn es um eine teilweise Seitenaktualisierung ging, rief ich eine MVC-Aktionsmethode auf, die das HTML-Fragment zurückgab, mit dem ich dann Teile der Seite auffüllen konnte. Dies gilt für Bereiche, die das Laden der ersten Seite nicht verlangsamen sollen, oder für Bereiche, die besser zu AJAX-Aufrufen passen. Ein Beispiel wäre das Auslagern von Tabellen. Wenn Sie zur nächsten Seite wechseln möchten, würde ich es vorziehen, wenn ein AJAX-Aufruf diese Informationen enthält, anstatt eine vollständige Seitenaktualisierung durchzuführen. Der AJAX-Aufruf würde jedoch immer noch ein HTML-Fragment zurückgeben.
Meine Frage ist. Sind meine Gedanken zu diesem archaischen Thema, weil ich aus einem .net-Hintergrund stamme und nicht aus einem reinen Front-End-Hintergrund?
Ein intelligenter Front-End-Entwickler, mit dem ich zusammenarbeite, bevorzugt es, in den MVC-Ansichten mehr oder weniger nichts zu tun, und würde lieber alles am Front-End tun. Bis hin zu Web-API-Aufrufen, mit denen die Seite gefüllt wird. Anstatt eine MVC-Aktionsmethode aufzurufen, die HTML zurückgibt, würde er lieber ein Standardobjekt zurückgeben und JavaScript verwenden, um alle Elemente der Seite zu erstellen.
Der Weg des Front-End-Entwicklers bedeutet, dass alle Vorteile, die ich normalerweise mit der MVC-Modellvalidierung bekomme, einschließlich der clientseitigen Validierung, wegfallen. Es bedeutet auch, dass alle Vorteile, die ich beim Erstellen der Ansichten mit stark typisierten HTML-Vorlagen usw. bekomme, wegfallen würden.
Ich glaube, dies würde bedeuten, dass ich die gleiche Validierung für die Front-End- und Back-End-Validierung schreiben müsste. Das Javascript müsste auch viele Methoden zum Erstellen der verschiedenen Teile des DOM haben. Wenn ich beispielsweise einer Tabelle eine neue Zeile hinzufüge, würde ich normalerweise die MVC-Teilansicht zum Erstellen der Zeile verwenden und diese dann als Teil des AJAX-Aufrufs zurückgeben, der dann in die Tabelle eingefügt wird. Bei Verwendung einer reinen Front-End-Methode würde das Javascript ein Objekt (beispielsweise ein Produkt) für die Zeile aus dem API-Aufruf aufnehmen und dann eine Zeile aus diesem Objekt erstellen. Erstellen Sie jeden einzelnen Teil der Tabellenzeile.
Die fragliche Website wird viele verschiedene Bereiche haben, von Administration, Formularen, Produktsuche usw. Eine Website, von der ich glaube, dass sie nicht auf einer einzigen Anwendungsseite erstellt werden muss.
Was denken alle darüber?
Ich bin daran interessiert, von Front-End-Entwicklern und Back-End-Entwicklern zu hören.