Anche se è ancora in versione Beta 2, ormai i giochi sono quasi fatti e si possono vedere un po’ di numeri sul contenuto del Framework .NET 4.0.
Per cominciare, il Team di sviluppo ha fatto un gran lavoro di “pulizia” e ha lavorato molto sull’ottimizzazione dei pacchetti di installazione e sulla compressione. I risultati sono i seguenti:
- il pacchetto di installazione del Framework .NET “full”, sia per x64 sia per x86, “pesa” ora solamente 54 Mb contro i circa 250 della versione 3.5 SP1
- il pacchetto della sola versione x86 si è ridotto a circa 36 Mb
- la versione “client profile” ora “pesa” ancora meno: solo circa 30 Mb.
(Fonte: una discussione con Scott Guthrie in persona http://groups.google.com/group/wpf-disciples/browse_thread/thread/12c6e01aa83987ec/6a2cc9dc195bd2ac?lnk=raot&pli=1)
Se volete analizzare le varie versioni del Framework .NET o addirittura confrontarle tra loro, potete utilizzare una utility di nome NDepend (http://www.ndepend.com/). Ecco qui un paio di articoli sull’uso di questo software:
http://codebetter.com/blogs/patricksmacchia/archive/2009/06/01/analyze-and-explore-the-evolution-of-net-framework-by-yourself.aspx
http://codebetter.com/blogs/patricksmacchia/archive/2009/08/04/reporting-code-diff.aspx
Interessante il fatto che NDepend permette di interrogare i Framework .NET con una sintassi SQL-like. Per esempio:
- Quali metodi pubblici hanno più di 30 linee di codice?
SELECT METHODS WHERE NbLinesOfCode > 30 AND IsPublic
- Quali classi implementano System.IDisposable?
SELECT TYPES WHERE IsClass AND Implements "System.IDisposable"
- Quali metodi hanno subito un refactoring recentemente e non sono completamente coperti dal test?
SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 100
I risultati dei test, precedenti al Framework .NET 4.0, sono pubblicati in questa pagina:
http://blogs.msdn.com/brada/archive/2008/03/17/number-of-types-in-the-net-framework.aspx
L’analisi del Framework .NET 4.0 SP1 è pubblicata in questa pagina:
http://codebetter.com/blogs/patricksmacchia/archive/2009/05/21/a-quick-analyze-of-the-net-fx-v4-0-beta1.aspx
mentre le differenze tra la SP1 e la SP2 dello stesso Framework .NET sono qui:
http://codebetter.com/blogs/patricksmacchia/archive/2009/10/21/interesting-findings-in-the-diff-between-net-fx-v4-beta1-and-beta2.aspx
Un lavoro niente male, no?