Non ho mai considerato seriamente Cider (il designer delle applicazioni WPF integrato in Visual Studio 2008), troppe limitazioni, troppi "Whoops" (e io non sono manco un fan di Britney Spears...smile_regular) tantè che l'ho sempre rimpiazziato con il buon editor xml di Visual Studio.
Con la beta 2 mi sono deciso a dargli un occhiata più "seria" e, con mio profondo rammarico, mi sono reso conto che ci sono ancora moltissime limitazioni e, considerato che siamo in Beta2, a meno di ecclatanti colpi di scena, immagino che questo sarà lo stato dell'arte per la release 1 di questo nuovo designer.



Pro

  • No more "whoops" (e non è poco, so long Britney...)
  • L'intellisense dell'editor XAML è decisamente migliorato (nota dolente di Expression Blend...)
  • Totalmente integrato in Visual Studio 2008 (Blend è, come noto, un tool esterno...)

Contro:

  • Editor limitatissimo, ad esempio non è possibile inserire elementi nested all'interno di altri (es: uno stackpanel in un Button...)
  • Mancanza di utility di uso quotidiano tipo Make same Size, Align, Fill to content (come in Blend...)
  • Finestra delle proprietà limitatissima
    • Impostare un colore richiede la conoscenza del color name oppure del codice hex (scordatevi di creare un gradient)
    • Non filtrabile e non ordinabile alfabeticamente (e voi sapete quante proprietà ha un controllo WPF...)
    • Non supporta le proprietà "complesse" (ruotare un elemento è impossibile dalla property grid)
    • Supporta il default event di un controllo con il classico doppio click ma non esiste la tab eventi!
      Gli eventi devono essere impostati via XAML (vedi figura)

      image

      In pratica l'editor XAML permette di creare un handler "on the fly" peccato che:
      • Bisogna usare l'editor XAML...
      • E' necessario scorrere tutti gli eventi da XAML...
      • Non è possibile specificare il nome dell'handle (e il tool di refactoring non agisce lato XAML), in compenso eventuali handlers compatibili vengono elencati tra i gestori disponibili.
    • L'editor XAML non chiude i tags! (Trovo questa scelta scomodissima, sopratutto con gli attributi...)
    • L'intellisense elenca anche i vari "clr-namespace=...", peccato che non veda eventuali assemblies referenziate...
    • Eventuali custom controls/UserControls non vengono automaticamente elencati nella toolbox (siamo tornati ai tempi di VS 2002/2003...)
    • Il designer automaticamente valorizza la proprietà Name del controllo, questo provoca l'inutile crezione di un field nel relativo file .g anche nel caso quel controllo non venga utilizzato dal codice C#/VB.
      A differenza di Blend, in questo caso gli elementi sono immediatamente accessibili da codice senza dover ricompilare il progetto.
  • Supporto alle Risorse= nessuno
  • Supporto agli Stili=nessuno
  • Supporto a Templates/Data Templates/Custom Templates=nessuno
  • Supporto alle Animazioni=Nessuno
  • Supporto alla parte 3D=Nessuno

Sarà che nel frattempo sto usando Blend (il quale a sua volta ha alcune limitazioni rispetto a WPF) sarà che il PM di Cider descrive il prodotto con "We focused our efforts on early adopter/enthusiast developer..."  ma con questi presupposti presumo che il developer deva averne parecchio di entusiamo per realizzare un applicazione WPF usando esclusivamente Visual Studio 2008.
Personalmente mi tengo ben stretto Expression Blend che già nella versione di Agosto offre novità interessanti.smile_teeth