Cloud First, Mobile First. Questo è il mantra che Satya Nadella ha inculcato nel cambio di pelle e di passo di Microsoft, questo mantra per noi developer si è materializzato attraverso .Net Core, framework cross-platform  back – end, il sempre verde .Net Framework e l’acquisizione di Xamarin per le app mobile cross-platform, tutto molto bello se non fosse per il fatto che ognuno di questi 3 Framework è assolutamente indipendente e non interscambili. Non sempre con le librerie scritte in .Net Framework è possibile fare il porting indolore verse un’altro framework.

dotnet-today

Per aumentare la produttività ed il riutilizzo del codice Microsoft ha iniziato un progetto molto ambizioso: .Net Standard, un framework class library universale con l’obbiettivo di unificare le Base Class Library, le Core Library e Mono Class Library introducendo un punto di astrazione che solo in fase di compilazione per ogni specifica piattaforma di destinazione viene aggiunta la specifica implementazione, naturalmente legata alla piattaforma di compilazione.

Diciamo subito a scanso di equivoci che le .Net Standand saranno un set ristretto delle api disponibili nel .Net Framework in quanto non tutte le Api possono essere convertite in cross platform in quanto fortemente accoppiate con i Sistemi Operativi di casa Redmond.

dotnet-tomorrow

Questo è il sogno di noi “dev” poter riutilizzare su qualsiasi piattaforma la maggior parte del codice personalizzando solo la parte di presentazione.

Diamo adesso un occhiata sotto al cofano per vedere come questa cosa sia possibile e come Microsoft ha affrontato e risolto i problemi di compatibilità tra varie piattaforme e device di destinazione.

netstandard-refs-tomorrow (1)

La .Net Standard propone una serie di Api che in fase di compilazione a seconda della device e piattaforma selezionata carica l’implementazione opportuna.

Chiaramente questo strato di astrazione porta con se inevitabilmente dei breaking change, chiaramente il .Net Framework avrà le ricadute maggiori in merito ai breaking change, cosa del tutto comprensibile a fronte dell’obbiettivo che il progetto .Net Standard si propone, quindi tutte le Api specifiche dei sistemi operativi di casa Redmond, come ad esempio Microsoft.Win32.Registry, non saranno supportate.

netstandard-apis (1)

Per maggiori informazioni sullo sta dell’arte del progetto vi rimando alla documentazione ufficiale al sito Documentazione .Net Standard  e al repository   GitHub - .Net Standard.

Autore:


blog comments powered by Disqus

Calendar

<<  September 2017  >>
MonTueWedThuFriSatSun
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

View posts in large calendar

Category list

Tag cloud