Questa è stata più una discussione per ciò che i pensieri delle persone sono in questi giorni su come dividere un'applicazione web.
Sono abituato a creare un'applicazione MVC con tutte le sue viste e controller. Normalmente creerei una vista completa e la restituirei al browser su una richiesta a pagina intera, a meno che non ci fossero aree specifiche che non volevo popolare subito e quindi avrei usato gli eventi di caricamento della pagina DOM per chiamare il server per caricare altre aree usando AJAX.
Inoltre, quando si trattava di un aggiornamento parziale della pagina, chiamavo un metodo di azione MVC che restituiva il frammento HTML che avrei potuto usare per popolare parti della pagina. Questo sarebbe per le aree che non volevo rallentare il caricamento iniziale della pagina o per quelle che si adattavano meglio alle chiamate AJAX. Un esempio potrebbe essere il paging della tabella. Se vuoi passare alla pagina successiva, preferirei che una chiamata AJAX ottenesse tali informazioni piuttosto che utilizzare un aggiornamento di pagina intera. Ma la chiamata AJAX restituirà comunque un frammento HTML.
La mia domanda è. Sono i miei pensieri su questo arcaico perché vengo da uno sfondo .net piuttosto che da uno sfondo puro front-end?
Uno sviluppatore di front-end intelligente con cui lavoro, preferisce non fare più o meno nulla nelle visualizzazioni MVC e preferirebbe fare tutto sul front-end. Fino alle chiamate API Web che popolano la pagina. Quindi, piuttosto che chiamare un metodo di azione MVC, che restituisce HTML, preferirebbe restituire un oggetto standard e usare javascript per creare tutti gli elementi della pagina.
Il modo di sviluppatore del front-end significa che qualsiasi vantaggio che ottengo normalmente con la convalida del modello MVC, inclusa la convalida lato client, sarebbe sparito. Significa anche che qualsiasi beneficio che ottengo con la creazione delle viste, con modelli html fortemente tipizzati ecc.
Credo che ciò significherebbe che avrei bisogno di scrivere la stessa validazione per la validazione front-end e back-end. Il javascript dovrebbe anche avere molti metodi per creare tutte le diverse parti del DOM. Ad esempio, quando aggiungo una nuova riga a una tabella, normalmente utilizzerei la vista parziale MVC per creare la riga, e quindi la restituire come parte della chiamata AJAX, che viene quindi iniettata nella tabella. Usando un modo front-end puro, il javascript prenderebbe un oggetto (per esempio un prodotto) per la riga dalla chiamata API e quindi creerebbe una riga da quell'oggetto. Creazione di ogni singola parte della riga della tabella.
Il sito Web in questione avrà molte aree diverse, dall'amministrazione, ai moduli, alla ricerca di prodotti, ecc. Un sito Web che non credo debba essere progettato in un'unica applicazione.
Quali sono i pensieri di tutti su questo?
Sono interessato a sentire dagli sviluppatori front-end e dagli sviluppatori back-end.