palestra roslyn - teched 2015

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

Upload: cds

Post on 15-Apr-2017

401 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Palestra Roslyn - TechEd 2015

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

DEV301

Page 2: Palestra Roslyn - TechEd 2015

Quem é o palestrante?Giovanni BassiDesenvolvedor na Lambda3@giovannibassi

Palestra

Carlos dos SantosDesenvolvedor na CDS Iniformática@cdssoftware

Page 3: Palestra Roslyn - TechEd 2015

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

Page 4: Palestra Roslyn - TechEd 2015

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

Page 5: Palestra Roslyn - TechEd 2015

.NET 2015

Page 6: Palestra Roslyn - TechEd 2015

Linguagens no .NET e o Roslyn

Page 7: Palestra Roslyn - TechEd 2015

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

Page 8: Palestra Roslyn - TechEd 2015
Page 9: Palestra Roslyn - TechEd 2015

Language Service

Page 10: Palestra Roslyn - TechEd 2015

using System;using static System.Console;

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

Language Service (Exemplo)

Page 11: Palestra Roslyn - TechEd 2015

Analisadores, refactorings e code fixes

Page 12: Palestra Roslyn - TechEd 2015

DemoAnalisadores, refatoraçõese corretores de código

Page 13: Palestra Roslyn - TechEd 2015

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

Page 14: Palestra Roslyn - TechEd 2015

Estrutura

Page 15: Palestra Roslyn - TechEd 2015

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

Page 16: Palestra Roslyn - TechEd 2015

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

Page 17: Palestra Roslyn - TechEd 2015

Syntax Visualizer

Page 18: Palestra Roslyn - TechEd 2015

DemoEscrevendo um analisador

Page 19: Palestra Roslyn - TechEd 2015

Q&A

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

Page 20: Palestra Roslyn - TechEd 2015

Sessões relacionadas

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

Page 21: Palestra Roslyn - TechEd 2015

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/

Page 22: Palestra Roslyn - TechEd 2015

Continue sua capacitação

Microsoft Virtual Academy

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