Domanda

Dobbiamo creare un sito Web del portale di amministrazione per supportare la nostra applicazione client/server.Dato che siamo un negozio .Net, il modo tradizionale più ovvio sarebbe farlo in ASP.Net.Ma Silverlight 2 uscirà dalla beta molto prima della data di rilascio.Dovremmo invece prendere in considerazione la realizzazione dell'intero sito Web in Silverlight, con un backend WCF di supporto?

La funzione principale del portale sarà:configurazione utenti, gruppi e permessi;configurazione delle impostazioni del profilo utente;caricamento e download di file per i file necessari per supportare l'applicazione.

Penso che il motivo principale per adottare questo approccio sarebbe che abbiamo una buona esperienza con WPF e WCF, ma poca esperienza con ASP.Net.In ogni caso dovremmo imparare ASP.Net o Silverlight e l'apprendimento di Silverlight sembra un'estensione più naturale delle nostre attuali competenze.

Ci sono grandi no dall'esperienza di StackOverflowers?Quali sono i grandi aspetti positivi?

È stato utile?

Soluzione

Dipende dai tuoi obiettivi.Se il portale di amministrazione fa parte dell'applicazione e verrà utilizzato solo dai computer su cui è installata l'applicazione, ci sono molti vantaggi nel passare completamente a Silverlight o anche a WPF.

Ma se riesci a vedere uno scenario in cui verrà utilizzato da un PC a caso o da una persona a caso, è assolutamente necessaria una versione HTML/Javascript completamente funzionante.

Alcuni motivi sono:

  • La maggior parte delle persone non ha Silverlight e guadagnerai un bel po' di imprecazioni se devono scaricarlo e installarlo.Alcune persone che lo hanno installato lo tengono disabilitato (insieme al flash e talvolta anche alle immagini) per evitare distrazioni e velocizzare la navigazione.
  • Quando il sito HTML fallisce, l'utente riceve una pagina di errore e lo ricarica.Quando Silverlight fallisce, può bloccarsi o bloccarsi.
  • L'HTML è ciò che ci si aspetta, sia dagli utenti che dai browser web:i pulsanti Indietro e Aggiorna funzionano come dovrebbero, i collegamenti ipertestuali e i moduli funzionano come previsto.
  • La connessione Internet lenta è ancora molto comune, sia nelle aree remote che sui dispositivi mobili.

Altri suggerimenti

Consiglierei di non costruire un sito Silverlight puro.

Silverlight presenta gli stessi problemi di Flash:Segnalibri non intuitivi, problemi con la stampa, problemi di accessibilità, pulsanti indietro non funzionanti e così via.

Inoltre, richiederesti ai tuoi utenti di avere Silverlight installato o almeno di avere la possibilità di installarlo.

In ambienti controllati (es.nelle grandi aziende o nel settore sanitario) o su dispositivi mobili, questo potrebbe non essere il caso.

Sceglierei sicuramente un'applicazione Silverlight completa, soprattutto se hai una buona esperienza con WPF.Sarai in grado di riutilizzare le tue conoscenze da WPF e dovresti essere in grado di acquisire Silverlight abbastanza rapidamente.Lavoro con Silverlight dalla Beta 1 e l'attuale Beta 2 è di solida qualità.Immagino sia lecito ritenere che una versione RTW sia proprio dietro l'angolo.

Pilf ha qualche punto valido, specialmente riguardo alla stampa.Per questo probabilmente utilizzerei SQL Reporting Services, o qualche altro framework di reporting, sul lato server, e quindi aprirei una nuova finestra con report stampabili.Per quanto riguarda il collegamento e l'aggiunta di segnalibri, i problemi non sono diversi da qualsiasi altra applicazione AJAX.Oggi ho scritto un post sul blog come fornire collegamenti diretti e navigazione indietro in avanti Silverlight.

Silverlight dispone inoltre di tutti gli hook necessari per un ottimo supporto di accessibilità, poiché l'API di automazione dell'interfaccia utente di WPF viene introdotta in Silverlight.Non so se i fornitori di lettori di schermo abbiano già raggiunto il livello.Il supporto di stili/modelli in Silverlight semplifica la fornitura di skin ad alto contrasto per gli utenti con problemi di vista, se ciò rappresenta un problema.

Sono d'accordo con quanto detto finora da tutti e penso che questo diagramma di flusso, rivolto a Flash, valga anche per Silverlight.

enter image description here

Fonte dell'immagine

Sembra che il tuo problema sia che hai bisogno di un'applicazione di amministrazione rich-client.Perché non utilizzare click-once?

Sul tema degli amministratori remoti, un altro utente ha affermato che sarebbe un argomento a favore dell'HTML se gli amministratori avessero una connessione lenta.Direi che, a seconda del tipo di informazioni, potrebbe essere più efficiente utilizzare Silverlight.Se disponi di una griglia dati ASP.NET popolata con associazione dati lato server, puoi scaricare moltissimi dati di markup e stato di visualizzazione.Anche se stai utilizzando un'alternativa a DataGrid più leggera su ViewState, avrai comunque molto HTML da scaricare.

In Silverlight, una volta scaricato l'XAP, che probabilmente sarà più piccolo dell'HTML corrispondente, l'XAP viene memorizzato nella cache e quindi non dovresti avere quel costo ogni volta e recupererai semplicemente i dati stessi.

Per un altro esempio, supponiamo che tu abbia una serie di elenchi a discesa su uno dei tuoi moduli che hanno tutti gli stessi valori nell'elenco.In Silverlight puoi ottenere questi valori una volta e associarli a tutti i dorpdown, in HTML dovrai ripeterli ogni volta.

La situazione migliorerà con l'associazione dati lato client in ASP.NET, che segue un modello molto simile a Silverlight e WPF per l'associazione dati.

Nel complesso, penserei anche che sarebbe necessario scrivere meno codice per l'implementazione di Silverlight, il che può aumentare la produttività e ridurre i costi di manutenzione.

ASP in tutto e per tutto.Dovresti usare Silverlight/Flash ecc. solo quando il testo non può fare quello che vuoi che faccia, ad es.visualizzare il video.

L'utilizzo di un plug-in per il tuo sito Web lo rallenta e richiede che l'utente abbia installato il plug-in.Silverlight, ad esempio, esclude tutti gli utenti Linux.Inoltre, poiché Silverlight è piuttosto nuovo, non si può dire quanto Microsoft si impegnerà a mantenere viva la piattaforma se non riprenderà presto.

Mi atterrei al semplice vecchio HTML con scripting lato server.

Inoltre, per i siti Web pubblici:Flash e Silverlight non possono essere indicizzati da nessun motore di ricerca, quindi buona fortuna con la scrittura di tonnellate di metadati se desideri dei visitatori.

Silverlight è una buona scelta per un portale rivolto all'interno, proprio come lo sarebbe per un portale rivolto al pubblico se hai già valutato il tuo progetto e hai deciso di procedere con un portale web.Sei libero di integrare i componenti Silverlight all'interno di un'applicazione ASP.NET esistente (ad es.l'approccio "isole di ricchezza"), ma se hai la possibilità di costruire un nuovo progetto da zero, non scartare una soluzione completamente Silverlight come una scelta valida dove avresti optato per un portale ASP.NET tradizionale.Silverlight è RTW ora, quindi se questa decisione è ancora sul tavolo, sai che non dovrai affrontare modifiche importanti in futuro.

Ci sono alcuni aspetti negativi con lo sviluppo di un sito completamente in Flash/Silverlight, ma se questi aspetti negativi non ti interessano o non avranno alcun impatto, allora non c'è nulla che ti fermi.Scegli lo strumento che ritieni soddisfi le tue esigenze in modo più completo.Non mi scorderei di creare un sito esclusivamente in Silverlight basandomi sugli aspetti negativi, perché apporta molti più aspetti positivi all'esperienza dell'utente.

I commenti precedenti hanno trattato la maggior parte degli aspetti negativi dell'utilizzo di Silverlight per un sito come questo e sono d'accordo.Se sei determinato ad avere uno sviluppo in stile rich-client e il tuo pubblico è piccolo (solo per gli amministratori), probabilmente consiglierei WPF rispetto a Silverlight poiché attualmente fornisce un set più ricco di strumenti e controlli.

Se rimani con ASP.NET, hai guardato Dynamic Data: è l'ideale per creare siti di gestione back-end con poco sforzo.

Ho visto i siti Web "Solo Silverlight" di Microsoft e sono piuttosto impressionanti.Ma ancora una volta, le demo erano lì per sfruttare tutto il potenziale di ciò che Silverlight può fare.Nel momento in cui hai bisogno di qualcosa di diverso potresti essere sfortunato.Non vedo Silverlight come Flash se non nel modo in cui vengono installati/visti.Ma il backend Flash/ActionScript lo è davvero Cattivo rispetto a ciò che Visual Studio può offrire con .NET

Chiediti perché vorresti utilizzare Silverlight?Effetti fantasiosi o modello di programmazione?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top