2011-03-04 7 views
6

Durante la lettura di article about Mono on Wikipedia, ho scoperto che esiste un sotto/progetto secondario Mono chiamato Olive che mira a portare i restanti bit di .NET a Mono, attualmente concentrati su Workflow Foundation e WPF, sebbene per ovvi motivi lo chiamino solo "Fondazione di presentazione".In che modo Olive (Mono) implementa (W) PF?

Questo mi ha fatto pensare: WPF è strettamente legato a DirectX, che a sua volta è strettamente legato a Windows. Come pensano di farlo funzionare su una più ampia varietà di sistemi operativi? Non usano affatto l'accelerazione GPU? O lo basano su OpenGL? O qualcos'altro?

Inoltre, se c'è qualcuno che ha un po 'più di una visione del progetto (le informazioni sul web sono molto scarse in questo argomento) chi potrebbe rispondere: qual è lo stato attuale del progetto? Posso davvero sperare che Mono abbia un supporto ragionevole di WPF nel futuro a medio termine?

+5

La risposta di Miguel [su Twitter] (https://twitter.com/migueldeicaza/status/43831625049587712) non sembra molto ottimistica ... – BoltClock

risposta

3

Considerare il caso Moonlight.

Il team mono utilizza già OpenGL per ottenere ciò che Silverlight fa (accelerazione GPU e così via). Quindi è tecnicamente possibile implementare completamente PF per altri sistemi operativi usando OpenGL.

Il problema più ovvio è che il supporto di così tanti sistemi operativi richiede troppo sforzo che il team Mono stesso non può offrire.

+0

Beh, un fattore qui è che Silverlight stesso utilizza OpenGL (su Mac) quindi è progettato in modo tale che OpenGL vs. DirectX sia già stato risolto dall'implementazione di Microsoft. –

+3

Puoi leggere l'ultimo post di Miguel, che menziona di nuovo il supporto WPF, http://tirania.org/blog/archive/2011/Mar-07.html –

2

Non vorrei trattenere il respiro per WPF da Mono. Ho visto stime di 50 anni di sviluppo da parte degli sviluppatori e non vale la pena tanto per Novell. Stanno prendendo di mira mobile e giochi per quanto posso dire. Sembra improbabile che qualcun altro aumenterà questo tipo di sforzo.

Una possibile alternativa è Moonlight che è Silverlight su Linux. Si è parlato molto dell'uso di Moonlight per creare app desktop. Il modello di programmazione è simile a WPF.