Migrazione di una grande applicazione aziendale Silverlight in MVC

3

Ho il compito di migrare una grande applicazione aziendale Silverlight in una nuova tecnologia vivente. Avevo scelto asp.net MVC e web api.

Come sappiamo, Silverlight utilizza il pattern di progettazione MVVM mentre asp.net mvc utilizza ovviamente il pattern MVC. Sembra che migrare la logica di Silverlight in mvc non sarebbe affatto facile.

Come so in MVC, non puoi manipolare i dati che ottieni nel client perché ottieni semplicemente HTML. Non ho mai usato MVC quindi non conosco le differenze.

a.Can ho raggiunto una logica simile in MVC? b. Ci sono altri quadri necessari? c.XAML associazione e manipolazione dei dati da svlight, in mvc, è fatto dal codice dietro?

Ci sono altri suggerimenti?

    
posta Floji 29.02.2016 - 08:15
fonte

3 risposte

5

Il tuo problema di base è che le tecnologie client sono fondamentalmente diverse: uno dei driver chiave per l'evoluzione di Silverlight è stato quello di mettere funzionalità client "ricche" nel browser.

Ciò significa in termini pratici che la natura interattiva di un'app rich client non è disponibile in una semplice app MVC dato che (almeno in teoria) stai pubblicando pagine relativamente statiche.

Tuttavia, uno dei motivi della scomparsa di Silverlight è che ora è possibile creare applicazioni rich client nel browser utilizzando schemi / framework JavaScript e MVVM. Quindi la tua applicazione sarebbe quindi un front-end JavaScript (o meglio TypeScript se sei un sviluppatore C #) (applicazione a singola pagina) che parla con un back-end dell'API Web.

Ci sono un numero spaventoso di scelte per costruire il front end (Aurelia, Angular, Ember e molti altri che comprendono alcuni o tutti i layer necessari per MVVM nel browser).

Hai ancora bisogno di capire quale logica appartiene al server (se qualcuno che era nel client Silverlight dovrebbe essere spostato) e cosa ora deve essere riscritto.

Addendum

Ricorda anche che "pagina singola" non significa necessariamente che ha in una singola pagina / app, piuttosto - se ci sono separazioni logiche puoi costruire pezzi più piccoli, meno complessi che racchiudono un insieme di funzionalità.

    
risposta data 29.02.2016 - 15:12
fonte
0

Abbiamo affrontato un problema smilico con il nostro client - mentre raw MVC.NET è un ottimo strumento, è considerevolmente diverso dal nostro vecchio client Silverlight - particolarmente preoccupante è che la maggior parte dei nostri sviluppatori non ha familiarità con Javascript, invitando prestazioni scadenti e problemi di compatibilità. Alla fine, abbiamo deciso di andare con un client piuttosto "stupido", rispetto a Silverlight, dove la maggior parte delle decisioni sono prese sul server e poi comunicate attraverso un JSON-rest-api.

Il client stesso è un thin client, progettato per visualizzare i dati: le manipolazioni vengono inviate al server e valutate lì. La tecnologia si basa su dattiloscritto, js angolare, d3 e chuzpah per i test. Ai nostri sviluppatori piace la piattaforma - ma c'è molto codice di framework che dovevamo scrivere, e la curva di apprendimento era .... spiacevole.

Ciò che ha funzionato bene per noi è stato assumere due "web guys" che hanno stimolato il resto della squadra, inoltre abbiamo un ottimo architetto, che ha contribuito a risolvere problemi più complicati.

    
risposta data 01.03.2016 - 18:20
fonte
0

Ho anche svolto ricerche sui metodi per aggiornare l'app Lightswitch della mia azienda. A quanto pare, puoi unire MVC e lightswitch ma deve essere l'interruttore della luce 2013 o superiore. Non ho ancora provato questa soluzione, poiché sto cercando di convertire completamente in MVC. Anche dopo l'inclusione di MVC, non sembra esserci un modo semplice per eseguire una conversione completa senza fare un po 'di lavoro in più per creare nuovamente modelli, controller e viste. Buona fortuna.

    
risposta data 11.09.2017 - 21:20
fonte