4. L’evoluzione della specie

Microsoft è da sempre prim'attore nel mondo dello sviluppo e in questo articolo scopriremo i 40anni di linguaggi di sviluppo made in Redmond

Avatar di Tom's Hardware

a cura di Tom's Hardware

L'evoluzione della specie

Nel 2007 (marzo) arriva il dotNet Framework 3.0, una sorta di "estensione" al Framework 2.0 che introduce una serie di nuovi layer tecnologici:

  • Windows CardSpace, per la gestione dell'identità degli utenti;
  • Windows Communication Foundation (WCF), per la realizzazione di Web Services e Servizi in generale;
  • Windows Presentation Foundation (WPF), per la creazione di interfacce utente evolute;
  • Windows Workflow Foundation (WF), per la gestione di attività facilmente descrivibili attraverso dei workflow sequenziali o delle macchine a stati finiti.

image50
dotNet Framework 3.0

Il nuovo Visual Studio 2008 (codename Orcas, versione 9.0) viene invece rilasciato a novembre, contemporaneamente al rilascio dell'upgrade 3.5 del dotNet Framework, senza stravolgere quanto introdotto nella precedente release, riducendo il numero di edizioni e abbandonando definitivamente l'ecosistema J#, anche nell'edizione express.

image51
Visual Studio 2008 Professional Edition Package

Da segnalare che con VS 2008 arriva il primo compilatore multi-thread, che consente la compilazione contemporanea di più progetti contenuti in una solution.

L'aggiornamento del framework estende i quattro layer introdotti nella versione 3.0, in particolare avvicinando tra loro WF e WCF. È infatti ora possibile creare un Workflow Service in modo da ottenere un ibrido che sia invocabile come un web service ma si comporti come un workflow.

I linguaggi (C# 3.5, VB 2008/9 e VC 2008/9) completano il supporto a LINQ (Language Integrated Query, introdotto con la versione 3.0 del framework), consentendo l'interrogazione di una collezione di dati proveniente da DB, Collection, XML e DataSet utilizzando sempre la stessa sintassi SQL Like. ASP.NET entra ufficialmente nel modo AJAX, mentre viene aggiunto il supporto a nuovi protocolli Web per la creazione di servizi WCF, inclusi AJAX, JSON, REST, POX, RSS, ATOM e alcuni nuovi standard WS-*.

image52
Visual C# 2008

Se Visual Studio 2008 ottimizza ed estende quanto nato parallelamente sotto forma di add-on ed upgrade, il mondo Expression si evolve con Expression Studio 2.0, ormai una vera e propria suite per i designer di applicazioni Web e Desktop, completamente rinnovata nella UI e con un IDE essenzialmente basato su Visual Studio 2008 Standard Edition. Le versioni di tutti gli applicativi vengono allineate alla 2.0 e Blend abbraccia l'intero mondo WPF (desktop e web/Silverlight), rendendo importabili le interfacce create all'interno di VS2008. 

image53
Expression Blend 2.0

Solo Expression Web non adotta in pieno la nuova UI, ma sceglie un passaggio intermedio, probabilmente per non spiazzare troppo gli utenti preferendo ancora un ambiente basato su MS Office. Cosa fondamentale è il supporto al linguaggio PHP, che proietta l'applicativo nel settore delle soluzioni avanzate per lo sviluppo web, anche non Microsoft - based.

image54
Expression Web 2.0

Il passo successivo è il lancio di SQL Server 2008 che migliora sostanzialmente quanto introdotto nella versione precedente, arricchendo il proprio RDMBS con la ricerca di tipo Full Text ed un nuovo Reporting Services. Da segnalare inoltre che la versione 2008 (e la successiva R2 nel 2010) consente di minimizzare le risorse utilizzate dalle query e ottimizzare l'utilizzo di spazio su disco grazie alle funzionalità di compressione dei dati.

Prima di SQL Server 2008, Microsoft annuncia inoltre l'abbandono dello sviluppo di Visual Fox Pro.

Il 2009 si apre all'insegna delle Rich Internet Application (RIA) con Silverlight 3, che ora supporta l'audio/video HD (codec AAC per l'audio e H.264 per il video) e una risoluzione fino a 720p. Presenti, inoltre, effetti 3D e Pixel Shader assieme a nuove API ed una migliore stabilità e velocità generale del plug-in.

Conseguentemente al rilascio della nuova versione di Silverlight, arriva anche Expression Studio 3, che offre una serie di novità funzionali per la progettazione e lo sviluppo dell'interfaccia utente Web e Desktop basata su WPF, oltre che X/HTML, ASP.NET e PHP. Completamente nuova la funzionalità di SuperPreview che permette il testing di visualizzazione delle pagine prodotte su browser diversi.

Nel frattempo, Microsoft è al lavoro alla nuova major release del .Net Framewok e al nuovo Visual Studio (codename Hawaii), rilasciati entrambi il 22 marzo 2010. VS 2010 si presenta con un IDE completamente rinnovato, riscritto completamente in WPF allo scopo di creare un'esperienza d'uso di livello nettamente superiore rispetto alle versioni precedenti. 

image55
Visual Studio 2010

La nuova UI è organizzata per ottimizzare l'intero processo di sviluppo delle applicazioni, diventando decisamente più dinamica e funzionale, a cominciare dalla nuova finestra di dialogo New Project che offre migliori funzionalità di Ricerca, anteprima di Template Online e una Navigazione più intuitiva. Con il nuovo IDE arriva anche il supporto al multi-monitor, che consente agli sviluppatori di utilizzare più display per estendere l'ambiente di lavoro in modo del tutto naturale. 

image56
VS 2010 New Project

La nuova versione del Framework, a differenza delle versioni 3.x, si presenta con compilatori rinnovati ed ottimizzati. Ovviamente anche i linguaggi fanno un "salto" in avanti, con C# 4.0, Visual Basic 2010 (VB 10.0), Visual C++ 2010 (Visual C++ 10.0).

C# 4.0 permette, finalmente, di usare gli optional parameters, mentre VB 10 supporta il collection initializer. Fa la sua comparsa anche il nuovo Dynamic Language Runtime (DLR), che si aggiunge al CLR e, tramite il nuovo namespace System.Dynamic, offre un set di servizi per linguaggi dinamici (IronPython, IronRuby, ecc.). Finalmente i generic fanno propri i concetti di Covarianza e Controvarianza, mentre è decisivamente migliorato il supporto a javascript con l'integrazione della funzionalità per il completamento automatico della sintassi. Con questa nuova versione, Microsoft decide, inoltre, che tutte le nuove feauture dovranno parallelamente essere introdotte sia in C# che in VB.

Discorso a parte merita il nuovissimo F# 2.0, uscito definitivamente dalla lunga gestazione nei laboratori Microsoft Research durata quasi 5 anni (2005). 

image57
Codice F#

F# è spesso definito come l'implementazione .NET del linguaggio OCaml e quindi appartiene alla famiglia dei linguaggi di programmazione ML (sviluppato dall'equipe di Robin Milner presso l'Università di Edimburgo alla fine degli anni '70) che mixano le caratteristiche dei linguaggi funzionali (LISP, LOGO, Haskell) con quelle dei linguaggi imperativi (Pascal, Basic), mantenendo elementi di programmazione orientata agli oggetti. OCaml si caratterizza per performance ancora insuperate nel parsing e nell'elaborazione ricorsiva di collezioni di dati, il che gli attribuisce un ruolo di leadership nel settore bioinformatico e statistico.

Con F#, Microsoft prende le migliori caratteristiche di OCaml e Standard ML e le fonde in un unico linguaggio funzionale/imperativo basato sul framework .NET, ottenendo una soluzione elegante e potente, che offre forti vantaggi nell'elaborazione di algoritmi complessi, consentendo, grazie ad un sottoinsieme delle librerie standard OCaml, di compilare il codice anche con altri compilatori OCaml – compliant.

Tornando al framework, vengono migliorati tutti i layer specifici: da ASP.NET a Windows Communication Foundation (WCF) e Workflow Foundation (WF), praticamente fusi tra loro al fine di creare tutta una nuova serie di servizi configurabili in maniera decisamente più semplice.

L'obiettivo del Framework 4 è chiaramente quello di migliorare l'intero ecosistema, rendendo più semplice e soddisfacente il processo di sviluppo e consentendo, agli sviluppatori, di creare rapidamente applicazioni che garantiscano una user experience di prim'ordine. Con questa mission, il big di Redmond arricchisce le edizioni di Visual Studio con Visual Studio LightSwitch, presentato in beta il 23 agosto 2010 e rilasciato in versione definitiva il 26 luglio del 2011 come VS LightSwitch 2011. Si tratta di una speciale edizione pensata per lo sviluppo di applicazioni Line Of Business, più comunemente chiamate Gestionali.

image58
VS LightSwitch

LightSwitch è un ambiente "rapido" che utilizza gli ultimi ritrovati, sia in fatto di tecnologie (Silverlight 4, WCF RIA Services, SQL Server Express, SharePoint 2010, SQL Azure) che di pattern design (MVVM, N-Tier, ecc.).

Si tratta di una soluzione interessante, pensata per chi vuole realizzare velocemente un sistema per la gestione dei dati senza l'impiego di troppe risorse, risultando, inoltre, utile anche per una rapida fase prototipale.

image59
Un tipo esempio di applicazione LightSwitch

Con il nuovo framework non poteva certo mancare Silverlight 4, con un supporto esteso alle applicazioni out-of-browser e alla gestione delle periferiche locali (come ad esempio le webcam e stampanti). Arriva inoltre la possibilità di gestire notifiche integrate con il desktop, il supporto al drag-and-drop e ai menù contestuali, una serie di nuovi effetti di animazione e di nuovi Controlli. Questa nuova versione è ora in grado di girare su più tipologie di device, grazie alla collaborazione di Microsoft con Intel e Broadcom.

L'ecosistema si scompleta a giugno del 2010 con Expression Studio 4, che si integra perfettamente con Visual Studio 2010, oltre a rendere più omogena l'intera suite ed abbracciare le nuove tendenze del web.

Con l'ecosistema 2010, nasce il brand Microsoft Visual Studio ALM, che riunisce sotto un unico cappello l'intero pacchetto di soluzioni per lo sviluppo targate Microsoft, sostituendo il precedente Microsoft Visual Studio Team System, introdotto con Visual Studio 2005. In particolare, Team Foundation Server 2010, lo strumento che a partire dalla versione 2005 ha soppiantato SourceSafe, comincia ad acquisire una propria caratterizzazione indipendente dall'IDE, tanto da essere utilizzabile anche da Eclipse per i progetti in Java.