Posts Tagged ‘.Net Framework’
12° Workshop "Community Tour 2009"
Segnaliamo il 12° Workshop del Community Tour 2009, organizzato da DotDotNetMarche, che si terrà il 18 Dicembre 2009 presso OFFICE DC in via Via Selvagrossa, Loc. Case Bruciate Tavullia (PU).
Il Workshop prevede due sessioni:
- Le novità in IIS 7 e 7.5
- Tecnologie web per la UI a confronto
Durante la mattinata, nella stessa sede, si svolgerà un evento di presentazione delle novità di Windows 7 e Windows Server 2008 R2 lato sistemistico con la seguente agenda (speaker: Piergiorgio Malusardi):
– 09.30: Registrazione
– 09.50: Keynote
– 10.00: Windows 7: cosa c’è di nuovo?
– 10.45: Break
– 11.00: Le novità di Windows Server 2008 R2
– 12.00: Hyper-V v2 e SCVMM2008 R2: virtualizzare server secondo Microsoft
– 12.45: Q&A e chiusura lavori
Quinta UgiAltNet Conference
Oggi si sono aperte le iscrizioni per la 5° UGIAlt.Net Conferenze che si terrà a Milano il 23 Gennaio 2010, presso la sede di Avanade Italy. Sono disponibili 120 posti e l’ingresso è gratuito.
UGIAltNet è un usergroup italiano sul mondo Microsoft .NET con lo scopo di far conoscere filosofie, strumenti e metodi (anche alternativi a quelli ufficiali Microsoft) per lo sviluppo di solide applicazioni .NET. Per capire meglio lo scopo del gruppo riportiamo la definizione presente sul sito:
Seguire la filosofia ALT.NET equivale a seguire i propri gusti sul design delle applicazioni e usare la piattaforma .NET per supportare le proprie idee invece che doverle plasmare per adattarle al framework. Sebbene nessuna di queste cose sia un requisito per “essere ALT.NET”,la community abbraccia: Agile, Scrum, XP, Open Source Packages and Frameworks, Test Driven Development/Design, Behavior Driven Development/Design, Domain Driven Development/Design.
ALT.NET non significa “snobbare” la piattaforma e gli strumenti di Microsoft – significa potere decidere quando ha senso usarli, significa usarli potendo avere maggiore controllo ed avere l’opzione di andare in un’altra direzione senza dovere abbandonare il .NET Framework.
Adottare la filosofia ALT.NET vuol dire essere liberi di usare gli strumenti che si preferiscono, cercandone sempre di migliori, vuol dire essere agili, vuol dire imparare, cercare sempre la qualità senza accontentarsi del codice generato dal wizard: in una parola vuol dire divertirsi.
A questo scopo lo usergroup organizza periodicamente incontri tecnici in varie parti d’Italia e mantiene un canale aperto alle discussioni tramite la mailinglist ufficiale.
Gladiatori Fest un evento gratuito su .Net di DotNetRomaCestà
Con molto piacere segnaliamo un’importante evento gratuito su .net organizzato da DotnetRomaCestà lo User Group Romano .Net. L’incontro si svolgerà Mercoledì 21 Ottobre 2009 alle ore 8:30 presso l’Auditorium Sap Italia.
L’agenda prevedente una serie di sessioni incentrate su argomenti molto caldi come il framework Asp.Net MVC v1.0 e novità prossime come Asp.Net 4.0 e Asp.Net MVC v2.0. Non mancano sessioni alternative come quella sulle Api del nuovo motore di ricerca Bing e una sessione dedicata al Service Broker di SQL Server 2005. Come ultima chicca un premiazione finale in cui verranno assegnati ai partecipanti alcuni premi molto azzeccati.
Un evento importante, di qualità elevata e soprattutto gratuito a cui non potete non partecipare se siete della zona!
Per maggiori informazioni:
http://www.dotnetromacesta.org/EventoGladiatori.aspx
Le novità di C# 4.0
Il nuovo Microsoft .Net Framework 4.0 è arrivato ad uno stato avanzato di sviluppo. Forse per fine anno o metà del prossimo potremmo beneficiare non solo di una moltitudine di nuove funzionalità del .net framework ma anche del nuovo Visual Studio 2010 realizzato interamente in WPF.
In questo articolo ci concentreremo esclusivamente sulle novità apportate al linguaggio C# 4.0. Molte delle novità descritte in questo articolo sono già testabili scaricando e installando la Microsoft Pre-release Software Visual Studio 2010 and .NET Framework 4.0 Community Technology Preview. Si tratta di una macchina Virtual PC con dentro Windows, Visual Studio 2010 e il .net framework già installati e configurati. Per un totale di circa 7GB di macchina virtuale!
Complessivamente le novità introdotte in C# 4.0 si possono riassumere nel seguente elenco:
- Dynamic Type Object
- Name e Optional Arguments
- Co-variance e Contra-variance
- Migliorie su COM Interop
Vediamo in dettaglio.
Dynamic Type Object
Il Dynamic Type Object è un nuovo tipo statico introdotto soprattutto a beneficio del Dynamic Language Runtime (DLR). Con la nuova parola chiave dynamic è possibile dichiarare un type che verrà risolto solo a run-time. In questo modo:
public void MyFunction() { // le seguenti variabili verranno convertite // implicitamente a run-time. dynamic counter = 1; dynamic hello = "Hello C# 4.0"; }
Su un type dichiarato come dynamic è possibile richiamare metodi, campi o proprietà, come se fosse un object. Il tutto verrà risolto automaticamente a run-time in base al type effettivo contenuto all’interno della variabile. Con questa parola chiave C# 4.0 si uniforma così ai tipici linguaggi dinamici (dynamic appunto) come Ruby o Php.
Name e Optional Arguments
L’optional argument è una funzionalità del linguaggio già presente in Visual Basic ed è la capacità di dichiarare come opzionale un parametro di un metodo, in questo modo:
// il parametro i risulta essere obbligatorio // mentre il parametro y è optionale e per // default viene impostato a 0. public int Calc(int i, int y = 0) { // corpo del metodo } public void Main() { // ho la possibilità di richiamare Calc con un // solo parametro o con due, poiché il parametro // y risulta essere opzionale. int result1 = Calc(5); // equivalente a Calc(5, 0); int result2 = Calc(10, 3) }
Il name argument invece è la facoltà di passare un parametro per nome, in questo modo:
public int Calc(int i, int y = 0, int z = 1) { // corpo del metodo } public void Main() { // In questo modo chiamo il metodo Calc con i parametri // invertiti, cioè prima passando y e poi x. int result = Calc(y: 3, i: 4); // equivalente a Calc(4, 3, 0); // In questo, invece chiamo Calc passando i e z ma non y int result2 = Calc(z: 6, i: 3); // equivalente a Calc(3, 0, 6); }
Co-variance e Contra-variance
Introduciamo il concetto di covarianza e contravarianza. Date due classi A e B. Dove B è una sotto classe di A, e avente una nuova classe C
- se B è sotto classe di A
- la classe C è covariante rispetto a T con C se C è sotto classe di C
- la classe C è contravariante rispetto a T con C se anche C è super classe di C
Questo risulta particolarmente interessante con i type parameter dei generics. In questo modo potremmo, per esempio, assegnare una collection di stringhe ad una collection di oggetti, dato che la classe string e sotto classe di object, o vice versa, così:
IList<string> strings = new List<string>(); IList<object> objects = strings;
I benefici della covarianza e della contravarianza non si limitano a questo aspetto, ma come esempio è chiarificatore.
Migliorie su Com Interop
Tra le migliorie su Com Interop citiamo:
- Importazione dinamica con l’utilizzo del Dynamic Type Object invece che object
- Compilazione senza PIA (Primary Interop Assemblies) che rendevano pensante l’applicazione
- Chiamate a metodi senza l’utilizzo di ref
Conclusioni
Che dire, le novità sono davvero tante e tutte decisamente interessanti. Prima tra tutte la citata parolina magica dynamic, che introduce una vera e propria rivoluzione per un linguaggio prettamente statico come C#. Non resta che aspettare l’uscita ufficiale sia del .Net Framework 4.0 ma soprattutto del nuovissimo Visual Studio 2010 che merita veramente la visione, ma questa è un‘altra storia. 🙂
Risorse
Alcune risorse utili:
.Net Framework 2.0 Configuration Tool senza SDK
Il .NET Framework Configuration Tool (Configurazione Microsoft .NET Framework in italiano) è un comodo strumento visuale che, tra le altre cose, ti permette di configurare la GAC (Global Assembly Cache) e la CAS (Code Access Security). Ovvero due degli aspetti fondamentali del .NET Framework.
Se con la versione 1.1 del .NET Framework questo strumento era incluso di default nella Redistributable Package del runtime di base, con la versione 2.0 le cose sono cambiante. E infatti installando il runtime del framework 2.0 il Configuration Tool misteriosamente non è presente. Secondo alcuni blog ufficiali, questa è una decisione presa proprio dal team di sviluppo di .NET che ha ben pensato di inserire il tool solo nell’SDK (Software Development Kit) del .NET Framework 2.0. Il problema è che l’SDK risulta avere una dimensione variabile di circa 200MB e questo fattore risulta essere proibitivo in alcuni contesti di produzione. Come fare allora?
Per fortuna un programmatore di Microsoft Aaron Stebner, program manager di XNA, ha realizzato un programma di installazione che permette di installare solo il .NET Framework 2.0 Configuration Tool come componente separato. Come lo stesso Aaron precisa, essendo un progetto personale, il funzionamento non è garantito. E’ bene quindi chiarire alcune degli svantaggi di questo sistema:
- Non è supportato ufficialmente da Microsoft
- Essendo un progetto amatoriale non è localizzato in italiano
- Facendo alcune prove ho riscontrato crash improvvisi (anche se lo stato è rimasto consistente)
Ma anche in questo caso come si dice: meglio che niente 😉
Programma:
http://cid-27e6a35d1a492af7.skydrive.live.com/self.aspx/Blog%7C_Tools/configwizard.zip