dotnetconf 2016 goiânia: .net core | asp.net core

27

Upload: rogerio-moraes-de-carvalho

Post on 16-Apr-2017

769 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Page 2: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Consultor, Instrutor e Desenvolvedorrogeriomc.wordpress.com@rogeriomc

Page 3: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Um novo .NET multiplataforma

Evolução da plataforma .NET

Mudança nos nomes de frameworks

Visual Studio e outros editores

O que é o .NET Core?

.NET Core CLI

.NET Platform Standard

.NET Core: da codificação à execução

Demonstração

O que é o ASP .NET Core?

Desempenho do ASP.NET Core

ASP.NET Core x ASP.NET 4.6.2

Hospedagem de apps ASP.NET Core

Frameworks ASP.NET Core

ASP.NET Core MVC

.NET Core, ASP.NET Core e Visual Studio

Demonstração

Documentação, vídeos, OSS e outros

Page 4: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Page 5: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Inovação MultiplataformaOpen Source

.NET Core xPlat “Roslyn”

ASP .NET Core

EF Core

Inovações nas linguagens

“RyuJit”

SIMDIoT

.NET CoreASP.NET Core

Page 6: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

.NET Core 1.0.0.NET Framework 4.6.2

Comum

Nova geração do JIT (“RyuJIT”)

SIMD

Componentes do ambiente de execução

Bibliotecas .NET Core 1.0.0

Bibliotecas .NET Framework 4.6.2

Pacotes NuGetCompiladores

Inovações nas linguagens

Plataforma de compiladores .NET (“Roslyn”)

Page 7: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

.NET Framework

Framework para aplicações

.NET em Windows

Distribuído com o Windows

.NET Core

Distribuído com a aplicação

Framework multiplataforma e

open source otimizado para

fluxos de desenvolvimento e

aplicações modernas

Xamarin

Distribuído com a aplicação

Ambiente multiplataforma e

open source baseado no

framework Mono para

iOS, OS X e AndroidMo

delo

s d

e

ap

licaçõ

es

Bib

lio

tecas

base

s

Componentes do ambiente de execuçãoCompiladores Linguagens

C#F#

VB

Infraestrutura comum

WPF Windows Forms

WCF ASP.NET

UWP Console

ASP.NET Core

iOS

OS X

Android

Base Class Library Core Library Mono Class Library

Page 8: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0

Os frameworks estão sendo reescritos do zero

ASP .NET 5 é agora ASP.NET Core 1.0

ASP.NET MVC 6 é agora ASP.NET Core MVC 1.0

.NET Core 5 é agora .NET Core 1.0

Entity Framework 7 é agora Entity Framework Core 1.0 (EF Core 1.0)

As novas nomenclaturas ainda estão sendo gradativamente adotadas

Page 9: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Visual Studio

IDE somente para Windows

Grátis para apps não coorporativas

Editor de código multiplataforma

Windows, Mac OS X e Linux

Edição, compilação e depuração

www.visualstudio.com

Outros editores

Atom do GitHubatom.io

Visual Studio Codewww.visualstudio.com

Brackets da Adobebrackets.io

Sublime Text, Emacs, Vim etc.

Page 10: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Page 11: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Modular e pequena

MultiplataformaWindows, Linux e Mac OS X

Isolamento em nível de aplicação

Construído de forma abertaOpen Source Software (OSS)

Suporta vários modelos de apps

Opção para os próximos 10 anosDesenvolvimento de software .NET

Modelo de aplicações

ASP.NET Core

Qualquer outro

modelo de aplicações

Base Class Library (BCL)unificada

Camada de adaptação do ambiente de execução

.NET Native Outro ambiente

de execução

Modelo de aplicações

Universal Windows Apps

CoreCLR

Page 12: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Um novo conjunto de ferramentas CLISimples, extensíveis e independentes

Para construir e gerenciar projetos .NET

ObjetivosAgnóstico

Linguagem, destino e ambiente de execução

Extensibilidade simples

Multiplataforma

Substitui o .NET Execution EnvironmentSubstitui as ferramentas do DNX

dnx, dnvm, dnu

Agregador de ferramentas: dotnetSintaxe: dotnet {comando} --arg

Convenção: dotnet-{comando} --arg

Algumas ferramentas disponíveisdotnet new --lang --type

Cria arquivos de um novo tipo de projeto

dotnet restore [argumentos]Restaura pacotes NuGet dependentes

dotnet run [argumentos]Compila e executa sua app em um passo

dotnet build [argumentos]Compila sua app ou biblioteca

A transição do DNX para o .NET Core CLI foi liberada no RC2 (16/05/2016)

Page 13: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Um modelo de portabilidade bináriaMais sólido para futuras plataformas .NET

Plano de versionamento mais simples

Evolução da Portable Class Library (PCL)Define a interseção de APIs por plataformas

Utiliza nomes para identificar as plataformas

Target Framework Moniker (TFM)

Exemplo de TFM: portable-net45+win8

Novo modelo de identificaçãoExemplo de TFM: netstandard1.3

Plataforma destino Versões

.NET Platform Standard 1.0 1.1 1.2 1.3 1.4

.NET Framework

4.6.x

4.6

4.5.2

4.5.1

4.5

Universal Windows Platform 10.0

Windows 8.1

8.0

Windows Phone 8.1

8.0

O TFM netstandard foi liberado no .NET Core RC2

Page 14: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Ferramentas .NET Native

Código(App.cs)

Referências (Módulos, NuGet)

App.exe (stub)

App.dll

Compilador JIT (RyuJIT)

App.dll

Mais as DLLs referenciadas

Page 15: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Mac OS X El Capitan (10.11.6) Ubuntu 16.04

Atom 1.9.9

Visual Studio Code 1.4.0

Windows 10 Pro

Sublime Text

Page 16: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Page 17: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Multiplataforma

Escolha seus editores

e ferramentas

Open Source com

contribuiçõesOSS

Transição simples de

on-premises para a nuvem

Ciclos rápidos de

desenvolvimentoTotalmente modular

Rápido

Page 18: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Foram 1,15 milhões de requisições por segundo (rps)

www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps

Page 19: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Visual Basic 14 Visual Basic 14 (em breve)

.NET Framework 4.6.2

.NET Framework completo para qualquer cenário

Suporte das bibliotecas somente em Windows

.NET Core 1.0.0Bibliotecas modulares e multiplataforma

Ambiente de execução otimizado para servidores e para a nuvem

C# 6 C# 6

Page 20: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Kestrel (servidor web multiplataforma), WebListener e IIS/IISExpress no Windows

Roteamento, autenticação, arquivos estáticos, diagnósticos, manipulação de erros, sessão, CORS, localização, personalizados etc.

MVC, Web API, Identity, Web Pages e SignalR

Page 21: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

ASP.NET Web Pages 3.2.3, ASP.NET MVC 5.2.3 e ASP.NET Web API 2.2ASP.NET Core MVC (MVC + Web API + Web Pages)

Page 22: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Remoção de duplicações de tipos similares

ASP.NET Core

Suporta o .NET Core

WebListener em Windows

Kestrel multiplataforma

Tag Helpers

Page 23: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Recurso Executa no .NET 4.6.2 Executa no .NET Core 1.0.0

Pronto para a nuvem

Projeto modular

Injeção de dependência

Depuração e rastreamento consistente

Desenvolvimento rápido (sem necessidade de compilação)

Open Source

Lado a lado completo (framework distribuído dentro da aplicação)

Inicialização rápida, baixo uso de memória, alta taxa de transferência

Page 24: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Visual

Studio

ASP.NET Core

Ambiente de execução e bibliotecas baseCLR

Bibliotecas

Compiladores

CLI etc.

Modelo de aplicações web modernasASP.NET Core MVC

ASP.NET Core Web API

ASP.NET Core Web Pages

SignalR Core (provavelmente)

Ferramentas de desenvolvimentoPreview 1 com ASP.NET Core RC2 e .NET Core RC2

Preview 2 com ASP.NET Core RTM e .NET Core RTM

Visual Studio “15” RTM (Visual Studio 2016 ou 2017)

.NET Core

Page 25: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

Ubuntu 16.04

Firefox

Windows 10 Pro

Edge

Mac OS X El Capitan (10.11.6)

Safari

Page 26: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
Page 27: dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core

dot.net

www.dotnetfoundation.org

dotnet.github.io | github.com/dotnet

blogs.msdn.microsoft.com/dotnet

github.com/dotnet/cli

blogs.msdn.microsoft.com/webdev

docs.asp.net

live.asp.net

github.com/aspnet

www.asp.net/core

channel9.msdn.com/Events/Build/2016/B812

channel9.msdn.com/Events/Build/2016/B811