Sto anche facendo lo sviluppo multipiattaforma utilizzando mono e come te e molti altri affrontano il problema di cosa fare rispetto all'interfaccia utente e altra integrazione hardware sottostante.
Ho deciso che non volevo essere in balia di un altro quadro di terze parti (mono è sufficiente) e ho cercato una soluzione che potessi costruire e mantenere. Il nuovo pattern MVVM insieme a Expression Blend è davvero interessante, ma presto ti ritrovi bloccato quando si tratta di sviluppo multipiattaforma. Anche i pattern MVC an MVP non sembrano adatti a ciò di cui avevo bisogno. Finalmente stabilito sul modello PM e lo ha espanso in un PMH in cui l'H è per l'hardware. Per ottenere ciò di cui avevo bisogno, dovevo astrarre i widget fondamentali (pulsanti, pannelli, caselle di testo) in un livello di piattaforma sottostante per ogni tipo di dispositivo. Il mio livello di piattaforma rappresenta circa l'1% della mia base di codice e mi consente di colorare l'applicazione per ogni dispositivo per il quale l'ho targetizzato.
Per la mia soluzione WP7, utilizzo pochissimo HTML solo su 25 righe, il che è sufficiente per inizializzare l'applicazione e la pagina principale. Il resto dell'interfaccia utente viene creato a livello di programmazione proprio come farei in WinForms. Su WP7 utilizzo ancora il controllo Pivot perché è davvero fantastico e sto modellando un controllo simile per l'utilizzo su Android/iPhone. Anche se non sarà uguale al 100%, sarà molto simile e continuerà a utilizzare lo stesso motore di navigazione all'interno del mio core code.
Non sono ancora completo del mio sviluppo, ma finora sono molto contento dei miei progressi. Ho sviluppato un'interfaccia utente per l'applicazione Windows per circa 20 anni e non uso mai gli strumenti di interfaccia Builder in quanto trovo che non mi danno mai ciò che voglio e davvero sprecano il mio tempo (Blend è piuttosto interessante) e creano anche un tremendo numero di codice specialmente in Blend.
fonte
2012-02-15 01:39:04