Introduzione a Cos'è .NET Core

Il seguente articolo Cos'è .Net Core fornisce una descrizione dettagliata dell'architettura del core .Net. .Net Core è una piattaforma di sviluppo open source progettata e gestita da Microsoft e dalla comunità .Net. .Net Core è stato progettato tenendo presente le varie esigenze e finalità, concentrandosi sullo sviluppo Web, sullo sviluppo di Windows Phone e sullo sviluppo di app di Windows Store. .Net Core è un sottoinsieme del .Net Framework. In termini più precisi, una versione biforcuta di .Net Framework. Ora ti starai chiedendo quale fosse la necessità di trovare .Net Core quando si tratta solo di un sottoinsieme di .Net Framework. .Net core ha alcune modifiche fondamentali al modo in cui funziona. Innanzitutto, è più modulare. Questo ti aiuta a creare applicazioni con solo le librerie di cui hai bisogno e senza bagaglio extra. In secondo luogo, è veramente multipiattaforma. Questo lo rende la scelta della piattaforma di sviluppo del futuro.

.Net Core Architecture

  • Con qualsiasi piattaforma o framework di sviluppo, la cosa fondamentale e più importante è la sua architettura. L'architettura definisce il modo in cui gli sviluppatori e le librerie interagiranno con la piattaforma. Prima di saperne di più su .Net Core, è importante vedere cosa c'è al centro di .Net Core.

  • Questo è dove .Net Core si trova nello stack .Net. I vari frame .Net e le librerie, fino ad oggi, utilizzano le librerie di runtime, i compilatori e i pacchetti NuGet comuni. Costruiscono le proprie librerie specifiche della piattaforma in cima a questi pacchetti comuni. Le librerie comuni contengono le definizioni per elementi primitivi come i tipi di dati. Questo difficilmente cambia ed è quindi la base per tutti i framework di stack .Net.

Terminologie chiave nell'architettura di .Net Core

Cerchiamo di capire le terminologie chiave nell'architettura di .Net Core.

Core CLR

Core CLR è Common Language Runtime ottimizzato per distribuzioni multipiattaforma e basate su cloud. Questo, insieme a .Net Native Runtime, costituisce la base di tutte le piattaforme basate su .Net.

.Net Native Runtime

Chiamato anche Managed Runtime, .Net Native Runtime contiene le librerie native di Windows. Questo contiene anche la compilazione di Ahead Of Time (AOT) invece della precedente compilazione di Just In Time (JIT). Ciò migliora le prestazioni delle applicazioni.

.Net Native Runtime e Core CLR sono i livelli che contengono implementazioni di tipi primitivi e raccolte generiche in .Net. Questi livelli difficilmente cambiano e sono costanti nelle varie pile .Net. Le varie API di stack .Net, quindi, condividono le stesse implementazioni.

BCL unificato

La libreria di classi di base unificata, nota anche come CoreFX, è composta dalle classi di base e fondamentali che formano il nucleo della piattaforma .Net Core.

Modelli di app

In cima al BCL, siedono i vari modelli di app che gli sviluppatori sfruttano per sviluppare applicazioni specifiche della piattaforma. Attualmente .Net Core ha il modello ASP .Net per lo sviluppo web e il modello Windows Store per lo sviluppo di applicazioni Windows.

Il potere di NuGet

  • La piattaforma .Net Core, in netto contrasto con il suo predecessore .Net Framework, viene fornita come un set di pacchetti NuGet. Pertanto, .Net Core contribuisce essenzialmente al già fiorente ecosistema di pacchetti NuGet. Si noti che .Net Core non viene fornito come un singolo pacchetto NuGet. Invece, è stato preso in considerazione, modularizzato e spedito come diversi pacchetti NuGet.
  • Inoltre, Microsoft ha eliminato la confusione relativa alla nomenclatura dei pacchetti NuGet e dei relativi assiemi. In .Net Core, i pacchetti NuGet hanno lo stesso nome dell'assembly. Ad esempio, le raccolte immutabili ora vengono spedite con il nome di System.Collections.Immutable anziché Microsoft.BCL.Immutable. Ciò ha notevolmente semplificato il problema di determinare quale pacchetto NuGet contiene quale assembly. Ehi, adesso si chiamano allo stesso modo.

Quindi, perché Microsoft ha deciso di spedire .Net Core come set di pacchetti NuGet? Bene, ecco i motivi:

  • NuGet consente di fornire .Net Core in modo agile. Qualsiasi aggiornamento a qualsiasi funzione .Net Core può essere semplicemente consumato aggiornando il pacchetto NuGet.
  • Questo ha generalizzato le dipendenze nelle tue applicazioni. Ora non ci sono riferimenti di assembly, librerie e riferimenti NuGet di terze parti. Sono tutti NuGet ora. Pertanto, se un pacchetto NuGet di terze parti richiede una versione successiva della libreria System.Collections, verrà richiesto di aggiornare il sistema corrispondente. Raccolte il pacchetto NuGet e il gioco è fatto. Diventa davvero molto semplice.
  • L'approccio modulare di .Net Core garantisce che ogni applicazione distribuisca solo i pacchetti di cui ha bisogno. Nessun bagaglio extra.

In che modo .Net Core semplifica il lavoro?

.Net Core è una piattaforma in cima alla quale ci sono framework come ASP .Net Core e Universal Windows Platform che sfruttano ed estendono le funzionalità di .Net Core. Esaminiamo le funzionalità di .Net Core che semplificano la vita degli sviluppatori.

Cross-Platform e architettura

.Net Core segue il principio di build-once-run-ovunque. Pertanto, è multipiattaforma. Supporta piattaforme Windows, MacOS e Linux. Puoi creare la tua applicazione su qualsiasi piattaforma ed eseguirla su un'altra. Inoltre, un'applicazione integrata in .Net Core è coerente nel suo comportamento in qualsiasi architettura come x64, x86 o ARM.

Strumenti da riga di comando

.Net Core viene fornito con strumenti da riga di comando facili da usare per coloro che amano programmare in bianco e nero. Questi strumenti sono utili per lo sviluppo locale e per l'integrazione continua del codice nei repository.

CI / CD flessibile

.Net Core supporta l'integrazione continua e l'implementazione continua. Pertanto, devi solo preoccuparti della logica del codice. Il resto è tutto gestito dalla piattaforma .Net Core.

Lingue e IDE

Applicazioni e librerie .Net Core e possono essere codificate in C #, F # e Visual Basic. Questo è ulteriormente supportato dall'integrazione con i tuoi IDE preferiti come Visual Studio, VS Code, Sublime, Vim, ecc.

Compatibilità e supporto

Compatibile con .Net Framework, .Net Standard, API mono e Xamarin. Essendo open-source, ha un grande supporto da parte della community e di Microsoft.

API

.Net Core espone le API per molti scenari generici e ad alte prestazioni. Da un lato, ci sono API per tipi di dati primitivi (bool, int, ecc.) E raccolte (elenchi, dizionari ecc.). D'altra parte, ci sono API per tipi ad alte prestazioni come Vector e Pipeline.

Competenze richieste

.Net Core è una piattaforma di sviluppo di applicazioni. Esistono framework basati su .Net Core che gli sviluppatori possono sfruttare per creare applicazioni al di sopra di essi. Per apprendere lo sviluppo in .Net Core, è necessaria una conoscenza di base dello sviluppo ASP .Net, dell'architettura MVC e di come funzionano i pacchetti NuGet e i riferimenti di assembly in ASP .Net. Ciò semplificherà notevolmente la curva di apprendimento. Inoltre, la conoscenza di C # è un must per sviluppare un'applicazione in .Net Core.

Per coloro che sono già sviluppatori in .Net Framework e desiderano migrare le loro applicazioni su .Net Core, si consiglia di tenere presente i seguenti punti:

  • .Net Core supporta l'architettura ASP .Net MVC. Tuttavia, se l'applicazione è basata su Web Form, .Net Core non supporta WebForms.
  • Se l'applicazione è basata sull'architettura ASP .Net MVC, l'unico vantaggio per spostarla sulla piattaforma .Net Core è la compatibilità incrociata. Se la compatibilità incrociata non cambia molto il gioco per la tua applicazione, ASP .Net MVC è altrettanto valido.
  • .Net Core si concentra principalmente sullo sviluppo Web e Windows Store. Pertanto, attualmente, non esiste supporto per le applicazioni desktop.
  • Le app della console sono le più avvantaggiate dalla migrazione .Net Core. Ciò li renderebbe utilizzabili su più sistemi operativi.
  • Silverlight integrato nelle applicazioni Web dovrebbe essere migrato in HTML prima di prendere in considerazione .Net Core. Il supporto Silverlight è stato sospeso da Microsoft.

Come .Net Core aiuta nella crescita della carriera

.Net Core è veramente multipiattaforma. Questa è la piattaforma futura di Microsoft per ambienti di sviluppo integrati per i dispositivi del futuro. .Net Core si concentra su Web, Windows Store e dispositivi touch-based.

Apprendimento .Net Core ti aiuterà notevolmente nella realizzazione di applicazioni in grado di soddisfare le esigenze future di dispositivi e piattaforme. I principi di progettazione di .Net Core assicurano che tu segua le migliori pratiche di sviluppo. Vi è un bisogno in rapida crescita di un'esperienza applicativa più solida e interattiva, sia essa basata sul web o mobile. Questo, a sua volta, determina la necessità di una piattaforma migliorata, più semplice e adatta agli sviluppatori. Sono finiti quei giorni in cui un'applicazione sviluppata in una piattaforma non funzionava su un'altra piattaforma. La richiesta odierna è quella di sviluppare applicazioni che vengono create una volta ed eseguite ovunque. .Net Core si basa su questa ideologia e l'apprendimento ti aiuterebbe a creare applicazioni migliori per i dispositivi moderni.

Conclusione - Che cos'è .NET Core

La piattaforma .NET Core non è come il suo predecessore .Net Framework. È un nuovo stack .NET ottimizzato per lo sviluppo open source e la consegna agile tramite NuGet. Sebbene .NET Framework fosse progettato per essere multipiattaforma, era in gran parte una piattaforma solo per Windows. .NET Core è veramente multipiattaforma. Microsoft sta cercando di essere pronto per il futuro e .Net Core è un passo molto fruttuoso verso questo.

Si consiglia ai lettori interessati di approfondire maggiormente il .Net Core leggendo i blog di Microsoft Developers. Per coloro che desiderano iniziare a creare app in .Net Core, il modo migliore è iniziare con un progetto shell in .Net Core in Visual Studio.

Articoli consigliati

Questa è una guida a Cos'è .NET Core. Qui discutiamo di .NET Core Architecture, funzionante, competenze richieste insieme a Carrer Growth. Puoi anche consultare i nostri altri articoli suggeriti:

  1. ASP.NET Framework
  2. Che cos'è ASP.NET?
  3. Ciclo di vita della pagina ASP.NET
  4. Carriera in ASP.NET
  5. Domande sull'intervista a Xamarin | Top 18

Categoria: