posts - 506, comments - 1705, trackbacks - 139

Siamo sinceri su WPF

Mi rifaccio al post dell'amico Gabriele in merito al modello di programmazione di WPF.

Credo il discorso parta da una chiaccherata con Andrea Boschin in WPC. Le mie elucubrazioni su WPF partono in un post di Agosto al termine di un progetto reale, successive chiaccherate con Corrado ed infine i miei recenti post con Miguel De Icaza e Rob Relyea il quale ha ammesso la farraginosità di WPF pur sostenendo che l'intenzione è di limare tutto per le prossime versioni.

Quanto voglio sottolineare è che WPF mi piace ma non si può negare la sua poca immediatezza e la farraginosità del modello.

L'ultimo esempio è di oggi, quando ho cercato di ottenere la stringa equivalente ad un carattere dentro il KeyDown. La stringa cambia a seconda del caps lock, shift, gli altri modifiers o magari del numlock e così via. Convertire quindi la Key nella vera stringa che verrebbe mandata ad una TextBox è tutt'altro che banale e purtroppo WPF non espone nulla che permetta una semplice conversione.
La soluzione di questo problema l'ho trovata a fatica facendo l'hook dei tasti con TextCompositionManager.AddPreviewTextInputHandler.

Esempi di questo tipo ce ne sono a bizzeffe in WPF ma questo non significa che non sia certamente il migliore modello di UI che oggi abbiamo a disposizione. Le cose ci sono ma trovarle costa caro.

La morale è che il programmatore VB6 (e non lo dico in senso spregiativo) farà tanta fatica perché non risolverà a botte di intellisense e non potrà esimersi dallo studiare a fondo il modello prima di scrivere una sola riga di codice. E ribadisco che anche con la versione finale di Cider dubito che si potrà scrivere WPF senza conoscere XAML.
WPF, piaccia o meno, non è immediato e questa è la realtà da affrontare a colpi di articoli, libri e tanto esercizio.

Print | posted on martedì 21 novembre 2006 11.05 |

Feedback

Gravatar

# Re: Siamo sinceri su WPF

quindi mi stai dicendo che terra-terra per lungo tempo saranno in pochi (in percentuale) quelli che si cimenteranno a livello professionale nello sviluppo delle GUI in WPF?
saluti
21/11/2006 11.27 | Roberto Messora
Gravatar

# re: Siamo sinceri su WPF

Non posso che essere assolutamente d'accordo con quanto detto da Raffaele... Poi a me viene anche da pensare: quanti sviluppatori sfrutteranno veramente le possibilità di creazione di interfacce 3D o con effetti "speciali" che sono offerte da WPF? Non credo che un programmatore che sviluppa gestionali penserà mai di realizzare finestre con sfondi sfumati o barre degli strumenti i cui pulsanti si ingrandiscono quando l'utente ci passa sopra...
21/11/2006 11.36 | Marco Minerva
Gravatar

# re: Siamo sinceri su WPF

Roberto, più o meno si, almeno all'inizio. Quando i designer saranno consolidati si potrà capire quanti scogli rimangono per lo sviluppatore newbie.
Se guardi i video dimostrativi di Expression Interactive Designer, vedrai che è tutto imparare. Si fanno cose belle ma costano e oggi gli sviluppatori sono più pigri di una volta.
Almeno questa è la mia opinione.
21/11/2006 12.38 | Raffaele Rialdi
Gravatar

# re: Siamo sinceri su WPF

Marco, però non fare l'errore di guardare a WPF come una UI superflua.
Ho sempre detto e ribadisco che a mio parere quello che vende di tutto il fx 3.0 è proprio WPF perché la UI è l'unica cosa (stabilità a parte) che viene valutata dall'utente.
Chi farà il primo gestionale con effetti sgargianti venderà di più a parità di funzionalità e stabilità. Dell'architettura, dei layer, delle collection tipizzate e di tutto il resto all'utente non gliene può importare di meno. Quello che vende è l'ergonomia e la bellezza della UI.
Per questo probabilmente ci sarà una selezione naturale dei developer (che è già in corso) perché la learning curve è bella tosta e più passa il tempo e più difficile sarà recuperare.
Chi ha iniziato con il fx 1.0 e 1.1 ha buon gioco. Ma chi oggi è ancora con VB6 e vuole iniziare da WPF (o peggio ancora pensa di fare bene ad aspettare Orcas) è nei guai seri e rischierà di finire fuori mercato in gran velocità.
21/11/2006 12.43 | Raffaele Rialdi
Gravatar

# re: Siamo sinceri su WPF

concordo con quello che dici Raffaele ma forse secondo me avresti dovuto tenere presente un altro aspetto (che magari conosci benissimo ma non hai riportato nel post). Non discuto sui pro e i contro di WPF perché non lo conosco bene ma quello che vorrei evidenziare è la questione usabilità e design. Ok per tutti gli effetti grafici che WPF propone, ma questi effetti "staranno bene" su una UI se dietro c'è gente che li sa usare. E saperli usare non si intende via codice o raffazzonare una UI con tanti bei bottoni colorati. Significa aver studiato le teorie del colore, un pò di usabilità, design e accessibilità. Insomma, nozioni che notoriamente i programmatori "puri e crudi" non padroneggiano (io per primo). Quindi concordo sul fatto che magari non si adotterà facilmente (vuoi per la barriera tecnica, vuoi per la barriera visiva). Sta a chi lavora in questi team come esperto di UI dosare e capire quanto di questi effetti grafici è da tenere e quanto da cestinare.

Nel giorno in cui è stato lanciato XGL (il desktop 3D in Linux) la gente è andata in visibilio per tutte le "stupidate" grafiche che si possono fare a costo 0 (perché le fa la scheda) ma passata l'euforia degli esperimenti e dei millemila tool la selezione naturale (e il buon gusto) farà si che rimangano solo i tool effettivamente necessari e gli effetti effettivamente utili.

Questo succederà anche nel mondo WPF secondo me. Nasceranno tonnellate di applicazioni visivamente orribili finché qualcuno (magari direttamente da MS, magari no) metterà ordine nel caos e farà notare che bisogna _studiare_ anche per fare UI decenti.

My 2 cents.

Ciao!
21/11/2006 20.47 | Lawrence Oluyede
Gravatar

# re: Siamo sinceri su WPF

Lawrence, hai perfettamente ragione. Al Longhorn Day due o tre anni fa uno speaker mostrò una demo abbinando colori osceni e la gente restò sostanzialmente delusa.

Questo però è qualcosa di parzialmente curabile con un designer. È vero che il designer non può stabilire cosa sia bello o brutto ma può sicuramente cercare di evitare le situazioni più orrente. Per esempio facendo scegliere all'utente una serie di palette con i colori che starebbero bene insieme, o con forme predefinite di controlli che si abbinino decentemente tra loro.
Insomma credo che su questo aspetto il designer possa portare almeno il pareggio con il gusto (poco) estetico che molti programmatori hanno oggi con le Winform. Se guardiamo certe applicazioni di oggi ci viene il voltastomaco e credo che con designer più evoluti si riusciranno ad evitare le brutture anche con WPF che lascia un grado di libertà molto più ampio (e quindi a brutture molto più disastrose).

Mi preoccupa di più invece l'aspetto prettamente tecnologico perché l'architettura di WPF è questa e semplificarla a posteriori non sarà affatto semplice anche se mi auguro che ci riescano.
21/11/2006 21.42 | Raffaele Rialdi
Gravatar

# re: Siamo sinceri su WPF

Certo, un editor che ti viene incontro è una buona cosa. Ma un programmatore con un po' di senso del colore sarebbe anche utile. (e non è affatto facile, dato che un amico web designer mi ha mostrato l'esistenza di tomi e tomi su ste cose).

Sul lato tecnico non mi pronuncio, staremo a vedere. O meglio, a me basterà leggere i blog di ugi nei prossimi anni :P
21/11/2006 21.50 | Lawrence Oluyede
Gravatar

# re: Siamo sinceri su WPF

Per esperienza vedo che noi dev non abbiamo molto senso artistico nel progettare le UI e forse è anche normale che sia così. Comunque che il designer svolgerà un ruolo fondamentale anche nelle applicazioni desktop oltre che web mi pare scontato.

Si, si ... di WPF se ne parlerà ancora molto e non solo per Windows ;-)
21/11/2006 23.19 | Raffaele Rialdi
Gravatar

# Ancora su WPF

22/11/2006 10.35 | Cristian Bressan

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 2 and 7 and type the answer here:

Powered by: