Confessions of a Dangerous Mind

Brain.FlushBuffer()
posts - 173, comments - 300, trackbacks - 196

WPF Prism: cos’è?

Con questo post vorrei provare a spiegare cos’è Prism, detto anche Composite Application Library . Prism nasce da un progetto rilasciato nel 2005, la Composite Application Block. Si trattava di una serie di librerie per la creazione di applicazioni client modulari che impiegava come tecnologia base Windows Forms. Non ho impegato molto CAB, e l’ho trovato piuttosto complesso, sia da utilizzare, sia per sviluppare, forse perchè la tecnologia Windows Forms si prestava poco a realizzare ciò che CAB professava, ovvero Separation of Concerns, Modularity, UI Composition.

Dalle “lesson learned” di questo progetto, e dall’osservazione che per sviluppare in modo efficace dei rich-client con WPF fosse necessario un framework robusto, è stato creato Prism. Ciò che ne è uscito è veramente molto interessante.

Si tratta ancora di librerie, fornite dal gruppo Patterns & Practices di Microsoft, assieme a tutto il codice sorgente che lo compone: no “black box”, quindi! Grazie all’impiego del “Prism Framework” è possibile affrontare lo sviluppo di applicazioni piuttosto complesse orientandosi ad un approccio compositivo e modulare, piuttosto che ad un approccio monolitico. Questa attitudine ha diversi pregi, fra i quali la possibilità di suddividere il lavoro in modo molto semplice attraverso vari team di sviluppo, parallelizzando lo sviluppo e riducendo quindi i tempi di rilascio. In un ambiente come quello di WPF, questo stile di sviluppo è praticamente obbligatorio, in quanto la parte grafica DEVE essere nettamente separata dalla parte di programmazione, in quanto spesso i designers non sono programmatori, e viceversa.

L’approccio composito, inoltre, permette il testing isolato delle singole features (Moduli) e consente una chiara separazione dei vari ruoli delle componenti orizzontali dell’applicazione (Logging, Autenticazione). Viene promosso il riutilizzo di codice attraverso i vari moduli e lo sviluppo “ragionato” delle applicazioni. Infine, permette di realizzare interfacce che aggreghino dati provenienti da sistemi legacy, web services, web sites ed altre applicazioni in un unica “user experience.”

Ultime buone notizie: Prism permette di creare sia applicazioni Desktop basate su WPF, sia RIA basate su Silverlight. Questa è una delle cose più interessanti e sicuramente fa intuire come l’investimento nella conoscenza di questa piattaforma pagherà in termini di capacità di sviluppo di applicazioni di nuova generazione da qui a molti anni.

Scaricate Prism qui.

Print | posted on giovedì 16 luglio 2009 15.12 |

Feedback

Gravatar

# re: WPF Prism: cos’è?

So di essere puntiglioso ma una precisazione: Prism permette anche di creare applicazione basate su WPF e Silverlight (assieme) cioè da delle linee guida di portabilità per fare in modo che le applicazioni girino su entrambe le piattaforme senza sostanziali differenze.

Per il resto ottimo post!
16/07/2009 15.30 | Andrea Boschin
Gravatar

# re: WPF Prism: cos’è?

Assolutamente corretto... è una delle cose che mi ha spinto ad approfondire questa bella tecnologia... sai che sono un amante della produttività, ed avere un ambiente che permette il multi-targeting, beh, se non è produttività questa!
16/07/2009 20.01 | info@codesapiens.net

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 5 and 8 and type the answer here:

Powered by: