C# 8 e Visual Studio 2019
eBook - ePub

C# 8 e Visual Studio 2019

Guida completa per lo sviluppatore

Daniele Bochicchio, Cristian Civera, Alessio Leoncini, Stefano Mostarda, Matteo Tumiati

Share book
  1. 488 pages
  2. Italian
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

C# 8 e Visual Studio 2019

Guida completa per lo sviluppatore

Daniele Bochicchio, Cristian Civera, Alessio Leoncini, Stefano Mostarda, Matteo Tumiati

Book details
Book preview
Table of contents
Citations

About This Book

Aggiornata a.NET Framework 4.8, .NET Core 3 e Visual Studio 2019, questa guida completa a C# 8 è l'espressione corale di un gruppo di sviluppatori che, sin dalla sua prima versione, utilizza questo linguaggio per costruire applicazioni di ogni tipo, da quelle dedicate al web fino a complessi sistemi enterprise. Il libro, che include le ultime novità introdotte dalle ultime versioni di.NET, tratta le basi del linguaggio fino ai concetti più avanzati, spiega l'uso dell'OOP in C#, per poi passare alle tecnologie più attuali come LINQ, Entity Framework, WPF, Windows 10, ASP.NET e servizi distribuiti. È il testo ideale sia per chi inizia a programmare con C# sia per chi usa da tempo questo linguaggio e vuole scoprire tutte le novità di C# 8. Punti di forza: I componenti di.NET Core e.NET Framework - C# 8: dalle basi alle applicazioni avanzate - OOP: la programmazione orientata agli oggetti - Collection e Generics, Delegate ed Eventi - Eseguire query nel codice con LINQ - ADO.NET ed Entity Framework, Entity Framework Core - XML e LINQ to XML - Applicazioni ASP.NET con C# - Applicazioni per Windows 10, XAML, WPF e WinForms.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is C# 8 e Visual Studio 2019 an online PDF/ePUB?
Yes, you can access C# 8 e Visual Studio 2019 by Daniele Bochicchio, Cristian Civera, Alessio Leoncini, Stefano Mostarda, Matteo Tumiati in PDF and/or ePUB format, as well as other popular books in Computer Science & Microsoft Programming. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Hoepli
Year
2019
ISBN
9788820389680
1
Introduzione a .NET
Dalla prima versione del .NET Framework, rilasciata nel 2002, le tecnologie hanno subito un’evoluzione che le ha portate a includere funzionalità sempre più innovative e a introdurre costanti miglioramenti a quanto già presente fin dall’inizio.
C#, come linguaggio, nasce insieme al .NET Framework, con l’obiettivo ambizioso di dare la possibilità a una nuova generazione di sviluppatori di sfruttare un linguaggio nuovo, pensato per le applicazioni moderne e che non avesse vincoli con il passato.
Questa evoluzione, nel corso degli anni, è stata caratterizzata dal rilascio di diverse versioni del .NET Framework, a cui si sono aggiunti miglioramenti anche dal punto di vista del linguaggio. La release 2.0, rilasciata nel novembre del 2005 insieme a Visual Studio 2005, ha senz’altro rappresentato un evento importante e un vero punto di svolta, introducendo novità significative e numerosi cambiamenti alle funzionalità già esistenti nelle versioni 1.0 e 1.1. Successivamente, la release 3.0, uscita tra il 2006 e il 2007 insieme a Windows Vista, e la versione 3.5, rilasciata ufficialmente nel corso del 2008 con Visual Studio 2008, hanno rappresentato un ulteriore passo in avanti, introducendo a loro volta nuove tecnologie finalizzate a migliorare la produttività degli sviluppatori nella realizzazione di applicazioni basate su servizi e ad alto impatto estetico. L’obiettivo primario della versione 4.5 del .NET Framework e del relativo Visual Studio 2012 è stato quello di continuare la tradizione di .NET Framework 4 e Visual Studio 2010, ovvero quella di semplificare e potenziare, allo stesso tempo, lo sviluppo di applicazioni di tutti i tipi. Visual Studio 2013 ha continuato a migliorare le funzionalità offerte dalla versione 2012, senza l’introduzione di una versione major del framework.
In questi anni il linguaggio ha subito numerosi cambiamenti, per lo più legati alle novità introdotte nella sintassi, per supportare al meglio la comparsa nelle versioni più recenti di nuove tecnologie come LINQ, AJAX, WCF o il cloud computing. Visual Studio 2015 ha continuato questa tradizione, con l’introduzione del supporto a nuovi linguaggi, nuovi paradigmi e un nuovo approccio alla distribuzione del .NET Framework.
Visual Studio 2017, invece, ha segnato un nuovo approccio al rilascio di Visual Studio, con update più frequenti e la comparsa di .NET Core, che ha rivoluzionato (e continuerà a farlo) il modo di ragionare intorno a .NET.
Oggi siamo arrivati a Visual Studio 2019, che continua sulle innovazioni introdotte da Visual Studio 2017.
Questo libro è focalizzato su tutto quanto C#, come linguaggio, consente di fare sfruttando .NET. Nel corso dei prossimi capitoli impareremo la sintassi di base e costruiremo applicazioni di tutti i tipi. Prima di partire, però, è necessario analizzare quello che .NET è in grado di offrirci.
Cos’è .NET
In principio C# è stato sempre legato alla piattaforma .NET Framework: è sempre stato importante conoscerne i dettagli di funzionamento, per poter sfruttare il linguaggio.
Da qualche anno a questa parte, però, non si parla più di .NET Framework, ma genericamente di .NET e il motivo è che, a fianco a .NET Framework, è stato introdotto un nuovo framework, chiamato .NET Core. Si tratta di una piattaforma open source, di un reboot totale della piattaforma di sviluppo, pensata per il futuro. .NET Framework risale ai primi anni 2000 e il mercato dello sviluppo era decisamente differente all’epoca: la maggioranza degli sviluppatori, infatti, sviluppava applicazioni native per Windows su Windows. Oggi la bilancia è sicuramente spostata da un’altra parte: Linux è un sistema operativo sempre più apprezzato in ambito server e il cloud (da non confondersi con il cloud pubblico di Amazon AWS o Microsoft Azure) è uno dei fattori principali di sviluppo.
La release più recente del .NET Framework, a cui questo libro fa riferimento, è la versione 4.8, che include C# 8, mentre la release più recente di .NET Core è la 3.
Essendo il linguaggio attraverso il quale sviluppare applicazioni, C# consente di fare tutto quello che le due versioni di .NET mettono a disposizione.
Grazie al fatto che le specifiche di .NET sono standard ISO, si possono creare alternative al .NET Framework (come è successo con .NET Core o Xamarin), per cui oggi imparare a sfruttarne i vantaggi rappresenta un ottimo modo di investire il proprio tempo, anche in proiezione futura. Questo concetto è certamente valido anche per C#, le cui specifiche sono disponibili per implementazioni esterne alla piattaforma Windows. Per consentire a implementazioni differenti di .NET di referenziare le stesse librerie, Microsoft ha introdotto .NET Standard, su cui torneremo a breve in questo stesso capitolo.
.NET = .NET Framework + .NET Core
.NET Core e .NET Framework possiedono molti aspetti in comune: sono l’uno l’evoluzione in chiave moderna dell’altro. Il .NET Framework è confinato solo a Windows e contiene tutto ciò a cui siamo abituati tradizionalmente. .NET Core, invece, è una nuova versione, pensata soprattutto per il cloud e in grado di funzionare, oltre che su Windows, anche su Mac OSX e Linux. Rappresenta un radicale cambio di strategia da parte di Microsoft, che per la prima volta supporta nativamente il proprio Runtime su piattaforme differenti rispetto al classico Windows.
Microsoft era di fronte a una scelta: provare a rendere .NET Framework cross-platform, con il rischio di rompere la compatibilità, oppure provare a evolvere i concetti alla base di .NET in una maniera nuova. Alla fine, ha prevalso questo orientamento: così è nato .NET Core.
Cos’è .NET Core? È una nuova implementazione dei concetti alla base di .NET, così come lo è .NET Framework. Se avete sviluppato con Silverlight, Xamarin o Universal Windows Platform, sapete che questi toolkit sono implementazioni di .NET, e sono creati per risolvere problemi specifici, in ambiti in cui il .NET Framework sarebbe stato eccessivo. Sono, insomma, delle versioni di .NET pensate per risolvere problematiche specifiche, mentre .NET Framework è un framework più completo, frutto dell’insieme di alcuni toolkit (come ASP.NET, WPF, WinForms).
Volendo tirare le somme, .NET Core è solo l’ultima delle varianti di .NET, creata per consentire di sviluppare applicazioni cross-platform per il web, basandosi sui concetti tipici di .NET Framework e di ASP.NET, nella sua variante chiamata ASP.NET Core.
.NET Core è un reboot di .NET. .NET Framework, infatti, non consente di re-ingegnerizzare tutti i pezzi di cui è composto per garantirne una portabilità cross-platform. Piuttosto che creare versioni di .NET Framework incompatibili tra loro, Microsoft ha preferito differenziarle totalmente, a partire dal nome stesso.
.NET Core, prima della versione 3, è stato limitato al solo supporto di ASP.NET Core, con la possibilità di creare un numero decisamente inferiore di tipologie di applicazioni rispetto a .NET Framework.
Questa limitazione è stata voluta: .NET Core è pensato per le performance e per essere cross platform, in un’ottica cloud based, quindi principalmente web. Questo, però, a partire da .NET Core 3 è cambiato con l’aggiunta di una serie di estensioni (valide solo per Windows). Queste estensioni, chiamate Desktop Pack, aggiungono il supporto a WinForms, WPF e WinUI, che sono diventate open source. L’obiettivo di Microsoft è quello di consentire l’utilizzo di .NET Core a una platea sempre più ampia, senza rinunciare alle innovazioni, che vengono rilasciate all’interno di questa piattaforma. Poiché .NET Framework è installato su milioni di server e client, Microsoft non ha in programma di creare sconvolgimenti particolari nei prossimi anni. .NET Framework è una tecnologia stabile e matura e se il vostro interesse è avere applicazioni che non funzionano senza intervenire sulle stesse, allora siete già nella situazione giusta. Tuttavia, se preferite essere più moderni e utilizzare un framework che è rilasciato più velocemente, allora la risposta giusta è .NET Core. Nella creazione di nuove applicazioni, infatti, non c’è dubbio: .NET Core è sempre da preferire.
Se siete sviluppatori .NET di lungo corso, non dovete preoccuparvi: .NET Core e .NET Framework hanno moltissimo in comune. Tutto quello che presenteremo in questo libro, infatti, è pensato per entrambi: linguaggi, compilatori e una serie di funzionalità comuni. Grazie a questo approccio, diventa possibile sfruttare .NET Core conoscendo .NET Framework (e viceversa). Per questo motivo, nel corso del libro generalmente ci riferiremo a .NET e, eventualmente, sottolineeremo eventuali specificità di .NET Core o .NET Framework, anche in previsione di .NET 5, di cui parleremo tra un attimo in questo capitolo.
.NET Core 3 non è ancora stato rilasciato in versione definitiva nel momento in cui questo libro viene pubblicato ed è disponibile come preview. Il rilascio definitivo avverrà a settembre 2019. La maggior parte dei contenuti di questo libro sono comunque da considerarsi definitivi.
In realtà, .NET Core e .NET Framework consentono di sfruttare le stesse librerie, a patto che queste siano state create come librerie .NET Standard. Questo tipo di librerie è stato appositamente pensato per rendere compatibili tra loro librerie create per differenti runtime. ASP.NET Core, quindi, è di fatto implementato come una serie di librerie .NET Standard.
A meno che ...

Table of contents