In questi giorni sto lavorando un po’ con HTML5 per REMIX10. Ho scaricato quest’ estensione per VS 2010 (funziona anche con VS 2008) che supporta (quasi tutta) la sintassi dell’ HTML 5 e che comunque vi evita fastidiose sottolineature.
Potete scaricare l’estensione dalla gallery a questo url.
Dopo l’installazione potrete selezionare HTML 5 dal menù per la validazione del contenuto della pagina.
Potete scaricare altre estensioni dell’autore a questo link.
REMIX10
Il 23 Giugno a Milano si terrà l’evento gratuito annuale dedicato al web, se volete sapere di più su HTML5, Windows Phone 7, Silverlight, etc, non mancate di iscrivervi. Questo il link diretto alla registrazione.
In questo tutorial vedremo come sviluppare una semplice applicazione che accede a Flickr usando Windows Phone 7. L’obiettivo è vedere come sviluppare applicazioni per Windows Phone 7 usando Silverlight, una delle due possibile alternative per lo sviluppo. Per l’occasione ho ripescato una vecchia applicazione che ho usato in qualche presentazione per spiegare come si programma con Silverlight.
Per questo tutorial scaricate l’ultima versione dei tool in CTP per sviluppare con WP7, nel mio caso:
I tool includono una versione Express, gratuita, per sviluppare con WP7, se avete già Visual Studio 2010 installato sulla macchina, verranno aggiunti dei template di progetto. Potete scaricare anche una versione di Expression Blend 4 e i relativi add-in. Per il tutorial non sono necessari, ma per fare modifiche più sofisticate alla grafica lo sono:
Molto semplicemente possiamo lanciare VS 2010, quindi File->New Project
Potete da subito lanciare il progetto e lo vedrete girare nell’emulatore che è stato installato insieme ai tool:
Come prima cosa ho modificato la mainPage.Xaml e la classe phoneNavigation, inserendo il codice che vedete, dove uso il controllo di layout grid. Un controllo di layout definisce il posizionamento dei controlli al suo interno. In questo caso ho due griglie innestate che serviranno successivamente
Possiamo vedere direttamente dal designer di Visual Studio 2010 la preview dell’applicazione
Se fate partire l’emulatore e cliccate sul TextBox, come ci si aspetta comparirà la tastiera per scrivere il testo da ricercare e ora basta spostare il focus cliccando in un’altra parte per farla spomparire senza aggiungere codice ad hoc.
Se ora volessimo modificare alcune proprietà dello stile dei nostri controlli ad esempio impostando un certo font, oppure modificando la larghezza della textBox potremmo agire direttamente sul controllo impostando le singole proprietà e sfruttare l’intellisense offerto da Visual Studio.
il file App.xaml può essere utilizzato per inserire tutti gli stili che vogliamo definire. Ad esempio possiamo inserire il seguente frammento di codice XAML
Voglio definire uno stile BuddyImg che si applica ad un controllo di tipo Image che imposterà le proprietà HorizontalAlignment e Margin ai valori desiderati.
Posso ora tornare nella pagina main.xaml e andare ad impostare lo style nel controllo Image desiderato:
Nell’esempio di codice che potrete scaricare alla fine del post ho fatto la stessa operazione impostando la proprietà style su altri controlli della UI.
Ora vogliamo aggiungere la chiamata alle API di Flickr per fare la ricerca secondo la keywork che l’utente andrà ad inserire nella TextBox, per prima cosa aggiungiamo un handler sull’evento di click del bottone di ricerca. Visual Studio 2010 ci aiuta a generare l’handler nel progetto C#.
Fondamentalmente per accedere poi alle API di Flickr su può fare una chiamata REST passando dei parametri.
Quella che mi interessa mostrare è come faremo la chiamata usando l’oggetto WebClient, che per chi di voi ha usato Silverlight conosce bene. Come notate nel codice seguente ho impostato l’url della chiamata come prima cosa. Tutte le chiamatate fatte da Silverlight avvengono in modo asincrono, ed è necessario definire una chiamata di callback.
Possiamo ora mettere un breakpoint sulla funzione di callback per vededere che se eseguimo la chiamata vediamo il file XML che ci viene ritornato con le informazioni sulla ricerca.
Tramite le informazioni specificate possiamo creare un url che punta fisicamente all’immagine che vogliamo visualizzare. L’url ha la forma seguente:
Per creare questi URL, uno per ogni foto, creiamo una classe C# che andremo poi a “riempire” in qualche modo:
Per andare a fare il parsing del file XML e riempire una lista di oggetti FlickrPhoto useremo LINQ, per usare questa funzionalità ho aggiunto il riferimento alla libreria che mi serviva:
Possiamo ora scrivere il codice seguente, dopo il download del file XML
La variabile photos contiene ora la lista di tutte le foto richieste e richiamando le due proprietà UrlThumb e UrlSmall avete gli url alle foto in due diversi formati, come collegare questi url alla UI?
Ora usiamo una ListBox per visualizzare i titoli delle foto, impostiamo poi la proprietà DisplayMemberPath al valore della proprietà “title” che è quello che vogliamo venga visualizzato nella lista:
Nel codice C# dopo il codice LINQ to XML, basta che popoliamo la proprietà itemSource della ListBox come sotto.
Lanciando ora l’applicazione possiamo vedere la lista dei titoli delle sessioni
Una delle funzionalità più interessanti di Silverlight è il Data Template, grazie a questa funzionalità posso modificare, in modo radicale, come un controllo presenta le informazioni a video. Così gli elementi di una ListBox possono essere fatti da un’immagine il cui url è preso dalla classe precedentemente creata, e una TextBlock che visualizza il titolo della foto, ecco il codice.
Il risultato finale è il seguente:
Per ora vi lascio con il riferimento al training Kit su WP7 e potete divertirvi con l’esempio scaricandolo da qui.
Come abbiamo annunciato sul blog di team MSDN è disponibile per il download la versione italiana di Visual Studio 2010, ormai da qualche settimana. Nel post trovate utili informazioni sui tempi di validatà delle trial di Visual Studio 2010, mentre le versioni Express rimangono ovviamente sempre grauite.
Sì è possibile, ed è possibile passare da una versione all’altra. Ad esempio:
Lanciando Visual Studio 2010 ho la versione inglese.
E’ ora possibile passare dalla versione inglese a quella in italiano semplicemente modificando l’opzione dal menù tools, quindi Options e selezionando la lingua desiderata in International Settings:
E’ necessario riavviare Visual Studio perché la modifica abbia effetto:
Quindi facendo ripartire VS 2010, ora ho la versione in italiano
Per tornare alla versione inglese: Strumenti->Opzioni
Dipende :-), penso che ci siano alcuni aspetti da considerare, che possono essere d’aiuto nella scelta e che quindi condivido con voi:
Comunque sia buon Visual Studio 2010.
SharePoint 2010 Overview Evaluation Guide
http://go.microsoft.com/?linkid=9727161
SharePoint 2010 Walkthrough Guide
http://go.microsoft.com/?linkid=9727427
Microsoft SharePoint Server 2010 Evaluation Guide For IT Professionals
http://go.microsoft.com/?linkid=9727162
Microsoft SharePoint 2010 Professional Developer’s Evaluation Guide
http://go.microsoft.com/?linkid=9727163
SharePoint 2010 Training Kit
http://channel9.msdn.com/learn/courses/SharePoint2010Developer/
Office 2010 Training kit:
http://channel9.msdn.com/learn/courses/Office2010
SharePoint 2010 and Office 2010 evaluation VHD
http://www.microsoft.com/downloads/details.aspx?FamilyID=751fa0d1-356c-4002-9c60-d539896c66ce&displaylang=en
[Ho aggiornato i link ai nuovi video su BEIT in fondo al post]
Per chi se lo fosse perso potete vedere il lancio di Visual Studio 2010 e .NET Framework 4 in High Definition. Nel player sono stati aggiunti dei marcatori che vi permettono di muovervi velocemente da una sezione ad un’ altra.
Sotto trovate i link dei video che sono ( e alcuni saranno presto) disponibili sul portale di BEIT:
[Links Updated]
Mentre mi accingo a preparare una sessione su IE da presentare al PHPDay2010, ho avuto modo di provare la Platform Preview 2 di IE9. Come penso sapete queste release sono pensate per la community degli sviluppatori al fine di avere feedback sulla prossima versione del browser.
Le novità di questa preview riguardano:
Il team di IE si sta concentrando nel miglioare le performance di IE partendo dai siti e framework più diffusi, in modo da apportare modifiche per ottimizzare i casi più frequenti d’uso.
Sotto vedete le performance attuali del WebKit SunSpider, che misura il tempo di esecuzione (sull’ordinata vedete il tempo di escuzione in ms) per il Javascript:
IE9 utilizza un nuovo motore (rispetto a IE8) di esecuzione del Javascript, quest’ultimo in grado di compilare il Javascript prima dell’esecuzione.
Se provate ad eseguire il test ACID3, troverete migliormaneti (da 55 della preview 1 a 68 della preview 2):
Con la nuova preview trovate anche nuovi esempi delle funzionalità più richieste della community, comel’evento DOMContentLoaded che ora viene gestito in modo corretto e consente quindi di intervenire sulla pagina non al completo caricamento della stessa, ma quando le fase di parsing è completa.
Nell’esempio seguente vedete che mentre l’evento DOMContentLoaded si è scatenato e sarebbe quindi possibile cominciare a lavorare con il DOM della pagina, magari in Javascript, la pagina è ancora in attesa del completamento del carimento: in attesa di immagini etc.
Altri esempi che potete provare di IE 9, relativi agli standard sono : CSS3 Media Queries, DOM Range and HTML 5 Selection, getElementsByClassName direttamente dagli esempi disponibili.
Ci sono inoltre altri nuovi test che potete provare che sfruttano accelerazione offerta dall’ hardware del PC e il Javascript compilato. Senza modificare il markup delle applicazioni, quindi, il vostro codice girerà più velocemente in virtù dell’accelerazione hardware.
L’installazione della preview 2 avviene tramite un msi di circa 14MB che si installa side-by-side alla versione di IE8 che avete sulla macchina, e come già detto, è pensata non per la navigazione sul web ma per il testing. Se avete installata la preview precendete questa viene sostituita in modo automatico con la precedente versione.
Download di IE9 PP2
E per chi vuole esagerare come me:-)
Trovo solo ora un po’ di tempo per scrivere un po’ sul mio blog. Ieri infatti abbiamo lanciato Visual Studio 2010 e .NET Framework 4, evento che abbiamo trasmesso in Smoot Streaming HD in tutta Italia e che idealmente è avvenuto in diverse parti del mondo.
Keynote
Io e Lorenzo abbiamo avuto l’onore ed il piacere di affiancare l’amico Vittorio Bertocci durante la keynote. Vittorio ci ha permesso di portare un po’ di Redmond qui in Italia e grazie alla sua proverbiale simpatia spero siamo riusci ad interessarvi e a trasmettere un po’ delle novità di Visual Studio 2010. Dal nostro lato siamo riusciti a far dimenticare a Vittorio per un giorno il mondo dell’ Identity… o forse no?
Molti gli argomenti della giornata di ieri:
Novità dell’ IDE di Visual Studio 2010
Come il supporto al multi-monitor, il nuovo designer di VS, basato su WPF che permette muoversi nel codice in modo più efficate. Se premete Shift-Alt, potete ora selezionare codice in verticale e modificare più keywords in un colpo solo. Inoltre molte delle estensioni per Visual Studio 2010 sono già presenti nella gallery online e potete scaricarle.
Date un occhio agli snippet HTML presenti e al supporto per il Javascript migliorato ed in particolare nello scrivere codice con jQuery.
Inoltre strumenti come l’IntelliTrace ci permettono di avere tutta la storia di una sessione di debugging, permettendoci di avere molte più informazioni che in passato.
Integrazione con SharePoint 2010
Durante la keynote abbiamo cercato di mostrarvi l’integrazione tra SharePoint 2010 e Visual Studio 2010, in cui molti dei passi che prima era necessario fare a mano per il deploy di soluzioni SharePoint ora sono fatti da Visual Studio 2010 e ci permettono di fare il debug di una Web Part come se stessimo lavorando su un qualsiasi progetto ASP.NET.
Windows Phone 7
Avete visto che chi sviluppa per Silverlight e WPF è ora anche uno sviluppatore Windows Phone 7. Modello di programmazione e API sono le stesse ed un emulatore di consente di fare il testing anche senza un vero device.
Web
.NET Framework 4 porta con sè novità per chi sviluppa con ASP.NET 4. Motore di routing ora disponible anche per le WebForms, controllo sul mark-up generato, sull’ID dei controlli client. Inoltre supporto migliorato allo sviluppo client-side, con Jquery ed i Client Template delle Microsoft AJAX Library. I Nuovi Dynamic Data con supporto migliorato a Entity Framework e nuovi template per i campi. ASP.NET 4 inoltre si arricchisce di ASP.NET MVC 2 che ora supporta validazione client-side, oltre server-side, aree e molto altro.
Silverlight 4 che offre novità importanti anche per lo sviluppo di applicazioni Out Of the browser, come ad esempio l’integrazione con gli oggetti COM e quindi Excel etc, API per la stampa, numerosi controlli e l’integarzione con i WCF RIA Services. Durante la settimana verrà inoltre reso noto quando sarà disponilbile la versione definitiva.
Windows Azure
Anche lo sviluppo per Windows Azure ci permette di riutilizzare molte delle nostre conoscenze. Avete visto come esporre su Azure un servizio che richiama uno dei servizi che abbiamo già sviluppato in casa e di renderli fruibili all’esterno delle sole mura aziendali, dandoci inoltre la possibilità di far scalare l’applicazione scegliendo il numero di istanze che la stanno eseguendo.
WCF
Windows Communication Foundation si arricchisce di nuove funzionalità e in particolare vi abbiamo mostrato i WCF Data Service ( prima noti come ADO.NET Data Service) che supportano il protocollo OData, paginazione server-size, ritonano ora il numero di entità e molto altro, semplificanfo ancor di più l’accesso REST.
C++ 2010 e MFC
Novità anche per chi sviluppa, o ha sviluppato applicazioni MFC, un nuovo class wizard per genererare applicazioni che sfruttano al meglio Windows 7, come l’integrazione con i Ribbon. Novità all’ IDE come l’ intellisence il cui motore è stato riscritto per permettere di scalare su progetti di grosse dimensioni. Aggiunte estensioni al linguaggio per il supporto a C++0x.
Parallel Extension
Novità per lo sviluppo parallelo su più core come le Task Paralle Library, PLINQ e le Coordination Data Structure, oltre a novità all’ IDE tramite le finestre in Visual Studio 2010 Parallel Tasks, e Parallel Stacks.
Entity Framework 4
Novità anche alla nuova versione di EF, che supporta ora lo sviluppo che parte dal modello dei dati, entità POCO e la Persistance Ignorance tra le funzionalità molto richieste dalla community degli sviluppatori.
…. mi fermo qui.
Download di Visual Studio 2010
Potete scaricare Visual Studio 2010 da questo link. Se scaricate una versione trial del prodotto, la installate e decidete di acquistarla nel seguito vi basterà inserire la product-key senza dover disinstallare e reinstallare il tutto.
Chi ha un abbonamento MSDN può scaricarla dal sito e potete anche scaricare le versioni Express, gratuite dei prodotti.
Video su BEIT
Sono stati pubblicati i primi video di approfondimento, nei prossimi giorni e settimane ne pubblicheremo altri.
Buon lavoro a tutti e grazie per chi ha partecipato online all’evento spero sia stato utile e di vostro gradimento. Fatemi sapere.
Update
Una versione della registrazione è al momento disponibile a questo link.
Oggi ho avuto la possibilità di partecipare all’evento community di dotNetSide a Bari in occasione del Community Tour per il lancio di Visual Studio 2010.
Dato che non ho avuto modo di fermarmi fino all’ultimo ecco i link per chi vuole iniziare a sviluppare con ASP.NET MVC. Durante la sessione di oggi mi sono accorto che molti erano nuovi all’argomento e quindi spero di fare cosa gradita raccogliendo un po’ di link:
In questa sessione trovate anche qualche esempio legato al testing:
Condivido con voi il materiale usato per la sessione sulle novità di ASP.NET MVC 2, che per chi non ha mai usato ASP.NET MVC troverà utile dopo aver guardato i primi link.
Dopo il lancio pubblicheremo i video su ASP.NET MVC 2 (le novità): sto collaborando con Ugo Lattanzi, Microsoft MVP per definre una serie di video sulle novità.
Stay Tuned!
E’ live da poco il sito della prima community italiana dedicata a Sharepoint: dopo un parto durato un po’ di tempo e giusto sul finire della Office & SharePoint Conference 2010!!
Potete leggere della notizia direttamente dal sito di uno dei suoi fondatori Igor Macori.
Il gruppo degli sharepointers è attualmente composto, oltre che da Igor, anche da:
Se volete contribuire alla nuova community, beh il momento è quello giusto… come recitava un adagio :-)
Il prossimo 25 marzo avrò l’occasione di partecipare all’evento community organizzato da dotNetSide a Bari. L’agenda è già live a questo link e potete iscrivervi a quest’altro link .
L’evento è interamente gratuito e aperto a tutti.
Avrò il piacere di tenere una sessione dedicata alle novità di ASP.NET MVC 2 e sto in questi giorni cominciando a costruire slide e demo.
ASP.NET MVC 2 è la naturale evoluzione della versione 1.0: è stata da poco rilasciata in forma di RTM per Visual Studio 2008 e .NET Framework 3.5 SP1 e sarà integrata nella prossima versione di Visual Studio 2010 e .NET 4.
Sono al momento indeciso se fare o meno un’introduzione su ASP.NET MVC in genere, dando quindi per scontato che i concetti di base di questo nuovo framework siano già noti. Cosa ne pensate?
Per cui se qualcuno di voi verrà, lasci pure un commento per dire cosa preferirebbe vedere, cercerò di accontentare tutti.
Durante la giornata a Bari, sarà anche il momento di assaggiare le novità relative ad altri argomenti interessanti, con le seguenti sessioni:
In effetti per me, che manco da più di un anno a Bari, sarà anche un' occasione per rivedere Fabio e Vito, peccato che potrò fermarmi solo una giornata. Sono sicuro che l’evento sarà molto denso, ricco di contenuti e che sarà una buona occasione per fare networking: ci vediamo là.
Fiddler è un proxy utile per fare analisi e debugging delle richieste e risposte http. E’ da sempre uno dei miei tool preferiti durante lo sviluppo di applicazioni che fanno richieste http; richeste che vengono generate non solo dal browser, ma anche da altre applicazioni che usano dietro le quinte le WinINET.
Sono disponibili sul portale video MSDN e TechNet, BEIT, 3 nuovi video su Fiddler 2.
Il primo video: Fiddler 2 Getting Started, vi spiega cosa sia Fiddler, come funzioni e in 30 minuti vederete in un tour quali sono le finestre principali, l’uso del tab Inspector, TimeLine, come usare Fiddler per tracciare richieste locali, etc.
Nel secondo video: Fiddler 2 e analisi delle performance, invece useremo Fiddler 2 e al contempo faremo delle considerazioni su quali aspetti guardare nel momento in cui vogliamo fare analisi delle performance di un sito. Vedremo inoltre come usare uno dei plug-in di Fiddler neXpert, che consente di avere un report di come si comporta un sito dal punto di vista delle performance e al contempo avere utili suggerimenti su come migliorarle.
Nel terzo video: Fiddler 2 e debugging del traffico http, vedremo come “fermare” una richiesta http prima che dal client arrivi al server, consentendoci di modificarla completamente e anche di “fermare” la risposta che dal server torna al client e anche in questo caso potremo modificare le risposte, piuttosto che usare delle risposte già fatte. Inoltre vedremo la ExecBar e alcuni comandi che possono essere usati con la console da linea di comandi integrata in Fiddler.
In ultmo potete guardare la sessione tenuta a PDC 2009 da Eric Lawrence a questo link, sulle ultime novità introdotte in Fiddler 2.
Forse non tutti sanno che ogni tanto mi diletto a fare delle interviste che pubblico su Channel 9. Ieri ho incontrato Raffaele Rialdi e abbiamo discusso della Sensor and Location Platform di Windows 7, partendo da un device “costruito in casa”, passando alla realizzazione del firmware, il driver in kernel-mode già presente in Windows, fino ad arrivare al driver in user-mode scritto da Raf, partendo dal core di quello presente nel’ DDK…, ecco a voi:
Vi segnalo con l’occasione altre interviste che ho fatto in passato e che penso possano essere interessanti a chi segue questo blog.
L’intervista ad Alessandro del Sole, Microsoft MVP, sulle novità di Visual Basic 2010. In questi giorni Ale ha rivelato qualche indiscrezione sul suo prossimo libro, ora in prevendita.
L'intervista a Simone Chiaretta, Microsoft MVP, su ASP.NET MVC 1.0… è passato così tanto tempo che Simone è riscito a scrivere un libro, qui il link su Amazon.
Potete trovare tutte le interviste che pubblico su Channel 9 a questo link.
Ok, seriamete, vi potete iscrivere qui alla conferenza: http://www.sharepointconference.it/registration.aspx.
Qui la mia sessione: Creare soluzioni di Office Business Application con SharePoint 2010 e Office 2010.
Per chi ci sarà, ci vediamo là.
Come si sa il modo più sempice e classico per caricare file javscript in una pagina è l’uso del tag <script> messo nell’ head della pagina HTML. Ad esempio, se vogliamo caricare il file javascript myfunc.js scriveremo qualcosa del genere:
Alcune delle considerazioni che possiamo fare sono:
Se siamo giunti a queste considerazioni, o ci troviamo nel caso di volere ottimizzare la pagina, probabilmente ci si presenta la possibilità di aggiungere dinamicamente i file javascript al DOM della pagina stessa. Il DOM è il Document Object Model ed è sostanzialmente una rappresentazione ad albero di tutto quello che compone la nostra pagina HTML. In un punto a piacere nel body della pagina potremmo volere modificare il DOM nel modo seguente: il codice dovrebbe funzionare su tutti i browser più recenti:
A questo punto il file javascript verrà aggiunto alla pagina.
Il vantaggio più evidente di questa tecnica è che possiamo aggiungere file javascript in un secondo momento rispetto al primo caricamento della pagina e magari on-demand, cioè solo quando ne abbiamo bisogno ad esempio quando l’utente preme un pulsante.
Ok, ma quali possibili problemi possiamo incontrare?
Guardiamo il codice seguente dove carico jquery usando la tecnica vista e poi faccio una semplice chiamata usando l’oggetto Jquery per andare ad impostare un alert su un tag ancora:
Se lancio l’applicazione ottengo un errore: perchè l’oggetto JQuery, cioè $, non è ancora definito quando lo devo usare, lo vedete bene nella developer toolbar di Internet Explorer 8:
Ironia della sorte l’oggetto $ è proprio quello che jQuery mi mette a disposizione per verificare che il DOM della pagina è pronto. Il motivo è proprio che l’oggetto JQuery, cioè il simbolo $, non è definito nel momento in cui eseguiamo il nostro codice Javascript che vuole usare la suddetta libreria. Per preveniere questa situazione alcune tecniche di programmazione Javascript prevedono d’ implementare una sorta di timer in attesa del caricamento effettivo della libreria: una tecnica che funziona e che non è neanche così inefficente come potrebbe sembrare.
Per risolvere queste problematiche ed avere numerosi altri vantaggi possiamo usare il Microsoft Ajax Script Loader, un componente della Microsoft Ajax Library,ed in particolare il modulo che implementa un loader per file javascript e la gestione delle dipendenze: Start.js.
Il modo più rapido per imparare ad usare le MS Ajax Library è partire da questo link al sito. Nel seguito mi focalizzerò primariamente sul loader, le caratteristiche di questo loader sono:
Vediamo un primo esempio d’uso:
Inizialmente ho caricato il file Start.js, il nostro loader appunto, direttamente dalla CDN Microsoft, non ho dovuto quindi aggiungere nessun file .js al mio progetto.
Usando ora l’istruzione Sys.require, Visual Studio ci mette a disposizione l’intellicese anche per queste istruzioni Javascript, possiamo specificare quali sono i file javascript necessari. Come vi dicevo il loader ha già una serie di file preimpostati, tra questi c’è anche jquery e quindi potete scrivere Sys.scripts.jQuery.
La lista dei file disponibili out-of-the box (al momento) è:
I file vengono presi dalla CDN microsoft. Nella CDN trovate anche jquery 1.4.1 e potete utilizzare quest’utima versione con la tecnica vista nel seguito, in cui andremo a indicare file custom da caricare.
Inoltre notate che all’istruzione Sys.require viene passata la funzione funDOM che verrà eseguita al caricamento completato e quando sarà disponibile l’oggetto jQuery. In questo modo quindi:
L’ Ajax Script Loader ci consente anche di caricare file custom, cioè non quelli presenti sulla CDN, come ad esempio jqueriUI. Quest’ultimo in dipendenza da JQuery, per fare questo dobbiamo prima istruire il loder sulle dipendeze, come nel codice seguente:
Il codice usa il metodo .defineScript per definire il file custom, nelle due versioni release e debug. La versione scelta è definita da una costane nel loader, verrà presa quella di release se il file è Start.js, quella di debug se il file è Start.debug.js.
Vedete inoltre che il file jquery.ui dipende (dependencies) dal file jQuery, ma la lista potrebbe essere estesa e il caricamento del file sarà considerato completato (isLoaded)quando le variabile windows.jQuery e jQuery.ui saranno definite.
Grazie a questo codice possiamo scrivere:
Questa volta semplicemente impostiamo come required lo script JQueryUI, che a sua volta dipende da JQuery. La nostra funcDOM funzionerà correttamente, il datepicker ad esempio è un plugin di jquery. Nella scherma seguente vedete un’esempio in esecuzione all’interno del browser Opera 10:
In questo post abbiamo visto come il Microsoft Ajax Loader, consenta di risolvere alcuni dei problemi più fastidiosi che si hanno quando si lavora con il javascript come: caricamento on-demand di file js, gestione delle dipendenze tra file js, verifica del caricamento dei file js prima dell’esecuzione di file javascript nella pagina. Vi posso consigliare anche di leggere questi how-to su: HOW TO Detect DOM Ready, in cui vedere come usare le funzioni .domReady e .pageLoad; ed in generale trovate molte informazioni sulle Microsoft Ajax Library a questo link.
Spero che il post vi sia piaciuto.
Potete scaricare il codice dell’esempio da qui.
E’ con piacere che vi segnalo il portale del TTG, Technologies User Group, la community torinese dedicata primariamente allo sviluppo .NET.
Come già annunciato in precedenza da Marco Russo i tempi erano maturi.
Dal portale della community ora (www.torinotechnologiesgroup.it) potete leggere la filosofia e le finalità:
“Torino Technologies Group è una community locale, di base a Torino ma rivolta in particolare al Piemonte, che consente occasioni di incontro e scambio di esperienze tra chi sviluppa soluzioni usando tecnologie Microsoft (e non solo). L'obiettivo è quello di riuscire a organizzare appuntamenti con una certa frequenza (l'ideale sarebbe una frequenza mensile) di durata breve in orario pomeridiano o pre-serale (magari alternando diverse soluzioni di orario e venire incontro a esigenze diverse).
Gli incontri periodici avvengono generalmente presso il MIC (Microsoft Innovation Center) all'interno dell'area del Politecnico di Torino. È quindi auspicabile che la community diventi anche un ponte di collegamento tra aziende con sedi in Piemonte, studenti e start-up ospitate negli incubatori all'interno del Politecnico stesso.”
Direi che potete:
1. Registrarvi alla community Torinese/Piemontese
2. Rimanere in attesa di un evento, potete consultare la pagina stessa.
E quindi partecipare semplicemente per ascoltare e per imapare e, anche perchè no, contribuire.
Ci vediamo presto.
[Aggiornato con codice anche in Visual Basic]
In questo post vedremo come realizzare un semplice esempio per implementare una relatione master-detail usando Silverlight 4 e i WCF RIA Services, entrambe le tecnologie non ancora rilasciate.
Per realizzare l’esempio dovete installare
Inzialmente partiamo realizzando un’applicazione Silverlight, anche se non strettamente necessario possiamo usare il template Silverlight per realizzare applicazioni di business. Per usarlo da Visual Studio 2010, selezionare “New Projects”, quindi “Silverlight” e selezionare Silverlight Business Application, come mostrato in figura
Questo template ci consente di avere un template già fatto che offre questi vantaggi:
Nel nostro caso andremo a personalizzare la pagina Home.xaml che si trova nel folder Views, ma potete aggiungere un’altra pagina Silverlight facilmente al framework di navigazione.
Aggiungiamo ora al progetto un ADO.NET Entity Data Model, per creare il nostro DAL, nel mio caso l’ho chiamato NorthwindModel.edmx e ho aggiunto, usando il database northwind, la tabella Customers e Orders, per avere una semplice relazione 1-a-molti che mi servirà per creare la UI con la relazione master-details. Inoltre nel designer ho rinominato le due classi create togleindo la “s” finale. Quindi il mio modello dei dati avrà la classe Customer e la classe Order, senza “s” . Quersto mi permette di avere collezioni di oggetti che invece avranno la “s” finale. Ovviamente questa è una finezza e non strettamente necessaria.
Nella figura seguente vedete la selezione delle due tabelle dal designer di Entity Framework
Che generano quindi le due classi. Nella figura seguente vedete il risultato con le due entità già rinominate.
Aggiungiamo ora un nuovo item che realizzerà lo strato di servizio con i RIA Services. Add-> New Items… e selezioniamo il template per Domain Service Class.
Questo mostrerà un popup nel quale dobbiamo indicare se le entità che verrano create saranno accedibili dal client, quali entità di quelle presenti vogliamo utilizzare, se vogliamo fare operazioni di modifica, oltre che di lettura.
Questo wizard genera il file NorthwindDomainService.cs dove troviamo il codice del servizio e in particolare i metodi per ottenere la lista dei nostri Customer come GetCustomers che ritorna un valore di tipo IQueryable del tipo Customer. In questo caso l’implementazione del nostro servizio è fatta sfruttando la classe LinqToEntityDomainServices messa a disposizione dal framework e che Visual Studio 2010 mi consente di sfruttare a pieno tramite il wizard.
Dato che ho chiesto al wizard di utilizzare anche l’entità Order, nel progetto troverete anche i corrispondenti metodi per la gestione.
Nel nostro caso però lo scenario che vogliamo indirizzare è leggermente più complesso: infatti vogliamo mostrare due griglie la prima legata ai clienti e la seconda agli ordini di uno specifico cliente una volta selezionato questo nella prima griglia.
Per questo aggiungiamo un metodo per recuperare gli ordini, metodo che accetterà un parametroche rappresenta l’id del nostro customer.
il codice da aggiungere per chi usa Visual Basic.NET 2010 è il seguente
Grazie ai RIA Service e il template di progetto di Visual Studio 2010 ci troviamo, dopo la compilazione, il modello ad oggetti esposto sul server, direttamente sul client e tutte le operazioni di comunicazione vengono gestite per me dal framework.
Per la UI ho posizionato due DataGrid, una (customerDataGrid) che conterrà la lista dei customer e la seconda (orderDataGrid) gli ordini selezionati per lo specifico customer. Per fare questo ho intercettato l’evento SelectionChanged sulla prima DataGrid, per aggiungere del codice in cs, come vedrete nel seguito.
Inizialmente ho usato il drag-and-drop offerto da Visual Studio 2010, usando la finestra Data Source e trascinando l’oggetto Customer, questo mi ha aggiunto sia la DataGrid che l’oggetto DomainDataSource corrispondente. Inoltre ho poi aggiunto una seconda DataGrid che dovrà contenere gli ordini.
In figura seguente vedete più o meno il risultato nel designer di Visual Studio 2010:
Aggiungo ora l’evento SelectionChanged alla DataGrid customerDataGrid e aggiungo il codice per riempire la seconda (orderDataGrid nell’esempio) facendo la query verso il metodo GetOrdersByCustomerID, visto prima, aggiunto lato server e che mi trovo ora sul client grazie a RIA Services. Il metodo lato client, si chiama come la sua controparte sul server, con in più l’estensione finale di Query.
Il codice in Visual Basic corrispondente è:
Lanciando ora l’applicazione abbiamo il comportamento desiderato: seleziono un customer nella prima DataGrid e vedo nella seconda gli ordini, come vedete nella figura sottostante.
Potete scaricare il codice d’esempio da
Buon divertimento con Silverlight 4 e i WCF RIA Services !
Ieri ho preso parte all’ultima tappa del “mio” community tour, che mi ha visto prendere parte a questa iniziativa con le community DotNetToscana a Pisa, dotNetRomaCeSta a Roma, DotDotNet a Bologna e con XeDotNet, PowerShell.it, DotNetWork a Pordenone e che con un unico post vorrei ringraziare per il supporto. Inoltre un grazie ai ragazzi di DotNetCampania e a chi è venuto a trovarmi facendo lunghe trasferte :-) e ha preso parte a questi eventi contribuendo a farli diventare un momento importante di formazione comune, solo per appassionati naturalmente.
Per chi è interssato, può scaricare slide e demo delle mie sessioni, modificate via via che il tour procedeva.
Alcune foto degli eventi a cui ho partecipato, se volete segnalarne altre lasciate pure un commento.
Inoltre per l’evento di Roma trovate un player Silverlight sul sito di DotNetRomaCeSta.
In occasione del Community Tour organizzato tra Microsoft e le community .NET che hanno aderito all’iniziativa vi segnalo le date in cui sarò presente.
In quest’occasione parlerò delle ultime novità per lo sviluppo di applicazioni di business con Silverlight e i .NET RIA Services.
Link per l’iscrizione e Agenda completa
In quest’ occasione la mia sessione sarà su alcune API di Windows 7 e su come programmarle da .NET: Multitouch, Sensor API etc.
In quest’occasione parlerò delle ultime novità per lo sviluppo di applicazioni di business con Silverlight e i WCF RIA Services.
Link per l’iscrizione e l’agenda completa
Sviluppare applicazioni RIA Data-Driven con ASP.NET e Silverlight
Sviluppare con ASP.NET MVC
Agenda completa dell’evento.
Le due sessioni che ho proposto (non sono state ancora confermate) sono le seguenti:
ASP.NET MVC : Programming
ASP.NET MVC : Testing
Link al sito dell’evento.
Dopo il rilascio della beta di Silverlight 4 e dei nuovi WCF RIA Services (prima noti come .NET RIA Services) ho deciso di aggiornare il titolo della sessione DEV 327 che terrò a Microsoft Tech Days 2009 in:
Quindi scusate se trovate il titolo e abstract della sessione disallineati, è colpa mia.
Userò Visual Studio 2010 perchè vorrei mostrare alcune delle novità dell’editor, ma potete scaricare anche i WCF RIA Serives beta per Visual Studio 2008.
Una delle cose che mi sto divertendo a fare è sfruttare le potenzialità di far girare l’applicazione Silverlight 4 Out-Of-Browser in modalità Full-Trust, le nuove potenzialità di binding dinamico e di COM interop per acedere a Microsoft Excel.
1) Abilitare l’acesso Full Trust in modalità OOB da Visual Studio 2010 nelle proprietà Silverlight del progetto.
2) Quindi aggiungere reference a Microsoft.Csharp.dll e scrivere qualcosa del tipo:
Notate la keywork dynamic.
Ed ecco fatto, quando l’applicazione gira OOB. Potete pensare di usare la stessa tecnica per accedere anche ad Outlook, ad esempio, per accedere alle informazione del calendar etc.
Bene, ora vi aspetto alla sessione.
E’ da poco disponibile un corso per sviluppatori su Channel 9 dedicato a SharePoint 2010.
Attualmente il corso è in Inglese ed è dedicato alle funzionalità presenti sulla beta, ma chissà …
Visual Studio 2010 Tools per SharePoint 2010
UI Enhancements
List and Schemas
LINQ to SharePoint
Client Object Model
Workflow
Services Architecture
Accessing External Data
Enterprice Content Management
Extending Search
Performance Point Service
Sandboxed Solutions
SharePoint 2010 Security
Cominciate a tenere d’occhio il sito della SharePoint Conference 2010 e bloccare l’agenda, mi raccomado.
Microsoft SharePoint Server 2010 Evaluation Guide
SharePoint 2010: Professional Developer Evaluation Guide and Walkthroughs
Potete leggere il documento pubblicato da David Chappell, all’url seguente:
The SharePoint 2010 Developer Platform: An Introduction for ASP.NET Solution Architects
Ho pubblicato le slide e qualche esempio di codice visto durante la sessione sullo sviluppo con .NET per Windows 7 a questo link (potreste avere problemi con il download). Potete trovare anche il materiale sul blog di Mario Fontana, che ha tenuto la stessa sessione a Milano.
Qualche link utile
Video delle sessioni
Le sessioni della tappa di Milano, sono state registate e, salvo intoppi o problemi di registrazione, saranno disponibili in qualche settimana sul sito BEIT, nella sezione dedicata agli eventi da rivivere.
Le funzionalità di SharePoint 2010 raccolte in una slide.
Non tutte per soli developer, non vi preoccupate.
Composites
Sites
Communities
Content
Search
Insights
Una delle novità più interessanti della prossima release di SP 2010 sono le Sandboxed solution. Un nuovo modo di creare e deploiare soluzioni in Share Point 2010 con VS 2010 che può essere scelto durante la fase di deploy, come si vede dalla figura seguente:
Le Sendboxed solution offrono le seguenti caratteristiche:
SharePointPermission.ObjectModel
SecurityPermission.Execution
AspNetHostingPermissionLevel = Minimal