Quanto è ampia la differenza tra la creazione di un'app WPF e un'app Silverlight 5?

6

Ho una discreta esperienza con WPF (C #) e XAML. Presto potrei chiedere di creare un'applicazione Silverlight 5. Non ho esperienza con nessuna versione di SL. Che tipo di curva di apprendimento potrei aspettarmi dalla creazione di un'app SL 5, visto che ho qualche esperienza con WPF?

    
posta Hosea146 16.02.2012 - 14:39
fonte

4 risposte

5

Le differenze sembrano essere minime finché non si svela i livelli per rivelare come funziona davvero Silverlight.

Una persona ha menzionato l'impossibilità di eseguire una chiamata al servizio web sincrono. Altre limitazioni importanti sono che Silverlight gira su un proprio ambiente di runtime dedicato e non può utilizzare le librerie di base .NET. Dipende interamente dalle librerie framework di Silverlight limitate, che per correttezza sono per lo più complete, tuttavia si verificheranno situazioni in cui si vorrà accedere a qualcosa in particolare nella libreria di base .NET che non è disponibile per Silverlight Runtime.

L'altro problema a cui mi sono imbattuto personalmente è il tentativo di riutilizzare le stesse classi di modelli di dati dal mio progetto di servizio web al mio progetto Silverlight. Non è possibile condividere direttamente il progetto o l'assieme binario, poiché viene compilato ed eseguito solo sul framework .NET di base. È possibile duplicare il codice del modello di dati in entrambi i progetti (che presenta i relativi vantaggi di progettazione) oppure creare un progetto Silverlight che fa riferimento a risorse dal progetto del modello di dati effettivo. In questo modo hai due progetti, uno che verrà compilato per l'esecuzione sul framework principale e l'altro per Silverlight. Ancora una volta, non un grosso problema, solo un'altra realizzazione del wtf che ho avuto la prima volta che mi sono imbattuto in.

Ci sono anche limitazioni sulle dimensioni del file XAP che i framework di terze parti sono in grado di gestire in modo abbastanza efficace, ma è qualcosa a cui prestare attenzione.

    
risposta data 16.02.2012 - 15:26
fonte
4

Le tue abilità verranno trasferite direttamente. Non preoccuparti.

Comunque.

Le app desktop non sono app browser.

Le app desktop hanno cose come barre dei menu e barre degli strumenti e barre di stato e tutte le altre app per desktop pesanti che le app del browser non tendono.

La cosa importante non è semplicemente trasferire un'app desktop in un'app browser (che è come sembra che ti verrà chiesto di fare), ma ripensarla in termini di app per browser.

    
risposta data 16.02.2012 - 15:19
fonte
2

Un confronto dettagliato può essere trovato sul seguente documento. Presumo che il documento fosse precedente a Silverlight 5, tuttavia, il documento è molto completo. Guida alla differenza tra Silverlight e WPF . MSDN ha rilasciato un confronto che specifica alcune funzionalità di WPF non in Silverligth e viceversa su questo collegamento: MSDN-WPF-Silverlight . Spero che questo aiuti.

    
risposta data 16.02.2012 - 16:27
fonte
1

Silverlight è un sottoinsieme di WPF, quindi è abbastanza simile ...

Una cosa importante da tenere a mente è che le chiamate Silverlight al server devono essere eseguite in modo asincrono perché, diversamente dalle chiamate WPF, non è possibile bloccare le chiamate finché non viene restituita una risposta

    
risposta data 16.02.2012 - 14:49
fonte

Leggi altre domande sui tag