Lancio Visual Studio 2010 @ Community Tour, Catania

Ogni giorno il mondo dell'informatica produce nuove notizie, indiscrezioni, voci di corridoio. Discutetene in questo forum.

Moderatore: Staff forum IlSoftware.it

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 15 apr 2010 10:31

Immagine
PARTECIsoftware

In occasione dell’uscita di Visual Studio 2010, Microsoft Italia e OrangeDotNet hanno organizzato una conferenza durante la quale alcuni esperti del settore hanno esposto alcune delle novità più interessanti introdotte con la nuova versione del noto ambiente di sviluppo di casa Microsoft. Tra le versioni disponibili, la versione Standard non esiste più, poiché le differenze rispetto alla Express erano così poche, che non aveva senso rendere a pagamento un prodotto che aveva qualche caratteristica in più rispetto all’Express Edition.

La prima sessione ha visto come speaker Vittorio Bertocci, un italiano che lavora a Redmond da quasi 5 anni come Architect Evangelist della Windows Server Evangelism, che con i suoi simpatici disegni su PowerPoint (di cui è possibile vedere qualche screenshot su questo link del suo blog) ha esposto con eccezionale semplicità le problematiche riguardanti l’autenticazione e il modo in cui sono state risolte e semplificate grazie a .NET 4.0. La libreria Windows Identity Foundation (WIF) permette di esternalizzare l’autenticazione dell’utente, demandandola a dei cosiddetti Identity Provider, che dopo aver autenticato l’utente producono un Security Token: quest’ultimo è come un documento di identità che, da un lato permette di autenticare l’utente e dall’altro contiene una serie di informazioni che possono essere utilizzate dal sito web per identificare il profilo di navigazione dell’utente stesso.

Durante la seconda sessione Lorenzo Barbieri, Developer Evangelist di Microsoft Italia, ci ha mostrato l’anteprima Windows Phone 7 Series: il nuovo sistema operativo per dispositivi mobili, che tra le varie novità dovrebbe rendere più semplice l’installazione e la manutenzione delle applicazioni installate. Il nuovo emulatore non è più un interprete, ma una sorta di macchina virtuale, che consente anche di testare il multi-touch utilizzando lo stesso schermo del PC o del notebook!

La terza sessione ha avuto come protagonista C# 4.0, presentato da Giancarlo Sudano, Software Architect e Microsoft MVP Visual Studio ALM. La principale novità del linguaggio riguarda il modo di programmare: linguaggi come C/C++, Java e lo stesso C#, per citarne qualcuno, sono sostanzialmente imperativi, nel senso che il codice “dice al processore” come deve fare qualcosa, e ciò limita l’ottimizzazione, soprattutto se si vuole sfruttare il parallelismo. Ma l’introduzione di LINQ già nella versione 3.0 di C# e di PLINQ (Parallel LINQ) nella versione 4.0 aggiunge dichiaratività al linguaggio, il che permette di “dire al processore” cosa deve fare senza specificare il come (si pensi al linguaggio SQL, tramite il quale si chiede al DMBS il risultato desiderato, ma poi è il DBMS a stabilire come effettuare la ricerca, a organizzare gli indici, ecc.). Molto importante anche l’introduzione del concetto di task, che permetterà di fare programmazione parallela senza toccare i thread, il che ovviamente si traduce in un codice più pulito. Come conseguenza sono stati migliorati gli strumenti per effettuare debug parallelo.

Infine la quarta e ultima sessione, tenuta da Laura La Manna, .NET Technology Specialist, ha riguardato la nuova versione Windows Presentation Foundation, WPF 4.0: un nuovo modo di programmare le interfacce grafiche che permette una migliore collaborazione tra designer e sviluppatore e che vede il supporto nativo per i pattern MVVM e MVC e la possibilità di sfruttare meglio l’hardware e le DirectX. L’interfaccia grafica di Visual Studio 2010 è stata realizzata proprio con WPF 4.0, quindi ciò dovrebbe rappresentare una garanzia.

:arrow: Più tardi aggiungerò alcuni dettagli dagli appunti che ho trascritto!
Ultima modifica di enzom83 il 18 apr 2010 18:26, modificato 1 volta in totale.
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
Michele Nasi
Direttore IlSoftware.it
Direttore IlSoftware.it
Messaggi: 10059
Iscritto il: 26 ago 2000 15:35
Località: Arezzo
Contatta:

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda Michele Nasi » 15 apr 2010 10:37

Perfetto! Pubblica anche le altre informazioni che hai raccolto: questa discussione è sicuramente destinata a diventare un "top topic" (ved. http://www.ilsoftware.it/forum/viewtopi ... 22&t=78882" onclick="window.open(this.href);return false;). :wink:
Qualcun altro pensa di partecipare alle altre date del "Community Launch Tour" di Visual Studio 2010?

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 18 apr 2010 17:29

Prima sessione – Claim-based Identity e Windows Identity Framework

Quasi tutti i servizi messi a disposizione sul web richiedono una procedura di identificazione dell’utente con lo scopo di garantirne la fruizione ai soli utenti autorizzati ed eventualmente per personalizzarla in base alle caratteristiche dell’utente stesso. Solitamente ad ogni utente viene fornita una coppia username-password ed assegnato un profilo contenente le sue caratteristiche. Naturalmente, per il gestore del servizio ciò si traduce necessariamente nella scrittura del codice per l’autenticazione, che ovviamente dipende dal livello di sicurezza scelto ed è anche legato alla tecnologia adoperata. In questa situazione spesso capita che gli sviluppatori debbano improvvisarsi esperti di sicurezza per poter scrivere il codice appropriato per le esigenze. A questo si aggiunge anche la necessità di doversi occupare degli accessi al database che dovrà contenere tutte le informazioni sugli utenti, al fine di evitare che persone non autorizzate possano appropriarsene.

Inoltre l’esistenza di molti servizi web, dalle semplici community o dall’e-commerce fino ad arrivare al sito web della propria banca, impone ad ogni persona la creazione di un nuovo account e la scelta di una nuova password. E fin quando la scelta di quest’ultima è effettuabile dall’utente stesso, costui potrebbe utilizzare la stessa per una moltitudine di servizi onde evitare di doverne memorizzare troppe, magari optando per una sequenza alfanumerica facile da ricordare. Tali scelte, oltre a non essere sicure, non sono sempre praticabili, poiché in alcuni casi la password viene generata automaticamente da un software e imposta all’utente, senza possibilità di poterla modificare a proprio piacimento. Pertanto non è difficile trovare utenti che possiedono più di 5 o anche più di 10 password differenti, con conseguente stress.

La soluzione proposta dalla Microsoft consente agli sviluppatori .NET di usare la libreria Windows Identity Foundation (WIF), evitando loro di dover gestire l’autenticazione all’interno dell’applicazione e dando la possibilità agli esperti di sicurezza di controllare meglio tutto il sistema, e al tempo stesso unificando i vari metodi di autenticazione. Uno dei vantaggi è che il codice da scrivere per l’autenticazione è analogo sia che si usi ASP.NET sia che si usi WCF, ecc.. Inoltre non sarà più necessario servirsi di API diverse in base alla tecnologia adoperata, per cui il codice che gli sviluppatori dovranno scrivere per l’autenticazione diventa più semplice visto che la procedura viene demandata ad un sistema esterno, un Identity Provider. Quest’ultimo, dopo aver verificato l’identità dell’utente, tramite un Security Token Service (STS) gli fornisce un Security Token contenente dei claim (letteralmente tradotto significa assicurazioni) utili per garantire l’identità dell’utente e che non sono altro che tutte le informazioni su si esso (le suddette caratteristiche, per esempio nome, cognome, e-mail, ecc.). Non appena il Security Token viene comunicato all’applicazione, quest’ultima tramite il WIF ne verifica la validità e ne estrae i claim per permettere l’accesso ai soli servizi fruibili dal relativo utente.

Volendo riproporre il paragone fatto dallo speaker, il Security Token è come un documento d’identità (per esempio carta d’identità, patente, passaporto, tessera sanitaria, ecc.) e il STS è come l’ente che rilascia il documento, che quindi ci assicura l’identità della persona e fornisce delle informazioni su di essa.

Visual Studio 2010 facilita lo sviluppo di applicazioni che seguono l’approccio suddetto, permettendo quindi agli sviluppatori di implementare separatamente la logica dell’applicazione da quella dell’autenticazione.

Ecco alcuni link che approfondiscono meglio l'argomento...
- Brokered Authentication: Security Token Service (STS)
- Claims-Based Authorization with WIF
- Windows Identity Foundation Overview: un video con le spiegazioni di Vittorio Bertocci e le stesse slide che ha usato durante la conferenza.
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 18 apr 2010 19:22

Seconda sessione – Introduzione allo sviluppo con Windows Phone 7 Series

Una delle prime novità riguarda la standardizzazione dell’hardware, nel senso che il numero di modelli è stato ridotto, con lo scopo di avere meno problemi nel rilascio di aggiornamenti per troppi device. Lo strato driver è stato riprogettato in modo che debba servirsi di un’interfaccia comune, per cui gli aggiornamenti possono essere installati subito senza dover attendere che vengano rilasciati dal produttore del dispositivo mobile. Il numero dei pulsanti obbligatori e stato fissato a tre, più quello per la fotocamera che è opzionale, nel senso che il produttore potrà decidere se prevedere un pulsante ad hoc per utilizzarla o se “costringere” l’utente a dover navigare tra i vari menu. Per ridurre il consumo della batteria, inoltre, il polling non viene più utilizzato, a favore del push notification.

Per quanto riguarda le applicazioni, uno degli obiettivi è stato quello di standardizzarle in termini di utilizzo e di uniformarne il ciclo di vita. In tal modo l’utente avrà minori difficoltà ad apprendere l’uso di ogni nuova applicazione, e non dovrà mettersi le mani sui capelli ogni volta che dovrà installarne una. L’applicazione verrà fornita come software pacchettizzato in formato XAP, firmato e gestito in modo che la sua esecuzione sia abilitata su un telefono specifico e per quel determinato utente che l’ha scaricata tramite Windows Marketplace, pertanto nel telefono dovrà essere presente il certificato prelevato da Marketplace.

Per quanto riguarda lo sviluppo delle applicazioni gli sviluppatori potranno programmare soltanto tramite CLR (Common Language Runtime) e quindi dovranno scrivere soltanto codice managed, cioè sotto il controllo del .NET Compact Framework. Quest’ultimo, poi, non è direttamente accessibile, ecco perché bisognerà utilizzare Silverlight, XNA, ecc.. Momentaneamente si può lavorare solo in C#.

Ogni applicazione viene gestita ed eseguita in una sandbox separata dalle altre applicazioni (isolated storage) e con bassa priorità (il sistema, invece, ha priorità più alta). Importanti sono anche i concetti di PageUI e PageState: il primo si riferisce a quello che viene mostrato dall’applicazione, mentre il secondo contiene tutti i dati necessari che rappresentano lo stato dell’applicazione e che servono per ripristinarne lo stato. Infatti tutte le applicazioni gireranno in multitasking, per cui se suona per esempio il telefono, la grafica dell’applicazione sarà bloccata, ma non l’eventuale applicazione che era in esecuzione. Ciò è assicurato dalla cosiddetta graphics composition, cioè dalla presenza di strati grafici sovrapposti con priorità differenti, quindi per esempio se arriva una telefonata, la relativa grafica si sovrappone (Shell Frame).

Un ultimo concetto è quello di panorama: lo schermo deve essere come un buco della serratura su un panorama, con lo scopo di rendere più interessante l’esperienza dell’utente durante l’utilizzo del dispositivo.

Infine, il nuovo emulatore non è più un interprete, ma una sorta di macchina virtuale, che consente anche di testare il multi-touch utilizzando lo stesso schermo del PC o del notebook (se questo è abilitato)!

Alcuni link citati durante la conferenza...
- Windows Phone per sviluppatori
Windows Phone 7 Panorama control
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 18 apr 2010 20:58

Terza sessione – A Lap Around C# 4.0

La principale novità del linguaggio riguarda il modo di programmare: linguaggi come C/C++, Java e lo stesso C#, per citarne qualcuno, sono sostanzialmente imperativi, nel senso che il codice scritto dallo sviluppatore serve per dare dei comandi al processore (attraverso il sistema operativo e un’eventuale virtual machine), e quindi per spiegargli i passi da seguire, o meglio le istruzioni da eseguire, per fare qualcosa. Ovviamente ciò limita l’ottimizzazione, visto che in fase di compilazione viene effettuata una sorta di traduzione da un linguaggio ad alto livello ad un linguaggio comprensibile per la macchina. E’ vero che è possibile configurare il compilatore per eseguire delle ottimizzazioni, anche per determinati tipi di architetture, ma queste sono comunque limitate.

In questa situazione, l’unico modo per incrementare la velocità di esecuzione di un programma richiede l’uso di un processore più performante in termini di frequenza di clock. Negli ultimi anni, l’introduzione dei processori con più core ha sottolineato che non è più possibile ragionare in termini di scalabilità verticale (più transistor per incrementare la frequenza di clock), ma piuttosto in termini di scalabilità orizzontale (più transistor per ottenere più core in grado di lavorare in parallelo).

La presenza di un processore con più core permette quindi agli sviluppatori di realizzare applicazioni con la possibilità di parallelizzare le operazioni, ma per farlo è necessario utilizzare i thread. Ciò implica maggiore difficoltà nello scrivere il codice (anche per elaborazioni semplici), ma soprattutto per effettuarne il debug: una sequenza di istruzioni semplici e chiare potrebbe diventare di una complessità alquanto assurda.

Ma l’introduzione di LINQ già nella versione 3.0 di C# e di PLINQ (Parallel LINQ) nella versione 4.0 aggiunge dichiaratività al linguaggio, il che permette di scrivere codice che specifica il lavoro da eseguire, senza però specificare il come (basta pensare al linguaggio SQL, che permette di interrogare un DMBS, ma poi è il DBMS a stabilire come effettuare la ricerca, a organizzare gli indici, ecc.).

Con PLINQ non è più necessario utilizzare i thread in maniera esplicita, piuttosto si utilizzano i cosiddetti task, che permettono di scrivere anche codice più pulito. Ogni task rappresenta un’unità di lavoro che può essere assegnato ad un thread: per esempio, nel caso di una macchina con due processori aventi due core ciascuno potremmo avere quattro thread totali e più task che, tramite opportune politiche di scheduling vengono assegnati di volta in volta ad un thread. E’ anche possibile distinguere quali thread debbano essere eseguiti in locale e quali come servizi esterni: con quattro core, per esempio, si può impostare un numero maggiore di thread, specificando che soltanto quattro debbano essere eseguiti sui core locali (override del grado di parallelismo).

Altre novità non di poco conto riguardano il miglioramento degli strumenti per effettuare debug parallelo, l’introduzione della tipizzazione dinamica e il miglioramento dell’interoperabilità COM.

Ecco alcuni link di approfondiscono...
- Parallel LINQ
IronPython e il DLR (Dynamic Language Runtime)
Dynamic Language Runtime
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 18 apr 2010 22:57

Quarta sessione – WPF 4.0, il nuovo modo di concepire il Presentation Layer

Una delle difficoltà nello sviluppo delle applicazioni è costituito dall’interfaccia grafica che per un verso deve permettere all’utente di controllare la relativa applicazione, per un altro deve essere il più possibile separata dalla logica applicativa, onde evitare problemi di manutenzione. In altri termini, eventuali modifiche all’interfaccia grafica dovrebbero riflettersi unicamente nel codice che si occupa di disegnarla, senza modificare il comportamento dell’applicazione stessa. Per risolvere questo problema, in ingegneria del software si parla del pattern Model-View-Controller (MVC) e si invitano gli sviluppatori a separare, prima concettualmente e dopo con la scrittura del codice, i tre componenti principali di un’applicazione.

Windows Presentation Foundation (WPF) 4.0 supporta nativamente i pattern MVC e MVVM: usando il linguaggio XAML è possibile descrivere l’interfaccia grafica delle applicazioni in maniera dichiarativa. Ciò permette una migliore collaborazione tra designer e sviluppatore, cambiando il modo in cui si relazionano: il primo può utilizzare strumenti come Expression Blend per realizzare l’interfaccia grafica, mentre il secondo si occuperà poi di integrare dentro l’applicazione i file XAML prodotti. Inoltre il binding è stato potenziato: è possibile scrivere file XAML anche tramite drag-and-drop, evitando di dover scrivere manualmente codice di markup.

La nuova versione di WPF permette anche di sfruttare meglio l’hardware e le DirectX, di migliorare le prestazioni del rendering degli oggetti grafici utilizzando la classe BitmapCache (una sorta di cache temporanea per conservare le istantanee degli oggetti), e inoltre si integra perfettamente con Windows 7.

Infine, l’interfaccia grafica di Visual Studio 2010 è stata realizzata proprio con WPF 4.0, quindi ciò dovrebbe rappresentare una garanzia.

Ecco alcuni link di approfondimento...
- What's New in WPF Version 4
Cenni preliminari su XAM
Snoop: per visualizzare gli alberi XAML
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
Michele Nasi
Direttore IlSoftware.it
Direttore IlSoftware.it
Messaggi: 10059
Iscritto il: 26 ago 2000 15:35
Località: Arezzo
Contatta:

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda Michele Nasi » 19 apr 2010 10:55

Bravo Enzo, ottima discussione! Complimenti. La evidenzieremo di certo sia sul forum che in home page. :D

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 19 apr 2010 14:52

Bravo Enzo, ottima discussione! Complimenti.
Grazie :)
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy

Avatar utente
Chulo
Active member
Active member
Messaggi: 3844
Iscritto il: 02 ott 2006 18:57
Località: Trieste

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda Chulo » 20 apr 2010 01:59

Complimenti enzom! :D
Nel frattempo il topic è stato naturalmente inserito nella lista PARTECIsoftware :D .
Il mattino ha l'oro in bocca!
Màs ayuda la mañana, que prima y hermana!

Avatar utente
jacopo
Active member
Active member
Messaggi: 17307
Iscritto il: 29 dic 2003 15:35
Località: Montegrotto Terme (Padova)
Contatta:

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda jacopo » 20 apr 2010 09:04

..ed in attesa di essere "bollato" a dovere. :D
IlSoftware.it Forum: Regolamento - Linee guida - Cerca
About me: @facebook, @google+

Immagine

Avatar utente
enzom83
Active member
Active member
Messaggi: 2739
Iscritto il: 05 giu 2005 20:24

Re: Lancio Visual Studio 2010 @ Community Tour, Catania

Messaggioda enzom83 » 21 apr 2010 22:07

A breve, nella pagina dedicata all'evento, dovrebbero essere disponibili le slide e gli esempi mostrati durante la conferenza :)
Immagine Immagine
Accedere a tutte le sessioni di un CD - Installazione automatizzata di Office - Plugin multimediali per i browser - .NET Framework: pacchetti da installare su Windows XP - Risorse C++ - OMNeT++ - Nerooogle
"Gli uomini passano, le idee restano, restano le loro tensioni morali, e continueranno a camminare sulle gambe di altri uomini." (Giovanni Falcone)
"Se ci sono due o più modi di fare una cosa, e uno di questi modi può condurre a una catastrofe, allora qualcuno lo farà." (Edward A. Murphy Jr.) Legge di Murphy