Palestra Roslyn - TechEd 2015

Post on 15-Apr-2017

398 views 0 download

Transcript of Palestra Roslyn - TechEd 2015

Entendendo o impacto do Roslyn no C# e no Visual Basic

DEV301

Quem é o palestrante?Giovanni BassiDesenvolvedor na Lambda3@giovannibassi

Palestra

Carlos dos SantosDesenvolvedor na CDS Iniformática@cdssoftware

Projeto RoslynReimplementação dos compiladores de C# e VB• Em C# e VB• Com APIs ricas e públicas• Free and Open Source no Github

A plataforma de compilação do .NET

Evolução

Código gerenciado

Generics

Language Integrated Query

Dinamismo + paridade nas linguagens

C# 5.0 + VB 11.0Programação assíncrona

C# 1.0 + VB 7.0

C# 2.0 + VB 8.0

C# 3.0 + VB 9.0

C# 4.0 + VB 10.0

RoslynC# 6.0 + VB 13.0

.NET 2015

Linguagens no .NET e o Roslyn

Porque o Roslyn?

TimeArquitetura limpa para evoluir

ParceirosFerramentas e extensões focadas em código fonte

DesenvolvedoresExperiência rica na IDE

OSS

1,000,000s

1,000s

10s

Language Service

using System;using static System.Console;

namespace ConsoleApplication4{ class Program { static void Main(string[] args) { var ola = "ola"; WriteLine(ola); } }}

Language Service (Exemplo)

Analisadores, refactorings e code fixes

DemoAnalisadores, refatoraçõese corretores de código

Imutabilidade: Green e Red TreesImutávelPersistenteSem referência aos paisConstruída de baixo pra cimaNós conhecem largura mas não posiçãoEdição: O(log n)

Façade “imutável”Não persistenteReferência aos pais e filhosConstruída de cima pra baixoNós conhecem largura e posiçãoRemontada sob demanda a cada edição a partir da verde

Estrutura

Projeto CodeCracker• O maior projeto de analisadores e code fixes escrito com Roslyn fora

da Microsoft• ~100 analisadores até o momento (VB e C#)• Open Source• Uma alternativa leve e gratuita a ferramentas já existentes• Portable (Windows, Linux, Mac)• Mais de 90% de cobertura de código com testes

Escrevendo um analisador• Utilize o SDK do Visual Studio e da plataforma de compilação• Templates prontos• Syntax Visualizer

Syntax Visualizer

DemoEscrevendo um analisador

Q&A

Visite o espaço Ask the Experts, próximo dos expositores

Sessões relacionadas

• DEV101 – O que há de novo no C# 6.0

Recursos

• MSDN http://www.msdn.com/roslyn

• Githubhttp://github.com/dotnet/roslyn

• Roslyn source browserhttp://source.roslyn.io/

• Vídeo sobre as novidades no Youtube em pthttp://bit.ly/youtuberoslyn

• Posts sobre o Roslyn no blog da Lambda3https://blog.lambda3.com.br/tag/roslyn/

Continue sua capacitação

Microsoft Virtual Academy

http://aka.ms/ch9 http://aka.ms/mva