counter free hit invisible
Welcome to MSDN Blogs Sign in | Join | Help
Le mie sessioni ai Community Days 2008

Anche quest’anno in Microsoft Italia si svolgeranno i Community Days, l’appuntamento con alcune delle più note community italiane , per approfondire i temi più nuovi e di maggior interesse nell’ambito dello sviluppo .NET.

L’evento, completamente gratuito, si svolgerà il giorno 9 e 10 luglio. Il 9 mattina sarò presente anch’io con due sessione di cui trovate qualche anticipazione nel seguito:

Silverlight 2

clip_image002

Questa sessione è assolutamente “no-slide” e partirò da un’applicazione che svilupperò durante l’intera sessione e che mi darà la possibilità di parlare di Silverlight 2.

Windows Live

clip_image004

Ho già avuto modo di vedere che Windows Live è poco conosciuto al mondo dai developer e quindi è un vero piacere poterne parlare! Nella percezione comune il termine viene associato solo a una serire di servizi per utenti finali, come ad esempio il Messenger, l’aspetto interessante è che in questi anni Microsoft ha lavorato al fine di “aprire la piattaforma” e quindi sono disponibili una serie di API (web) e controlli multipiattaforma per l’accesso a tali servizi.

Nella sessione presenterò anche un controllo, non ancora scaricabile pubblicamente, che farà presto parte dei Windows Live Tools per Visual Studio 2008…. Un’anteprima da non perdere!

Le due sessioni sono quindi rivolte ad un pubblico di sviluppatori.

Conclusione

Le due giornate saranno molto ricche e se non l’avete già fatto vi conviene dare uno sguardo all’agenda, troverete sicuramente molte sessioni che vi interesseranno.

Quindi che dire …. non mancate!

Ciao e a presto

Silverlight 2 – (alcune) risorse

Percorso formativo in italiano

Aggiornamento del percorso formativo su Silverlight 2, ecco i link diretti, ai webcast in italiano:

Il primo webcast è visibile in streaming qui

 

Post utili 

Ho trovato molto utili questi post fatti dopo il rilascio della beta 2:

Introduzione

User Interface

Networking

Visual State Manager

Styling e Skinning(o Templating)

Varie

Documentazione

Spero che vi risulti interessante il materiale che vi ho segnalato e se trovate qualche altro link, lasciate pure un commento a questo post.

-Pietro

Silverlight 2 beta2 : “Configuration Specific Folder”

Sapete a cosa serve questo checkbox ?

image

Lo trovate nel wizard di creazione di un nuovo progetto creato con la beta 2 di Silverlight.

Leggete la risposta qui.

Silverlight 2 beta 2 - Event Bubbling

Con la beta 2 di Silverlight 2 ci sono dei cambiamenti nel modo in cui viene gestito il bubbling degli eventi in Silverlight. Con questo termine ci si riferisce alla funzionalità per cui alcuni eventi, quelli definiti in UIElement, che vengono scatenati su un elemento presente nel layout dell’applicazione vengo “portati” su e possono essere gestiti anche dagli handler(se presenti) di quegli elementi che li contengono. Mi spiego con un esempio: se inserisco un rettangolo in una griglia e premo il pulsante sinistro sul rettangolo questo evento può essere gestito (se presente) da un handler definito sul rettangolo e da un handler nel contenitore del rettangolo stesso (quindi la griglia nel nostro esempio). Questi eventi che possono essere gestiti da questo meccanismo di “Event Bubling” vengono definiti come Routed Events.

Se non vogliamo che l’evento venga gestito da altri handler più esterni, basta impostare la proprietà e.Handled = true come prima proprietà all’interno del handler dell’evento (“ e” è il parametro di tipo EventArgs specializzato che arriva nel metodo).

Per chi conosce WPF: non esiste con la beta 2 di SL 2 la possibilità di registrarsi ad un evento di tipo “handledEventsToo”. Il comportamento della beta 2 è diverso rispetto a quello che succedeva con la beta 1.

Mi potrei aspettare che la stessa cosa succeda anche se inserissi un bottone e volessi gestire l’evento MouseLeftButtonDown. Con la beta 1 questo era vero, ma non con la beta 2 in cui questo evento è intrinsecamente già gestito e quindi “non scatta” e non può essere gestito. Se volete dunque gestire l’evento di click nel caso di un bottone dovete utilizzare l’evento Click, che è anche la cosa più intuitiva da fare. Potete anche leggere questo post per un esempio più dettagliato.

Link utili:

Se volete qualche dettaglio in più sulla gestionde degli eventi in Silverlight potete leggere a questo link oppure consultare la documentazione MSDN su Events Overview in Silverlight 2.

Silverlight 2 beta 2 – Controlli e Visual State Manager

In questo post cercherò di raccontarvi le novità della beta 2 relative ai controlli e al Visual State Manger (VSM).

Controlli

Molti dei controlli che nella beta 1 erano inclusi nell’ SDK, ora sono stati inseriti nel run-time, che è diventato di conseguenza leggermente più grosso circa 4,6MB, rispetto ai 4 precedenti, ma questo consente di creare delle applicazioni più piccole, perché molto è già incluso nel run-time. I controlli si trovano ora in System.Windows.dll, chi ha usato la beta1 noterà delle diversità nei reference alle dll incluse di default nel progetto. Alcuni controlli: DataGrid, Calendar , GridSplitter e TabPanel (novità della beta 2) sono ancora a parte, li trovate in Windows.Controls.Extended.dll. Trascinando i controlli dalla toolbox di Visual Studio, vengono aggiunti i reference corretti al progetto e definiti i namespace nello XAML, come si vede dalla figura seguente per “my1” e “my”, che vegono aggiunti quando faccio drag& Drop dei controlli.

clip_image002

I tooltip non possono più essere impostati direttamente, ma devono essere impostati tramite il ToolTipService

image

Miglioramenti ai controlli esitenti e futuri

Calendar, DataGrid, TextBox hanno subito miglioramenti che trovate descritti nel post di scottGu. Il WaterMarkTextBox non è più presente per rendere il framework della UI di Silverlight sempre più vicino a quello di WPF. Nella versione definitiva di Silverlight 2 saranno presenti molti altri controlli.

Visual State Manager (VSM)

Una delle novità più importanti della beta 2 è quello che viene definito il Visual State Manager, grazie al quale è più semplice ridefinire il template di un controllo, cioè il suo layout. Il VSM può essere utilizzato sia con i controlli custom che gli User Control. In generale possiamo pensare ad un bottone; modificare il template vuol dire cambiarne completamente l’aspetto, ma fare in modo che si presenti a tutti gli effetti come un bottone, cioè risponda ad un evento di click da parte dell’utente. Possiamo pensare all’operazione di personalizzazione del template di un controllo come se stessimo lavorando su una macchina a stati finiti. Il nostro controllo, ad esempio un bottone, ha diversi stati associati, ad esempio lo stato “Pressed”, “Normal” etc. che possono essere modificati. Rispetto a questo modello possiamo pensare di avere delle transizioni da uno stato al successivo. Ora lo stato del controllo definisce il layout del controllo in un particolare momento, ad esempio quando premo il bottone, il layout del suo stato pressed e rosso e quando è nello stato Normal è invece verde. Un’ transizione è un’animazione che porta il nostro controllo dallo stato Pressed allo stato Normal. Nella documentazione trovate documentati i diversi stati che ogni controllo può avere.

La modifica del template di un controllo è supportata da Expression Blend 2.5 June Preview che supporta appieno questo modello.

Da Visual Studio 2008, dopo aver installato i Tools per sviluppare per Silverlight 2 beta 2, posso accedere alla classe VisualStateManager, questa classe contiene gli stati del template del nostro controllo e si occupa di gestire la transizione da uno all’altro in base a quello che avviene sul controllo stesso.

Da codice .NET posso ad esempio invocare il metodo GoToState sulla classe VisualStateManager per passare ad nuovo stato

Facciamo un semplice esempio e creiamo un progetto Silverlight 2 con Blend 2.5 ed inseriamo due bottoni che rappresentano il bottone di Login e Logout che potremmo avere nella nostra applicazione. Posso selezionare uno dei bottoni, ad esempio quello di login, tasto destro, selezionare Edit Control Parts (Template) e quindi nel menù successivo Edit a Copy, come in figura:

clip_image004

Questa operazione crea nelle risorse dell’applicazione la copia del template del nostro bottone. Possiamo renderci conto quindi degli stati e delle transizioni nella nuova finestra States, come in figura:

clip_image006

Nella finestra ho evidenziato gli stati Normal e Pressed ed inoltre un asterisco ci dice che provenendo da qualsiasi stato se vado nello stato Mouse Over, viene attivata un’animazione della durata di circa 0,2s. Posso aggiungere anche delle transizioni che portano verso un qualsiasi stato.

Se volete vedere come è fatto lo XAML generato, noterete qualcosa del genere:

clip_image008

In cui dovreste riuscire a distinguere gli stati (VisualState) e le transizioni (VisualTransition).

Ora apriamo lo stesso progetto con Visual Studio 2008 e aggiungiamo un handler per la gestione dell’evento di click del secondo bottone quello di Logout. Questo semplice esempio ci permette di capire come utilizzare da codice la classe VisualStateManager per cambiare lo stato di un controllo, in questo caso “pilotando”  da un secondo controllo.

clip_image010

In questo caso al metodo GoToState viene passato il controllo al quale applicheremo un cambio di stato, cioè il bottone login, lo stato di destinazione “Disabled” e true come parametro per dire di utilizzare una transizione tra i due stati.

L’utilizzo del Visual State Manger consente di creare più facilmente template per i controlli, inoltre Expression Blend 2.5 ora supporta questo modello, consentendo di lavorare con un tool in modo visuale, risparmiandoci di scrivere il codice per definire il layout, che personalmente non trovo entusiasmante da scrivere. Il progetto ottenuto è apribile da Visual Studio 2008 dove posso usare da .NET le opportune classi per interagire con questo modello.

Altri link utili per approfondimenti

Qui,qui e qui

Silverlight 2 beta 2 dopo il weekend

La beta 2 è stata rilasciata tra la notte di venerdì e sabato, direi quindi che i colleghi di corp hanno rispettato quando annunciato al TechEd la scorsa settimana. Se non avete ancora letto la notizia direi che potete leggere il post ufficiale di scottgu qui. Sabato mattina sono giusto riuscito a far partire il post sul blog MSDN italy con il video (5 minuti) che avevo registrato qualche giorno fa, prima di essere fagocitato dal weekend :-). Ora che siamo giunti a lunedì ho un po’ di tempo per raccontare a chi legge per la prima volta le novità di questo rilascio.

La beta2 è la naturale evoluzione della beta 1 di Silverlight 2, con in più la licenza go-live, che vi permette di iniziare ad usare SL 2 per fini commerciali.

Cosa serve per iniziare a sviluppare con la beta 2 di Silverlight 2?

Il modo più rapido è andare sul sito silverlight.net/GetStarted dove trovate tutto: se non avete una versione di Visual Studio 2008 potete scaricare una trial, dalla Standard in su. La beta 2 di Silverlight 2 è compatibile con la beta 1 di .NET Framework 3.5, a differenza della beta1 di SL. Ora scaricate il file Silverlight-chainer dal sito Microsoft che , verificherà la corretta installazione delle fix per Visual Studio 2008 RTM, installerà il run-time di Silverlight, l’SDK che contiene documentazione ed esempi ed i Tools per Visual Studio 2008: il tutto in un colpo solo!

Ora procedete con l’installazione di Expression Blend 2.5 June CTP: questo è un tool per designer, ma anche per developer, nel senso che vi dà la possibilità di non scrivere il codice un “po’ noioso” che di solito ai dev non piace scrivere: personalmente non mi piace e trovo quasi impossibile come definire il gradiente di colore di un bottone! Una delle novità più importanti di Expression Blend è il supporto per il Visual State Manager (VSM), un pattern per realizzare lo “skinning” dei controlli, di cui vi parlerò in un prossimo post.

Installate ora Deep Zoom Composer: è il tool che serve per lavorare con l’omonima tecnologia, che consente di far navigare un utente su web in immagini ad altissima risoluzione, andando sempre più in profondità per scoprire particolari difficilmente visibili dall’immagine nella visione originale: pensate quanto può essere bello avere delle immagini di dipinti di un museo e poter “navigare” nell’immagine a livelli di zoom diversi.

Silverlight 2 beta 2 e compatibilità

La beta 2 è compatibile con Silverlight 1.0 (RTW) , la versione di Silverlight già rilasciata, mentre ci sono alcune modifiche da apportare per chi ha usato la beta 1, le modifiche alle API sono documentate qui: breaking changes between beta 1 and beta 2. Per chi ha progetti con la beta 1 penso troverà utile anche questo post.

Come rendersi conto che la beta 2 è installata ?

Beh, andate sul sito www.microsoft.com/silverlight che vi dirà che avete installato l’ultima versione di SL

clip_image002

Facendo tasto destro sull’applicazione SL notiamo quache nuovo tab, come vedete in figura:

clip_image004

Il DRM è una delle novità della beta 2 , tramite il supporto a Windows DRM e PlayReady DRM.

Inoltre è presente un tab per la gestione dell’ “Application Storage”. SL 2 dà la possibilità di avere uno spazio isolato, detto Isolated Storage, cioè uno spazio virtuale su file system, legato al profilo dell’utente e alle applicazioni web. Le applicazioni web condividono tale spazio a livello di dominio web ( ad esempio più applicazioni web nello stesso dominio microsoft.com, condividono la stessa quota). La quota iniziale è di circa 1MB (nella beta 2), ma è possibile, utilizzando un’opportuna API, aumentare lo spazio a disposizione. Le applicazioni SL 2 non hanno accesso diretto all’ I/O su disco dell’utente, per ovvie ragioni di sicurezza, ma possono avere accesso a questo spazio “protetto”. Nel tab potete abilitare sul client l’Application Storage e gestirlo, cancellando l’eventuale sapzio già allocato.

clip_image006

Documentazione on-line/off-line e Quick Start

E’ già raggiungibile a questo url la documentazione su MSDN.

Potete anche scaricare il CHM, consultabile offline.

Qui potete raggiungere il quick start sulla beta 2.

 

Ai prossimi post per approfondimenti …

IIS 7 URL Rewriter Tech Preview 1

Una domanda tipica che mi viene fatta quando parlo di IIS 7 è se esista qualche meccanismo di rewrite degli url già fatto.  Un meccanismo/engine di rewrite degli url può avere diverse funzionalità, come quella di mascherare l’url “vero”, che gestisce la nostra richiesta, di rendere più facile da ricordare un url, piuttosto che facilmente indicizzabile da un motore di ricerca.

Bene, da poco è disponibile una Techical Preview per IIS 7 di un modulo di URL Rewrite.

Queste le funzionalità:

  • Motore basato su regole: a fronte di una richiesta http è possibile definire una regola per il match dell’url e definire quindi un’azione (Rule Action) da intraprendere.
  • Supporto alla sintassi delle regular expression e wildcard per il riconoscimento dell’url (pattern matching)
  • Le regole possono essere definite a livello globale ( nel file applicationHost.Config) o a livello locale (usando il file web.config)
  • Accesso agli header http e alle server variable, che possono essere usate per le scelte da intraprendere
  • Rule Actions: un’azione può far intraprendere diverse strade: abort di una request, invio di un codice custom al client etc.
  • Rewrite Maps: possibilità di definire coppie nome-valore tra url ricevuto come richiesta http e url che effettivamente viene eseguito.
  • UI integrata nella nuova console di IIS 7.
  • Tool per importare regole di rewrite definite con mod_rewrite di Apache.

Per provarlo:

Installate il file msi da uno dei link riportati sotto ( per piattaforma x86 e x64):

image

Ora aprite la console di IIS 7 (io sto usando Vista SP1, ma potete usare anche Windows Server 2008) e troverete una nuova opzione

image

Premendo add Rule nella scherma successiva potete ora creare una nuova regola , con le modalità elencate sopra

image 

A questo link trovate un tutorial che vi guiderà passo-passo nella realizzazione di una semplice regola, ma dove comunque vengono messe in luce le funzionalità di questo modulo.

Potete anche vedere come realizzare una permalink per WordPress su una macchina configurata con FastCGI e WordPress.

 

Link utili:

Annuncio BillS IIS blog

Tutorial: Using Url Rewrite Module

Url Rewrite Module Configuration

Download x86 CTP per IIS 7.0: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691

Download x64 CTP per IIS 7.0: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692

Intervista su ictv

Andrea Marzilli ha intervistato alcune persone alla fine del PhpDay2008, ecco la mia:

http://www.ictv.it/file/vedi/693/brambati-iis7-fastcgi-e-php/

Sono un po' noioso lo so, scusate  :-)

PhpDay 2008

phpday2008_smallAnche quest'anno (sono arrivato alla mia seconda edizione!) ho partecipato al PhpDay, svoltosi a Rimini lo scorso venerdì e sabato.

Mi ha fatto piacere rivedere alcune facce note, che potete vedere nella foto scattata, l'unica nella mia macchina

 

Le slide della sessione le trovate sotto, in sintesi gli argomenti trattati:

  • FastCGI (ormai rilasciato) e i servizi di IIS 7 usabili anche per PHP, come OutputCache, Forms Authentication e per il troubleshooting il Failed Request Tracing
  • SQL Server Driver per PHP: l'implementazione di una estensione nativa per PHP, che espone un' API procedurale per SQL Server. Attualmente è in CTP.
  • Expression Web 2: Nella nuova versione oltre lo "stracomodo" supporto per i CSS e HTML è stato introdotto anche il riconoscimento della sintassi per PHP, è possibile includere un'applicazione Silverlight in modo rapido in una pagina PHP e un comodo Developer Server per il testing anche senza avere sulla macchina un server web.

Un video da weekend
image
Serializzazione delle Entità dell' Entity Framework con WCF in NET 3.5 SP1

Un titolo un po' complicato, certo, vediamo di chiarire meglio il contenuto di questo post. Lo scopo è di illustrare con un po' di codice una delle novità della SP1 di .NET 3.5, in particolare il supporto di WCF per la serializzazione delle entità generate dall' Entity Framework, anche quest'ultimo, come forse avete letto, lo trovate ora, insieme al designer installando la SP1. Potete leggere le novità della SP1 qui.

Costruiamo il servizio WCF

Dopo aver installato l'SP1 su una macchina di test, creiamo dunque un progetto di tipo WCF Service Application, come mostrato in figura:

image 

Aggiungiamo ora un nuovo item di tipo ADO.NET Entity Data Model. Due parole sull' Entity Data Model (EDM), per chi non ne ha mai sentito parlare, per gli altri saltate pure il paragrafo. L' EDM  rapprenta il cuore dell ' Entity Framework (EF), consentendovi di "rappresentare" il dominio applicativo della vostra applicazione. L'insieme delle classi che ne scaturiscono non sono necessariamente legate a come è fatto il vostro database in termini di tabelle etc.L' EDM è implementato attraverso un file CSDL, come descritto nella documentazione. Nella sua intimità il designer di VS, che useremo nell'esempio, crea tre file XML: il CSDL descrive appunto le entità con cui la nostra applicazione vuole parlare, ad esempio un cliente ed un ordine, un secondo file SSDL descrive invece come è la struttura relazionale del nostro database, che può non necessariamente mapparsi in modo diretto sulle entità, ad esempio posso avere più tabelle che rappresentano sul db come è fatto un customer. Un terzo e ultimo file MDL descrive invece il mapping tra le entità e le tabelle sul database. Il designer che Visual Studio 2008 ci mette a disposizione crea un file .edmx, che al suo interno è fatto appunto dai tre file XML. Ok, scusate la brevità, ma potete leggere un'introduzione a EF e EDM a questo link.

Nella figura seguente aggiungiamo quindi un nuovo item  e seguendo il wizard proposto utilizzate come database il classico Northwind e per gli scopi di questo post inserite solo le tabelle Customers e Orders.

image 

Il risultato mostrato nel designer dell'EF sarà qualcosa del genere, in cui vedete espressa, una relazione 1-a-molti tra le entità, ad ogni entità corrisponde una classe che poi useremo nell'applicazione. Infatti il designer creerà delle classi, oggetti .NET, che useremo per scrivere il codice e una classe NorthwindEntities che serve a EF e che sarà il nostro entry-point per poter lavorare con EF.

image 

Ora vogliamo esporre un servizio WCF con un semplice metodo che restituisca l'elenco dei client e dei relativi ordini, per fare questo per prima cosa modifichiamo il file IService1 creato in automatico quando abbiamo aggiunto il progetto WCF, come in figura:

image

Nella figura vedete che ho aggiunto il namespace NorthwindModel, che mi è stato creato quando ho usato il designer dell' EF, quindi ho definito nell'interfaccia un unico metodo che restituisce l'elenco di customers, il numero massimo è controllato dal parametro del metodo. Il metodo ha intenzione di restituire l'elenco di clienti e relativi ordini all'applicazione client che invocherà il servizio. Implementiamo ora il servizio  nel file service1.svc.cs usando una query LINQ to Entities. LINQ to Entities è una delle modalità di interrogazione che offre EF, potete anche usare Entity SQL in diversi scenari... questi argomenti sono fuori dallo scopo di questo post.

image

Nell'esempio vedete una semplice query LINQ to Entities, che espone i Customers (al massimo il numero indicato). Nella query notate la clausola Include. Questa viene usata perchè l'EF ha un meccanismo esplicito per il caricamento delle entità, possiamo vedere la query generata su database ad esempio usando il Profiler di SQL Server. Se volete saperne di più sulle strategie di caricamento dell' EF e modalità di interrogazione, leggete questo interessante articolo.

Costruiamo l'applicazione di Test

Bene, ora aggiungiamo una semplice console application e aggiungiamo un riferimento al servizio WCF presente nella solution, come mostrato in figura, in cui stiamo, per l'appunto, aggiungendo una Service Referece all'applicazione  console.

image

 

Ora scriviamo il codice necessario per mostrare l'elenco dei clienti, diciamo i primi due e i relativi ordini

Codice scritto senza la SP1

Quello che succede è che l'applicazione client non vede la classe Orders, poichè questa non è stata serializzata, perdiamo quindi la possibilità di navigare da un generico Customer a tutti i suoi Orders, se non esponendo gli ordini direttamente dal metodo WCF.

Codice scritto con la SP1

Le novità introdotte a WCF nella SP1 supportano la serializzazione del grafo delle entità generate dall'Entity Framework, quindi possiamo scrivere il seguente codice, che ci permette di fare sul client quello che volevamo senza complicare il metodo del servizio WCF.

Ecco il codice, in cui vedete che abbiamo accesso, dato un cliente, anche alla lista degli ordini.

image

Il risultato è quello atteso:

image

Potete scaricare l'esempio di codice a questo link.

Mix Essentials: disponibili le sessioni
image

Sono disponibili per il download le sessioni del The Next Web Now, Mix Essentials. Potete scaricaricare la mia sessione sullo sviluppo con Windows Live ai due link sotto:

Windows Live - parte I

Windows Live - parte II

Se siete interessati ad approfondire l'argomento vi annuncio in anteprima che stiamo lavornado, insieme a Davide Vernole, Microsoft MVP, ad un tutorial su Windows Live, che sarà a breve disponibile, un po' di pazienza ...

Sono disponibili anche tutte le altre sessioni sullo sviluppo con Silverlight 2 , Silverlight per mobile e la keynote tecnica:

Ecco i link diretti:

  • Gabriele: Introducing The Next Web: news from MIX08
  • Giuseppe: Costruire Rich Internet Applications con Microsoft Silverlight 2 (Parte 1, Parte 2, Parte 3)
  • Giorgio: Creare applicazioni vettoriali per dispositivi mobili con Silverlight for Mobile
  • Happy Coding

    PHP Editor : Microsoft Expression Web 2

    Tra le novità di Microsoft Expression Web 2, da poco rilasciato, c'è il supporto per PHP. Potete leggere un articolo completo sulle novità a questo link. Nell'articolo trovate utili informazioni su come configurare il run-time PHP per lo sviluppo con Expression Web 2.

    In sintesi qualche snap-shot sulle funzionalità:

    PHP Snippet

    image

    Design View

    Consente di vedere la preview della pagina che contiene codice HTML/CSS e PHP, compresa la preview delle pagine inserite via php include: nella figura la pagina menu.php inserita nella pagina principale usando lo script include, viene visualizzata nelle finestra di preview sottostante.

    image

    Autocompletamento

    image

    Developer Server

    Per testare un'applicazione PHP direttamente usando Expression Web, usando comunque il run-time PHP. Nell'immagine la preview della pagina viene lanciata premendo F12 da Expression Web 2 e gira in un processo apposito lanciato dall' IDE su una porta generata dinamicamente.

    image

    Editor CSS/HTML integrato

    Chi usa PHP per lo sviluppo di applicazioni web troverà sicuramente vantaggio nel supporto avanzato per i CSS e la loro preview direttamente nell' IDE.

    image

    Conclusione

    Se volete provare con mano le novità, potete scaricare una versione trial di Expression Web 2.

    La mia prima volta ... in TV
    IMAGE_103

    Oggi in effetti ho avuto una giornata un po' particolare, sicuramente diversa dal solito. Sono infatti stato intervistato in televisione per la trasmissione MyTech di Class Life, che va in onda su Sky e sul digitale terrestre.

    Ammetto è stata un'esperienza nuova e sicuramente emozionante, al contempo divertente, e sebbene sia abituato a parle in pubblico anche difronte a molte persone, abbia fatto un po' di interviste su internet  registrare qui in Microsoft, una trasmissione televisiva è sicuramente un'esperienza diversa.

    La prima cosa di cui sono rimasto colpito è l' "angolo" nel quale Davide Fumagalli mi ha intervistato, si trovava in fatti all'interno di una redazione giornalistica e quindi abbiamo registrato mentre altri lavoravano ... spero di non aver dato troppo fastidio. Problemi: sicuramente parlare di fronte ad una videocamera non è facilissimo, ma ammetto la sgradevole sensazione che si prova quando registro un webcast è sicuramente peggio. Il format mi è piaciuto molto: un mix di domande, risposte e servizi mandati in onda e da commentare; sicuramente diverso dalle mie solite presentazioni in cui alterno slide  e demo.

    Grazie all'aiuto di Luciano che mi ha accompagnato, sono riuscito a scattare questa frugale foto, subito dopo la registrazione.

    Ora mi rimane un unico dubbio: ma sarò venuto bene in tv? Ma devo aspettare di vedermi...

    Se volete seguire la trasmissione vi farò sapere quando andrà in onda ... e se volete farmi sapere cosa ne pensate sono qui. Forse sarà anche scaricabile ... ok aggiornerò il blog, nel caso

    Ciao

    -Pietro

    .NET Framework 3.5 SP1 Client Profile (beta)

    Cioe?

    Con la beta 1 della SP1 di .NET 3.5 arriva una nuova importante modalità di installazione del .NET Framework. Un sottoinsieme delle librerie di .NET 3.5 SP1 saranno pacchettizzate per offrire le funzionalità necessarie alle sole applicazioni client. Inoltre un nuovo bootstrapper  più leggero (circa 200KB) migliorerà le performance in fase di installazione.

    Perchè una versione Client di .NET  ?

    Con la maturità e complettezza delle funzionalità di .NET 3.5 la dimensione del framework è diventata ormai importante. Per chi sviluppa applicazioni client si apre quindi una nuova possibilità: usare una versione ridotta di .NET FX 3.5 pensata appunto per le sole applicazioni client.

    La versione client di .NET è composta da un sottoinsieme, che occupa circa 26 MB, degli assembly del full-net framework: le librerie sono le stesse, non serve quindi ricompilare un'applicazione pacchettizzata per .NET client profile per farla girare sulla versione full. Le componenti di massima incluse sono:

    • CLR
    • WinForms
    • ClickOnce
    • WPF e WCF

    Scenari di installazione del .NET Framework

    Il nuovo bootstrapper è in grado di gestire scenari di upgrade, ad esempio se ho una macchina con installato già .NET 3.0, verranno scaricati solo i file di update per la versione 3.5 SP1 del framework e le relative fix per la versione 2.0 e 3.0 del framework.

    Supporto in Visual Studio 2008

    VS 2008 già supporta la possibilità di scegliere il framework di riferimento per creare un' applicazione, con la nota funzionalità detta di multi-targeting con cui posso decidere se sviluppare per .NET 2.0, .NET 3.0 o .NET 3.5. Ora una proprietà di progetto, esposta tramite un check-box abiliterà il supporto per l'uso del Client Framework, come si vede in figura:

    clip_image002

    In caso useremo API o metteremo reference a dll non presenti nella versione client del Framework riceveremo un warning a compile-time. Le applicazioni così realizzate verrano inoltre marcate nel manifest con un opportuno flag che permetterà al run-time in esecuzione di sapere se l'applicazione è in grado di girare correttamente. Se si cerca di far girare un'applicazione che richiede il full-framework, il client profile avvertirà quindi l'utente di scaricare la versione completa.

    Conclusione

    La nuova SP1 di .NET 3.5 (rilasciata oggi in beta 1) e Visual Studio 2008 contiene molte altre novità, potete partire da questo post per farvi un'idea.

    Visual Studio 2008 SP1 Beta Documentation

    More Posts Next page »
    Page view tracker