MVC per creare applicazioni web desktop e mobili? [chiuso]

0

Sto pianificando la creazione di una webapp con un'interfaccia web mobile dedicata e un'interfaccia desktop / tablet dedicata.

Sto prendendo in considerazione ASP.NET MVC, ma è chiaro per me che MVC è per la separazione delle preoccupazioni, come spiegato qui , comunque nel mio caso mi piacerebbe minimizzare il codice e supportare elegantemente telefoni e desktop (potrebbe essere un tablet di paesaggio che può essere anche" desktop " ).

Quindi MVC è una scelta saggia in questo caso o è la prima fermata per questo tipo di app web xdevice?

    
posta user193655 06.12.2013 - 15:41
fonte

4 risposte

4

Sì, l'architettura MVC è sicuramente una scelta saggia. E stai considerando ASP.net MVC per la tua soluzione. ASP.net MVC4 è una buona opzione se desideri sviluppare un sito web e un sito mobile per la tua attività.

Supponiamo di voler sviluppare una soluzione aziendale in cui i miei dispositivi variano di volta in volta in base alle esigenze aziendali. Ma la logica di business dietro sarebbe rimasta la stessa per tutti i dispositivi. In tal caso, andrò per API web ASP.net dove esporrà semplicemente le API ( metodi per ottenere e impostare dati dal database ) sul Web che tutti i dispositivi possono consumare. Il trasferimento dei dati tra API e dispositivi può utilizzare XML o JSON (che è configurabile). Ora, la parte vista può essere scritta in qualsiasi lingua a seconda dei dispositivi.

Qui puoi avere più viste che consumano la stessa API Web sul tuo server. In questo modo puoi risparmiare molto codice.

    
risposta data 10.12.2013 - 05:37
fonte
1

Abbiamo sviluppato un paio di app con successo utilizzando Asp.Net Mvc eseguito su più dispositivi.

In realtà, MVC strutturerebbe bene il livello di presentazione. A seconda del tipo di applicazione potresti anche gradire il livello Business e Data.

Per quanto riguarda il rendering su dispositivi diversi, dovrai creare fogli di stile in CSS, che renderà l'interfaccia utente reattiva e renderla di conseguenza, a seconda del tipo di dispositivo da cui proviene la richiesta.

    
risposta data 09.12.2013 - 16:40
fonte
1

Un pattern è molto utile fino a quando non è un vincolo. Dividi la tua applicazione in diversi componenti, decidi come collegarli prima e poi programmali. Se si disaccoppia completamente la parte di controllo nell'interfaccia utente, è molto facile riutilizzare il codice sia per l'applicazione Web sia per l'applicazione desktop. Alla fine devi occuparti di 3 componenti:

  • L'interfaccia utente (interfaccia web o GUI)
  • La parte di controllo (che è la parte che esegue il crunch dei dati)
  • La parte "memoria" (su file o database, dipende dalla tua applicazione)

Questo è MVC? Non lo so, ma probabilmente è quello che farai.

I modelli sono linee guida, non confini! ;)

    
risposta data 11.12.2013 - 14:08
fonte
1

MVC è un modello di progettazione con l'obiettivo di ridurre l'accoppiamento e aumentare la coesione dell'interfaccia utente, ne esistono molti diversi, ad esempio MVP e MVVM.

Attualmente la tendenza non è quella di creare un'interfaccia dedicata per ogni piattaforma di dispositivo, ma di utilizzare qualcosa chiamato responsive design (es: bootstrap ); questo è stato possibile dopo il rilascio delle media query CSS3, permettendo alla tua interfaccia di adattarsi al dispositivo su cui viene utilizzato, inoltre puoi usare bootstrap che è un ottimo framework UI che ti fornisce un comportamento reattivo pronto all'uso CSS.

Quindi linea di fondo (opzioni che utilizzano MVC):

  1. design reattivo: ti verrà restituito lo stesso permesso di visualizzazione e il CSS3 HTML5 sarà responsabile dell'adattamento al tipo di dispositivo.

  2. rilevamento del dispositivo controller e visualizzazione multi viste: il controller rileverà il tipo e il dispositivo del browser, di conseguenza verrà visualizzata una visualizzazione di cui hai bisogno: l'esempio se apri dall'indice desktop ti servirà IndexDesktop, se mobile lo stesso modello verrà creato lo stesso elemento ma restituirà IndexMobile. (per rilevare il dispositivo mobile e tutto il resto vai e scarica il codice c # )

  3. siti dedicati: che non è quello che raccomando perché ripeterai te stesso in ogni mossa e duplicheresti la quantità di lavoro.

Is MVC a wise choice in this case or which is the 1st stop for this kind of xdevice web app?

Personalmente raccomanderei di andare con un solido framework MV *; quale è questa la tua chiamata, puoi andare su MVC e ti aiuterà a selezionarne uno, personalmente raccomando di usare angularJS backbonejs o emberjs, sono tutti molto carini e solidi con cui lavorare, ASP.net MVC è un vero e proprio framework, ma il problema è che quando si tratta di lavorare sul lato client, il framework inizierà a diventare problematico.

EDIT : perché ASP.Net MVC è un po 'problematico quando si tratta di lato client?!

Personalmente uso MVC4 per lo sviluppo web, e il numero di cose che puoi fare usando, è sorprendente; roba come web API, testing, dependency injection, roba pronta all'uso come l'identità di asp.net, ma quando si tratta di routing di pagine interne, memorizzazione nella cache, gestione di ajax di pagine interne, è necessario utilizzare qualcosa di diverso da rasoio.

a volte è necessario inoltrare sul browser client affinché l'app funzioni come desiderato, ad esempio app a una sola pagina e app fat client (ad esempio gmail). è necessario inoltrare quindi tecnologie che sfruttino comportamenti client come HTML5 \ CSS3 \ JavaScript.

la maggior parte delle volte utilizzo MVC .net con qualche framework lato client per un comportamento ottimale, il risultato diventa qualcosa di simile a una soluzione ibrida che è la migliore da entrambe le parti.

Controlla questo sito web Tovagliolo caldo - angolare

    
risposta data 10.12.2013 - 15:01
fonte

Leggi altre domande sui tag