Ho appena appreso dal blog di Scott Guthrie che è stata rilasciata la versione 1.0 di Silverlight. Pare che non vi siano modifiche sostanziali dalla Release Candidate e infatti il mio continua a funzionare a dovere. Stasera vedo di spazzolare le release-notes per capire se è proprio vero.

La nota interessante è che pare che Microsoft abbia deciso di supportare Moonlight, il porting per linux in corso di realizzazione da parte del team di mono.

Link:

Technorati Tags: ,

Dopo alcune settimane di duro lavoro finalmente sono riuscito a completare la nuova versione del mio . Si tratta di una lavoro realizzato completamente in ed ora che siamo arrivati alla Release Candidate mi sembrava il momento giusto per renderlo pubblico. Il lavoro mi è servito per fare un po' di pratica con Silverlight, nella versione 1.0, dato che non c'è nulla di meglio che una applicazione reale per comprendere meglio i problemi di una tecnologia. Una osservazione mi sento di fare: pur essendo del tutto vero che si sente la mancanza di uno strumento di sviluppo valido (e speriamo che Blend 2 e Visual Studio 2008, che però sono già in beta, risolvano definitivamente il problema), bisogna dire che la flessibilità, la coerenza e la semplicità di Silverlight nei confrondi di Flash è davvero impareggiabile.

Il blog oltre a Silverlight fa uso di un servizio ASMX consumato per mezzo delle libreria Javascript e adotta qualche stratagemma per fare in modo che il posizionamento sui motori di ricerca sia più agevole. Ora non mi resta che completare le descrizioni, con un po' di calma e poi posso mettermi al lavoro per creare un minimo di backend.

Attendo i vostri consigli!

Link: http://imagic.boschin.it

Technorati tags: , ,

Segnalo la comparsa di un nuovo sito di tutorial su Silverlight e WPF. Si tratta di Nibbles Tutorials. Il sito è anche un bell'esempio di cosa si può ottenere con Siverlight dato che è sviluppato completamente con esso (Attenzione però che un sito realizzato in questo modo non sarà mai indicizzato dai motori di ricerca). Nel sito segnalato da ci sono già dei contenuti su Silverlight mentre sono ancora in preparazione quelli su WPF.

Link: http://www.nibblestutorials.net/

Technorati tags: , ,
tags: - categories: XAML

E' un po' di tempo che non pubblico molto su WPF, a causa di un lavoro che sto portando avanti che per ora mi assorbe fino all'ultimo minuto. Per oggi pubblico una serie di link che ho trovato nel web... 

 

: Robert Relyea spiega per quale motivo XAML è case-sensitive

: Un utile elenco delle braking changes tra la versione del Mix e la prossima release.

: E' stato pubblicato in versione stand-alone WPFPerf, il tool per le performance in WPF. Qualcosa anche .

: un nuovo sito sulle tecnologie WPF con anche una bella di applicazioni.

: Un'immagine PNG che riassume le feature di Silverlight.

 


Stasera ho pubblicato la versione beta del mio editor per Silverlight. Con l'occasione ho anche provveduto a cambiargli il nome da SilverlightPad a Silverlight Playground 1.0. Si tratta - come avevo già anticipato in un mio precedente post - di un editor che consente la lavorazione di scene Silverlight mediante l'integrazione di un webserver embedded all'interno dell'applicazione stessa.

Grazie a ciò è possibile vedere la preview funzionante del codice appena scritto, direttamente nella form di editing, avvantaggiandosi anche della colorazione della sintassi per il codice da scrivere.

Ho pensato di introdurre un paradigma simile al codebehind di ASP.NET. Infatti ad ogni scena sarà sempre disponibile anche un file JS nel quale gestire gli eventi generati dall'interazione con l'interfaccia utente. Inoltre è possibile scrivere del codice in file separati e vederlo incluso al momento del runtime.

Trovate il progetto su codeplex: http://www.codeplex.com/silverlight


Stasera ho pubblicato la versione beta del mio editor per Silverlight. Con l'occasione ho anche provveduto a cambiargli il nome da SilverlightPad a Silverlight Playground 1.0. Si tratta - come avevo già anticipato in un mio precedente post - di un editor che consente la lavorazione di scene Silverlight mediante l'integrazione di un webserver embedded all'interno dell'applicazione stessa.

Grazie a ciò è possibile vedere la preview funzionante del codice appena scritto, direttamente nella form di editing, avvantaggiandosi anche della colorazione della sintassi per il codice da scrivere.

Ho pensato di introdurre un paradigma simile al codebehind di ASP.NET. Infatti ad ogni scena sarà sempre disponibile anche un file JS nel quale gestire gli eventi generati dall'interazione con l'interfaccia utente. Inoltre è possibile scrivere del codice in file separati e vederlo incluso al momento del runtime.

Trovate il progetto su codeplex: http://www.codeplex.com/silverlight


A quanto pare ci sono dei problemi ad includere il nuovo file silverlight.js, introdotto dalla beta 1 all'interno di progetti che contengano uno ScriptManager di ASP.NET AJAX. I problemi devo dire sono intermittenti nel senso che esiste almeno una combinazione di questi elementi che funziona, ma in realtà ancora non sono riuscito a capire esattamente quale. Il problema deriva da una doppia dichiarazione del namespace SYS per cui se includete silverlight.js, ASP.NET AJAX non sarà più in grado di trovare il proprio.

Stamattina ho trovato un sul forum di Silverlight. In buona sostanza pare che il problema si risolva dichiarando il file js all'interno dello ScriptManager stesso:

   1: <asp:ScriptManager ID="sm" runat="server">
   2:     <Scripts>
   3:          <asp:ScriptReference Path="silverlight.js" />
   4:     </Scripts> 
   5: </asp:ScriptManager>

In tutta sincerità la soluzione è piuttosto semplice, ma confesso di non averci pensato. Stasera provo a vedere se è davvero così semplice.

Technorati tags: , , ,

Ho aggiornato il controllo per Silverlight in occasione della pubblicazione della Beta 1. Il codice generato è molto diverso dal precedente, in accordo con le notevoli modifiche che ha subito il plugin. Ora la generazione del tag per inserire il plugin nelle pagine avviene mediante l'uso di silverlight.js, un file di utility predisposto proprio per questo compito e rilasciato all'interno dei QuickStarts.

Download: Elite.Silverlight.Commodities Versione 1.1.2688 (27 KB)


Dopo aver combattuto varie battaglie con Silverlight, soprattutto a cavallo della release della beta 1.0, mi sono deciso a scrivere un piccolo tool di sviluppo che semplifichi il lavoro "creativo". Ho preso spunto da uno dei molti XAML-editor che esistono, tra cui XamlPad, XamlCruncher, e molti altri per creare qualcosa di simile anche per la piattaforma web.

Ecco quindi che ho deciso di investire un po' di tempo per dare alla luce SilverlightPad, un piccolo tool visibile nell'immagine riportata qui a fianco, che consente di editare un file XAML e il relativo "codebehind" Javascript all'interno della medesima applicazione per poi vedere il risultato nella finestra soprastante. Pur nella sua grande semplicità, SilverlightPad si avvale dello splendido editor della Syncfusion, che gli garantisce la Syntax Hightlight, e una serie di facility per la stesura del codice (no, l'intellisense non c'è...).

L'applicazione è supportata da un web server interno che si occupa di ricevere le chiamate da una istanza di web browser, fornendo in uscita il contenuto degli editor e i  file necessari all'hosting dell'applicazione. Usando il codice Javascript è possibile ovviamente scrivere la logica che regola il funzionamento dell'applicazione e quindi SilverlightPad può essere usato non solo per ideare la grafica - come fanno i tool che ho nominato poco fa - ma anche e tutto il codice necessario al funzionamento e nella finestra di preview si potrà immediatamente provare il risultato.

Mancano naturalmente molte feature, ma si tratta di una preview funzionante che ho deciso di rilasciare per avere un feedback e decidere che miglioramenti apportare. Tra le cose che vorrei fare ci sono la possibilità di salvare i file in un progetto funzionante, l'editing di più file contemporaneamente e la gestione dell'host che attualmente ha dimensioni e caratteristiche fisse.

L'applicazione è realizzata con l'intento di girare su una chiavetta USB perciò non richiede installazione.

UPDATE: mi sono accorto che esiste un esempio di Microsoft che ha lo stesso nome. Prossimamente dovrò quindi cambiare il nome al progetto.

Download: Elite.SilverlightPad.zip (2,5 MB)

tags: - categories: XAML

Ho rilasciato stamattina un nuovo aggiornamento del mio controllo ASP.NET per Silverlight. Ho scovato un bel bug che impediva alle animazioni di funzionare a dovere con Firefox. Da qui tra l'altro si evince anche un comportamento diverso tra Firefox e Internet Explorer. Attribuendo un valore errato a MaxFrameRate il primo assumerà il valore di default "1" mentre il secondo darà comunque un valore accettabile. Come conseguenza in FireFox le animazioni perderanno ogni gradualità passando dall'inizio zero al termine con un solo passaggio. Ho anche aggiunto una proprietà ShowErrors che impostata a true mostrerà il messaggio di errore dell'host sotto forma di alert Javascript quando ci siano problemi nello xaml caricato.

La libreria ora è stata corredata di licenza (CCPL) e di numero di versione così da non creare problemi in caso di futuri miglioramenti.

Download: Elite.Silverlight.Commodities Versione 1.1.2677 (27 KB)

Technorati tags: , ,
tags: - categories: XAML

Chi si fosse chiesto se in Silverlight è possibile usare dei font diversi da quelli di sistema, potrebbe aver scoperto che la risposta a questa domanda è affermativa (e ci mancherebbe!!!). La cosa non è esattamente immediata, e soprattutto occorre considerare che Silverlight non supporta il font-embedding alla stregua di flash. Diversamente, almeno finchè nel team di sviluppo non si siano convinti del contrario, è necessario usare l'elemento <glyphs> per poter inserire spezzoni di testo che facciano uso di font diversi.

<Glyphs Width="650" Height="10" FontUri="./files/FFFHARMO.TTF" Fill="#AAA" FontRenderingEmSize="8" UnicodeString="my pixel font" />

Diventa così possibile usare i "pixel fonts" che da tempo sono apprezzatissimi in flash per la loro leggerezza e per la precisione del dettaglio. Il pixel fonts, per chi non li conoscesse sono dei particolati caratteri studiati appositamente per l'uso all'interno di flash. Richiedono il rispetto di due regole, seguendo le quali si otterranno con certezza eccellenti risultati:

1) posizionamento a coordinate intere, occhio quindi che in caso di posizionamento dinamico, conviene sempre arrotondare con Math.Round(posizione, 0).

2) uso di una dimensione fissa, solitamente quella nominale stabilita dall'autore del font stesso

Una buona sorgente per questo tipo di fonts è (Fonts for Flash). Vi troverete alcuni font molto piacevoli e di qualità veramente elevata, alcun di essi scaricabili anche gratuitamente.

Technorati tags: , ,
tags: - categories: XAML

Ho scoperto le prime differenze di comportamento tra Firefox e Internet Explorer del plugin che fa da host a Silverlight. In realtà la differenza non è propria di Silverlight, ma piuttosto è un comportamento anomalo del tag <embed> che in Firefox viene usato per inserire i componenti ActiveX e quindi anche l'host in questione.

Mentre se con Internet Explore mettete Width e Height al 100% ottenete immediatamente il risultato voluto, con firefox non è così. La dimensione verticale infatti è gestita male da Firefox che si limiterà ad occupare una piccola porzione della pagina. Per ottenere un comportamento analogo al buone IE (io uso la 7.0) bisognerà usare il seguente css:

/* hide from ie5 mac \*/ html { height: 100%; overflow: hidden; } form { height: 100%; } .wpf { height: 100%; } /* end hide */ body { height: 100%; margin: 0; padding: 0; background-color: #666; }

la classe "wpf" andrà applicata ad un <DIV> apposto intorno al tag <EMBED>. Se usate il controllo che ho e che ho presentato in un precedente basterà usare la proprietà CssClass.

Technorati tags: , , ,
tags: - categories: XAML