Roslyn: Alla scoperta dei compilatori open source C# e VB - Alessandro Del Sole - Codemotion Milan...

14
Roslyn: Alla scoperta dei compilatori open source C# e VB Alessandro Del Sole MILAN 25-26 NOVEMBER 2016

Transcript of Roslyn: Alla scoperta dei compilatori open source C# e VB - Alessandro Del Sole - Codemotion Milan...

Page 1: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Roslyn: Alla scoperta dei compilatori open source C# e VB

Alessandro Del Sole

MILAN 25-26 NOVEMBER 2016

Page 2: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Chi sono?

• Alessandro Del Sole da Cremona • Senior .NET Developer• Microsoft MVP dal 2008, MCP e Specialist: C#• Autore di libri ed ebook tecnici (serie Unleashed di

SAMS/Pearson e Succinctly di Syncfusion)• Autore per MSDN Magazine e altri portali• Frequent speaker• Community leader di «Visual Basic Tips & Tricks»

Page 3: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Cos’è Roslyn?

• Microsoft abbraccia l’open source in modo forte• Apre il codice di buona parte dello stack della

tecnologia .NET• Ciò include i compilatori C# e Visual Basic -> Project

«Roslyn»• Nome prodotto: .NET Compiler Platform,

https://github.com/dotnet/roslyn• Ad oggi: per .NET/.NET Core (full support) e per Mono

(full support quasi completato)• Obiettivo raggiunto: C# su altri OS (Linux e Mac)

Page 4: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Cos’è Roslyn?

• Il compilatore diventa un servizio che espone «rich code analysis APIs» (classi, strutture e loro membri)

• Diventa una libreria portabile -> Mac & Linux inclusi• Scenari di• Code Analysis (Diagnostics, Code Fix, Refactorings)• Code Generation + Emit• Scripting e meta-programming• In generale: laddove ho bisogno di elaborare codice sorgente

• Non è più l’IDE o il tool che espone funzionalità, l’IDE fruisce del compilatore

Page 5: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Esempi di tool che usano Roslyn

• Microsoft Visual Studio 2015 e superiori (Windows)• Visual Studio for Mac (Mac OSX)• Xamarin Studio (Mac, Linux, Windows)• Visual Studio Code (Mac, Linux, Windows)• Continuous for iPad (iOS)

Page 6: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Continuous for iOS

Page 7: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Visual Studio (Windows)Visual Studio Code (Linux, Mac, Windows)

Page 8: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Xamarin Studio (Linux, Mac, Windows)Visual Studio for Mac

Page 9: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Pipeline, API e Servizi

Page 10: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Sulla Code Analysis

• Rappresentazione di ogni singolo elemento del sorgente tramite classi e strutture -> inclusi gli spazi bianchi

• Il compilatore sa analizzare e gestire il codice attraverso queste classi anche se con errori

• Fornisce informazioni sul codice in ogni singolo momento

• Mi permette di analizzare, generare, riscrivere porzioni di codice

• Concetti di diagnostic, code fix, refactoring

Page 11: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Sulla Code Analysis

• Microsoft.CodeAnalysis• CompilationUnit (intero file di codice)• SyntaxTree (intera struttura sintattica)• SyntaxNode (blocco di codice completo)• Code blocks• Modifiers• Keywords• SyntaxTrivia (spazi bianchi)

• SyntaxGenerator• API unificata di code generation

Page 12: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

DEMO: Roslyn e C# con Visual Studio Code su Ubuntu

Page 13: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Risorse

• Workspace su GitHub: https://github.com/dotnet/roslyn• I miei ebook gratuiti «Roslyn Succinctly» e «VS Code Succinctly»

https://www.syncfusion.com/resources/techportal/ebooks

Page 14: Roslyn: Alla scoperta dei compilatori open source  C# e VB - Alessandro Del Sole - Codemotion Milan 2016

Contatti

• Email: [email protected]• Twitter: @progalex• Blog:

http://community.visual-basic.it/Alessandro