Chi fa cosa in una singola pagina di applicazione? [chiuso]

3

Il mio background di sviluppo è in webform ASP.NET. Ho letto vari tutorial SPA, ma riescono sempre a entrare nelle erbacce su specifiche librerie javascript.

Sto solo cercando di capire cosa succede in una SPA con un livello intermedio .NET.

In particolare:

Il modello di dominio esiste sia in .NET che in javascript?

Il modello javascript è più un modello di visualizzazione che un modello di dominio completo?

Questo elimina la necessità di visualizzazioni nel contesto di ASP MVC? vale a dire. Fondamentalmente, fare una SPA trasforma ASP MVC in ASP MC?

Il livello .NET invia solo dati (JSON / XML) al client? Nessun markup?

Tutta la configurazione del routing ASP MVC diventa in gran parte irrilevante? Tutto il routing è gestito lato client?

    
posta Legion 26.11.2015 - 17:54
fonte

1 risposta

7

Quindi, sono più esperto in PHP e Python, ma le mie risposte dovrebbero essere valide anche per ASP.NET, visto che le tue domande riguardano più la struttura MVC piuttosto che il linguaggio / framework stesso.

Prima di tutto, la scelta della libreria javascript può essere cruciale per rispondere alle tue domande. Ad esempio, se si sceglie lo stack MeteorJS completo (in cui i modelli sono condivisi tra il server e il client) o solo una libreria front-end come Angular o React (o una combinazione di entrambi).

Does the domain model exist both in .NET and javascript?

È potrebbe : dipende dalla libreria. I dati vengono normalmente ricevuti come oggetti JSON tramite una chiamata XMLHttp (o websocket, per un'applicazione Meteor) o direttamente accessibili dalla memoria locale. L'implementazione di un modello potrebbe essere utile per mantenere pulito il codice (in Typescript è possibile utilizzare un'interfaccia) ma per gestire le operazioni CRUD dipende in realtà dalla libreria JS di propria scelta.

Is the javascript model more of a view model than a complete domain model?

In una SPA normalmente hai Controllori (o "componenti" o "direttive"), non vedi i modelli. Di nuovo, dipende molto dalla struttura / libreria JS. Nell'ultima versione 2.0 di Angular, il componente è sia una vista che un controller. Per maggiori informazioni: link

Does this eliminate the need for views in the context of ASP MVC? ie. Does making an SPA basically turn ASP MVC into ASP MC?

Sì, se prevedi di utilizzare ASP come endpoint RESTful dell'API hai ancora bisogno di controller per il routing e Modelli per CRUD: idealmente, la "Visualizzazione" è solo un documento JSON.

Does the .NET layer only send data (JSON/XML) to the client?

Sì, ma dovrebbe anche essere in grado di gestire le richieste per le operazioni CRUD (GET, POST, UPDATE, DELETE per REST, altre per DDP protocollo)

No markup?

Che tipo di markup vuoi inviare?

Does all the ASP MVC routing configuration become largely irrelevant? Is all the routing handled client side?

Come affermato in precedenza, sarà ancora necessario il routing per gestire la logica di business REST / DDP. Tutto il resto (come il routing degli URL con cui l'utente può interagire nella barra del browser) è gestito dalla SPA (e, naturalmente, l'utilizzo varia a seconda della scelta della libreria)

    
risposta data 26.11.2015 - 18:53
fonte

Leggi altre domande sui tag