42
.NET Core Usando .NET no Linux! Vinicius Mussak MCP - MSP

ITerior - .NET Core, usando .NET no Linux!

Embed Size (px)

Citation preview

Page 1: ITerior - .NET Core, usando .NET no Linux!

.NET CoreUsando .NET no Linux!

Vinicius MussakMCP - MSP

Page 2: ITerior - .NET Core, usando .NET no Linux!

Vinicius Mussak

• Desenvolvo soluções/bugs• Microsoft Student Partner• Microsoft Certified Professional• Estudo Sistemas de Informação• Péssimo piadista D:

Page 3: ITerior - .NET Core, usando .NET no Linux!
Page 4: ITerior - .NET Core, usando .NET no Linux!

Engenharia Solutions & SMN

Page 5: ITerior - .NET Core, usando .NET no Linux!

Engenharia Solutions & SMN

Page 6: ITerior - .NET Core, usando .NET no Linux!

Engenharia Solutions & SMN

Page 7: ITerior - .NET Core, usando .NET no Linux!

Come with us!

Page 8: ITerior - .NET Core, usando .NET no Linux!
Page 9: ITerior - .NET Core, usando .NET no Linux!

Satya Nadella CEO da Microsoft

Page 10: ITerior - .NET Core, usando .NET no Linux!

Um novo .NET

Inovação Open Source Multiplataforma

Page 11: ITerior - .NET Core, usando .NET no Linux!

https://github.com/aspnet/home

Page 12: ITerior - .NET Core, usando .NET no Linux!

“NOVO .NET”

Page 13: ITerior - .NET Core, usando .NET no Linux!

Corrida Naruto...

Page 14: ITerior - .NET Core, usando .NET no Linux!

Mas...

Page 15: ITerior - .NET Core, usando .NET no Linux!

.NET Framework 4.6.2 .NET Core 1.0.1

ComumComponentes do ambiente de execução

Compiladores Pacotes NuGet

Windows Forms 4.6.2 WPF 4.6.2 ASP .NET 4.6.2 ASP .NET Core 1.0.1 Universal Windows Apps

Page 16: ITerior - .NET Core, usando .NET no Linux!

E O ASP .NET 5?

Page 17: ITerior - .NET Core, usando .NET no Linux!

Motivo da mudança• Tudo está sendo rescrito do ZERO.

Então...• .NET 5 agora é .NET Core 1.0• ASP .NET 5 agora é ASP .NET Core 1.0• ASP .NET MVC 6 agora é ASP .NET Core MVC 1.0• Entity Framework 7 agora é Entity Framework Core 1.0

Page 18: ITerior - .NET Core, usando .NET no Linux!
Page 19: ITerior - .NET Core, usando .NET no Linux!

Visual Studio Community 2015

Visual Studio Code

Page 20: ITerior - .NET Core, usando .NET no Linux!

.NET Core

Page 21: ITerior - .NET Core, usando .NET no Linux!

.NET Core

Modular e pequena

Multiplataforma

Extremamente rápido

Isolamento em nível de aplicação

Page 22: ITerior - .NET Core, usando .NET no Linux!

Opção para os próximos 10 anos!

Page 23: ITerior - .NET Core, usando .NET no Linux!

E a minha aplicação de hoje?

Virou legado...

Page 24: ITerior - .NET Core, usando .NET no Linux!

.NET CLICommand Line Interface

Convenção: dotnet-{comando}

Comando: dotnet {comando}

Page 25: ITerior - .NET Core, usando .NET no Linux!

.NET Clidotnet new –-lang –-typeCria arquivos de um novo projeto

dotnet restore [argumentos]Restaura pacotes NuGet

dotnet build [argumentos]Compila a aplicação

dotnet run [argumentos]Compila e executa a aplicação

Page 26: ITerior - .NET Core, usando .NET no Linux!

.NET Platform Standard

Page 27: ITerior - .NET Core, usando .NET no Linux!

.NET Platform Standard 2.0

Page 28: ITerior - .NET Core, usando .NET no Linux!

Como tudo acontece

Código (App.cs)

while (true){ //some code}

Roslyn

Referências

+

IL

.NET Native

RyuJIT

Windows Store

ASP .NET Core

App.exeApp.dll

App.dllOutras dll’s referenciadas

.NET Native

CoreCLR

Compilação do JIT sob demanda

Page 29: ITerior - .NET Core, usando .NET no Linux!

ASP.NET Core

Page 30: ITerior - .NET Core, usando .NET no Linux!

Momento muito interessante paraser um desenvolvedor ASP.NET

.NET FRAMEWORKFramework que abrange desenvolvimento para Desktop e aplicações Web.

EXPERIÊNCIAS EM

DISPOSITIVOS MODERNOS

EXPERIÊNCIAS EM NUVENS MODERNAS

UNIVERSAL WINDOWS PLATFORM

XAMARIN

ASP .NET CORE

Desenvolvimento unificado em todo dispositivo Windows

Qualquer dispositivo

.NET COREMulti-plataforma, alto desempenho

Framework otimizado para a nuvem

Page 31: ITerior - .NET Core, usando .NET no Linux!

Performance!

Page 32: ITerior - .NET Core, usando .NET no Linux!

Performance!2300% mais rápido que o ASP .NET 4.61,15 bilhões de requisições por segundo (rps)

Page 33: ITerior - .NET Core, usando .NET no Linux!

C# 6 C# 6

.NET Framework 4.6.2.NET Core 1.0.1

CoreCLR .NET Native

ASP .NET 4.6.2 (System.Web) ASP .NET Core 1.0.1 (Microsoft.AspNetCore)

ASP .NET MVC 5.2.3

ASP .NET Web Forms 4.6.2

ASP .NET Web API 2.2 ASP .NET Core MVC 1.0.1 (MVC + Web API)

Visual Basic 14 Visual Basic 14 (Em breve)

ASP .NET Core 1.0.1 x ASP .NET 4.6

Page 34: ITerior - .NET Core, usando .NET no Linux!

Middlewares

Page 35: ITerior - .NET Core, usando .NET no Linux!

Hospedagem• Kestrel – Servidor web multiplataforma• Web Listener• IIS/IISExpress no Windows

Page 36: ITerior - .NET Core, usando .NET no Linux!

Evolução dos frameworks ASP .NET

Web Pages MVC Web API

ASP .NET Core MVC (MVC + Web API + Web Pages)

Razor

HTML Helpers HTML Helpers

Controladores Controladores

Ações Ações

Filtros Filtros

Injeção de Dependência Injeção de Dependência

Controladores

Ações

Filtros

Injeção de Dependência

HTML Helpers

Page 37: ITerior - .NET Core, usando .NET no Linux!

ASP .NET Core MVC• Unificação de conceitos;• Aplicações web gráficas e como serviço;• Construído sobre o ASP .NET Core • Suporta o .NET Core

Page 38: ITerior - .NET Core, usando .NET no Linux!

ASP .NET Core MVC

Page 39: ITerior - .NET Core, usando .NET no Linux!

Posso colocar em produção?

Page 40: ITerior - .NET Core, usando .NET no Linux!

DEMO

Page 41: ITerior - .NET Core, usando .NET no Linux!

Dúvidas?

Page 42: ITerior - .NET Core, usando .NET no Linux!

Obrigado! :D

viniciusmussak.net

/viniciusmussak

/viniciusmussak

@ViniciusMussak

/vmussak

[email protected]