Download - ASP.NET 5, MVC 6 e além

Transcript
Page 1: ASP.NET 5, MVC 6 e além

ASP.NET 5, MVC 6 e além

DEV202

Page 2: ASP.NET 5, MVC 6 e além

Fabrício Lopes SanchezMais de 12 anos de experiência com desenvolvimento de software de diferentes tipos e tamanhos. Graduado em Ciência da Computação e mestre em Engenharia Elétrica aplicada a computação. Professor de cursos superiores de tecnologia por 6 anos. Arquiteto de soluções web. Foi especialista técnico de nuvem na Microsoft Brasil. Atualmente dirige a Conio Soluções em Tecnologia.

ASP.NET 5, MVC 6 e além

E-mail: [email protected]: @SanchezFabricioFacebook: http://facebook.com/fabriciolopessanchezLinkedIn: https://br.linkedin.com/in/fabriciosanchez

Page 3: ASP.NET 5, MVC 6 e além

André BaltieriMicrosoft MVP em ASP.NET/IIS, trabalha com desenvolvimento de aplicações web desde 2003, com experiência em projetos de médio e grande porte no Brasil, EUA, Inglaterra e Holanda.

Palestrante em grandes eventos como TDC e ASP.NET Conference, criador do ASP.NET CAST, trabalha ativamente com comunidades técnicas desde 2007, e mantém o título de MVP pela Microsoft desde 2013.

Atualmente realiza treinamentos e consultorias sobre plataforma Web em geral. É proprietário da Imobee, onde também atua na área de desenvolvimento web.

Apesar do grande vínculo com a Microsoft, também adota muitas tecnologias abertas como NodeJs, AngularJs, MongoDB, Firebase entre outros.

ASP.NET 5, MVC 6 e além

E-mail: [email protected]: @andrebaltierihttp://andrebaltieri.net/

Page 4: ASP.NET 5, MVC 6 e além

Agenda

Click icon to add picture

A mudança chegou. Por que? Grandes novidades:

Visão geral OWIN Katana (vNext) MVC 6 Injeção de dependência Roslyn

Por que apoiar Open Source? Um novo mundo

ASP.NET em todo lugar! Demo (Windows) Demo (Mac) Demo (Linux)

Conclusões

Page 5: ASP.NET 5, MVC 6 e além

A mudança chegou. Por que?

2002 600 milhões de usuários 9,1% da população mundial

online Tempo de uso médio: 46 minutos 3 milhões de sites 2 browsers Page load: 16 segundos

Page 6: ASP.NET 5, MVC 6 e além

A mudança chegou. Por que?

2014 3.2 bilhões de usuários 40% da população mundial online Tempo de uso médio: 4 horas 555 milhões de sites 5 browsers Page load: 6 segundos

Page 7: ASP.NET 5, MVC 6 e além

A mudança chegou. Por que?

Por conta disso...- A web atual é leve e bela- A web atual é padronizada (yes!)- A web atual é livre de contexto- A web atual é plugável- A web atual é #cool

Page 8: ASP.NET 5, MVC 6 e além

A mudança chegou. Por que?

Por que o ASP.NET precisou mudar de novo?

WebformsAbstração pesadaAlto acoplamento

Dependência de ambiente...

MVC, WebAPI eSignalR

Primeira ruptura de modeloBaixo acoplamento

Independência parcial de ambiente

Preocupação com arquiteturaJavascript e CSS não

obstrusivos...

ASP.NET 5 e MVC 6

Independencia de ambienteBaixo acoplamento

ID nativaMVC e Web API unificados

Execução on the fly...

Page 9: ASP.NET 5, MVC 6 e além

A mudança chegou. Por que?

#cool

Page 10: ASP.NET 5, MVC 6 e além

Visão geral

Escreva aplicações web com VB.NET? / C# no sistema operacional de sua preferência, usando o framework MVC (com Web API integrado) sem depender do IIS e do Visual Studio.

Page 11: ASP.NET 5, MVC 6 e além

Visão geral – principais aspectos System.Web.dll free .NET Native possível .NET Full ou .NET Core Compilação on the fly

(Roslyn) Otimização da CLR (DNX) Dev multiplataforma Deploy no IIS ou via Self-

host Linux e Mac: execução em

Mono

Injeção de dependência nativa (MVC 6)

Componentes entregues como middlewares

Pronto pra nuvem Código aberto e

disponível no GitHub Implementa o modelo

OWIN Projetado para containers

Page 12: ASP.NET 5, MVC 6 e além

Visão geral – ASP.NET 5 por dentro

Fonte: http://typecastexception.com/

Page 13: ASP.NET 5, MVC 6 e além

Demo 1Dissecando a estrutura do projeto ASP.NET 5 com Visual Studio 2015

Page 14: ASP.NET 5, MVC 6 e além

OWIN

Trata-se da especificação do modelo de execução do novo

ASP.NET. Ele determina todas as diretrizes do servidor web.

Podemos dizer que OWIN está para o servidor web como o

HTML está para o navegador.

Page 15: ASP.NET 5, MVC 6 e além

OWIN host versus Host tradicional

Internet Information Server (IIS)

ASP.NET (Webforms, MVC, WebPages, SPA, etc.)

HostIIS, OwinHost, CustomHost

ASP.NET 5COMPONENTS

OWIN (interface)Enviroment Dictionary

IDictionary<string, object>

Application DelegateFunc< IDictionary<string,

object>, Task>

Page 16: ASP.NET 5, MVC 6 e além

OWIN – Pipeline e Middleware

Application Delegate (Async)Dictionary “Logging”

Logging Component

Dictionary “Auth”

Auth Component

Middleware

Middleware

Page 17: ASP.NET 5, MVC 6 e além

Katana (vNext)

Implementação do modelo OWIN feita pela Microsoft para rodar

aplicações ASP.NET.Outras implementações também encontram-se disponíveis:

Helios, Nowin, dentre outros.

Page 18: ASP.NET 5, MVC 6 e além

Katana (vNext) - Arquitetura

Host Processa e gerencia o workflow e os processosIIS – Custom Host – OWIN Host

Server Abre uma porta TCP, escuta os requests e dispara no OWIN pipelineSystemWeb – HttpListener - WebListener

Middleware Componente que implementa OWIN (delegate) que operadentro do pipeline. SignalR, Web API.

Application A aplicação em si, que implementa os componentes (middlewares).

Page 19: ASP.NET 5, MVC 6 e além

Katana (vNext) - ArquiteturaNa

vega

dor

Host

Server

Pipeline da aplicação

Middleware Middleware Middleware

Page 20: ASP.NET 5, MVC 6 e além

Demo 2Hello Word com Visual Studio Code + Katana

Page 21: ASP.NET 5, MVC 6 e além

ASP.NET MVC 6

ASP.NET no OSX e Linux Foi bom enquanto durou

webforms! No More Visual Basic Tag Helpers View Components Suporte para GruntJS,

NPM e Bower MVC e WebAPI com

controllers unificados

AngularJS ASP.NET Dependency

Injection Framework xUnit.net

Page 22: ASP.NET 5, MVC 6 e além

ASP.NET MVC 6

Page 23: ASP.NET 5, MVC 6 e além

Demo 3Uma aplicação MVC 6 + ID nativa + Ubuntu

Page 24: ASP.NET 5, MVC 6 e além

Demo 4Uma aplicação ASP.NET MVC 6 + EF7 com InMemory Storage + MacOS

Page 25: ASP.NET 5, MVC 6 e além

Demo 5Publicando aplicações ASP.NET 5 com Docker no MacOS

Page 26: ASP.NET 5, MVC 6 e além

Conclusões

ASP.NET se modernizou. Está modular, multiplataforma, performático, desacoplado e mais poderoso. Enjoy!

Page 27: ASP.NET 5, MVC 6 e além

Q&A

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

Page 28: ASP.NET 5, MVC 6 e além

Sessões relacionadas

Roslyn (Carlos dos Santos e Giovanni Bassi)

Page 29: ASP.NET 5, MVC 6 e além

Continue sua capacitação

Microsoft Virtual Academy

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