Ecco i punti principali della sessione che sto seguendo in un auditorium molto frequentato:

- Tutto ciò che si può fare in XAML è possibile anche per mezzo di un object model in C#
- Esisteranno edegli UserControls simili in tutto a quelli di ASP.NET e WinForms
- Silverlight.js sarà ancora presente a supporto delle applicazioni sviluppate con la 1.0
- Il modello di programmazione sarà anchesso analogo a quello che tutti conosciamo.
- l'accesso alla pagina host avviene per mezzo di un objectmodel esposto a partire da HTMLPage via C#
- l'uso di C# per la manipolazione dell'HTML renderà inutile Javascript

Jesse Liberty, sembra molto più rilassato ed efficace nell'esposizione. L'impressione che se ne trae è che esso stesso sia più interessato nella tecnologia.


Ormai da un po' di giorni sto assistento ad uno stillicidio che non condivido e che ritengo equivoco e dannoso. Perciò e venuto il momento che dica la mia a proposito di alcuni post che ho letto e alcune opinioni che ho sentito esprimere sulla versione 1.0 di Silverlight. Secondo taluni Silverlight 1.0 sarebbe un "giocattolo" destinato a morire prima ancora di essere concepito che servirebbe solo da specchietto per le allodole in attesa di una matura versione 1.1 che verrà. Certo non si può dire che Silverlight 1.0 sia una piattaforma definitiva (ma onestamente, ne è mai esistita una?) e di ciò credo ne dobbiamo essere tutti pienamente coscienti, ma degradare questo bel pezzo di software a mero "media player" significa non aver nemmeno avuto la voglia di provare a farci qualcosa.

Pare che il peccato originale di Silverlight sia di richiedere l'uso dell'odiato Javascript che forse qualcuno considera un linguaggio poco onorevole ma che - come credo di aver dimostrato - è un dignitosissimo strumento con delle peculiarità che altri linguaggi possono solo sognare. Senza considerare che è ancora l'unico valido strumento in grado di regalarci una cosa come AJAX (e nessuno credo si sia mai lamentato di questo).

E poi chi conosce Flash sa che ActionScript altro non è che un pessimo Javascript condannato ad essere spalmato all'interno di centinaia di frame contro ogni regola di buona programmazione. E allora che male c'è ad avere un Silverlight che usa Javascript (quello vero) e che permette di lavorare anche in modo Object Oriented considerando anche che chi viene da Flash di certo non ha voglia e il tempo di imparare C#?

E poi XAML che sarebbe solo un pallido sottoinsieme di quello di WPF. Sì, certo con la 1.0 non si fa il 3D (), ma non mi risulta che lo si faccia nemmeno nella 1.1 se non con una qualche  (ma a che prezzo?). Certo, con la 1.0 non ci sono layout evoluti, ma basta un minimo sforzo e due righe di Javascript e si ottiene più o meno tutto ciò che si può ragionevolmente desiderare. Ma è XAML. Forse a qualcuno sfugge, ma la vera novità non è che si possa fare qualunque cosa, ma piuttosto che all'interno di 1,3 MB si riesca a caricare uno XAML che è un sottoinsieme compatibile con quello di WPF - e incidentalmente compatibile persino con le regole di SEO - e che finalmente, lasciatemelo dire, da vera dignità e una struttura a tutta quella porcheria che si trova negli swf e che è sostanzialmente incomprensibile anche a chi l'ha realizzata.

Io non considero Silverlight 1.0 perfetto. Probabilmente nemmeno lontanamente ci si avvicina. Ma è innegabile che sia un passo avanti notevole, che tutto ciò che faremo oggi con questa versione non verrà buttato all'uscita della prossima, che finalmente possiamo dire che esista almeno un embrione di alternativa ad un mondo - quello di flash & co - che personalmente ho sempre cercato di evitare per la lentezza e la improduttività che si porta dietro. Per ora ci dovremmo accontentare di trovare le giuste applicazioni, che non sono solamente i media player o i bannerini, ma tutta una galassia di applicazioni RIA in grado di organizzare in modo diverso e innovativo i dati acquisiti per mezzo di AJAX e WebServices (Sì, si può fare anche con la 1.0...) e di mostrare dei pannelli di controllo usabili, leggibili e compatibili con qualunque browser senza doverci arrovellare con CSS e HTML.

Dategli un'occasione e non ve ne pentirete. E soprattutto ricordatevi che il tempo che impiegherete oggi per imparare ad usare Silverlight non è tempo buttato ma tornerà utile anche in futuro.

Technorati tags: , ,

Ho pubblicato sul mio weblog in inglese il primo post tecnico che illustra una piccola libreria che ho sviluppato per Silverlight. Si tratta di un piccolo file javascript, per Silverlight 1.0 che consente di coordinare diverse StoryBoard. Ho realizzato la libreria mentre sviluppavo il mio . Ho trovato infatti molto ostico lavorare con più animazioni che richiedano di essre sincronizzate.

Lascio alla lettura del post inglese per i dettagli, e qui mi limito a segnalare che la libreria è costruita intorno ad una classe Elite.Animatable che funge da base per tutte le animazioni singole o multiple che siano. Ogni classe inoltre accetta in input una serie di Elite.Animatable. In questo modo è possibile combinare animazioni Parallele, Sequenziali e Condizionali per ottenere il comportamento richiesto, in modo analogo a quanto avviene per le animazioni dell'AJAX Control Toolkit.

Buona lettura: Silverlight Animation Library


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: , ,

sl_button Tim Sneath ha postato nel suo blog un elenco di 50 applicazioni che hanno in qualche modo a che fare con Silverlight 1.0/1.1. Nell'elenco molto esaustivo si possono trovare esempi, applicazioni, tool di sviluppo, e molto altro. Si tratta di un elenco interessante per chi voglia rendersi conto di cosa si può fare con questa piattaforma.

Non ultimo, lasciatemi ringraziare , che ha incluso nell'elenco anche il mio ...

Link:


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


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)