Creare applicazione compatibile con desktop e con Windows Phone 7

lunedì 02 maggio 2011 - 18.10

enzom83 Profilo | Newbie

Ciao a tutti!
Dovrei realizzare un'applicazione distribuita che sia compatibile sia con i sistemi operativi Windows che girano su desktop (fondamentalmente Windows 7) sia con Windows Phone 7. Ho letto un articolo che spiegava che con Silverlight è possibile ottenere la versione desktop e la versione mobile senza dover riscrivere in toto tutta l'applicazione, ovviamente utilizzando l'ultima versione di WPF.

E' possibile?
Conviene prima sviluppare la logica applicativa implementando la comunicazione e dopo aver ultimato questa, procedere con la creazione delle interfacce grafiche utilizzando Expression Blend?

Grazie anticipatamente!

Ciao

kataklisma Profilo | Senior Member

>Ciao a tutti!

Ciao :)

>Dovrei realizzare un'applicazione distribuita che sia compatibile
>sia con i sistemi operativi Windows che girano su desktop (fondamentalmente
>Windows 7) sia con Windows Phone 7. Ho letto un articolo che
>spiegava che con Silverlight è possibile ottenere la versione
>desktop e la versione mobile senza dover riscrivere in toto tutta
>l'applicazione, ovviamente utilizzando l'ultima versione di WPF.
>
>E' possibile?
>Conviene prima sviluppare la logica applicativa implementando
>la comunicazione e dopo aver ultimato questa, procedere con la
>creazione delle interfacce grafiche utilizzando Expression Blend?

Certo, è possibile, ma per effettuare un lavoro del genere c'è bisogno di un'ottima ingegnerizzazione del progetto.

Silverlight centra relativamente, in casi reali sei costretto a riscrivere quantomeno la UI del progetto per adattarla al Mobile, al Web o alle comunissime GUI Desktop.

Se riesci a dividere nettamente i vari Layer dal Presentation Layer e magari implementi il pattern MVVM si, c'è la puoi fare :)

>Grazie anticipatamente!
>
>Ciao

Di nulla :) ciao! Se hai altre domande siamo qui ;)

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

enzom83 Profilo | Newbie

Beh, sì, riscrivere quasi tutta l'interfaccia grafica non è un problema: dopotutto un'applicazione per i dispositivi mobili generalmente ha una UI diversa dalla corrispondente per Desktop, dovuta principalmente alle dimensioni ridotte del dispositivo... L'importante è avere la garanzia che la business logic possa rimanere la stessa: per farlo, se non ho capito male, devo utilizzare il pattern MVVM.. Esatto?

Fondamentalmente la mia applicazione deve avere un'architettura a plugin: inizialmente ho pensato di implementarla da zero, poi ho trovato diversi articoli che parlano di MEF (tra cui http://msdn.microsoft.com/en-us/library/dd460648.aspx) e di come facilita la creazione di applicazioni estendibili, però vorrei capire meglio se MEF fa al caso mio oppure se è eccessivo per l'obiettivo... Prima di tutto mi sono chiesto se MEF funziona anche con Windows Phone 7 e mi sembra di aver capito di sì, poi ho cercato di definire meglio i requisiti della mia applicazione proprio per quanto riguarda la gestione dei plugin, pensavo infatti alla possibilità di caricare i plugin dinamicamente senza dover ricompilare tutta l'applicazione:
- un plugin potrebbe essere una DLL da mettere in una specifica directory;
- all'avvio, l'applicazione principale cerca i plugin nella directory specifica e li carica;
- mentre l'applicazione è avviata, deve essere possibile caricare nuovi plugin;
- ogni plugin deve poter essere configurato separatamente.

Per esempio, si potrebbe pensare di avere un plugin che è in grado di convertire un'immagine da un formato ad un altro, un altro plugin che risolve le equazioni differenziali, ecc.. L'obiettivo mio quindi è quello di creare uno strato di comunicazione che permette all'applicazione di comunicare con altre istanze dell'applicazione stessa in esecuzione in altri nodi: ogni plugin deve agire al di sopra dello strato di comunicazione...

In quale direzione dovrei procedere?
La UI pensavo di realizzarla come ultimo step...
Adesso sono indeciso se implementare prima l'architettura a plugin e dopo la comunicazione o viceversa...
Cosa mi consigliate?

Grazie per il supporto!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5