ASP.NET 5, MVC 6 e além
DEV202
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
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/
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
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
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
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
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...
A mudança chegou. Por que?
#cool
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.
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
Visão geral – ASP.NET 5 por dentro
Fonte: http://typecastexception.com/
Demo 1Dissecando a estrutura do projeto ASP.NET 5 com Visual Studio 2015
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.
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>
OWIN – Pipeline e Middleware
Application Delegate (Async)Dictionary “Logging”
Logging Component
Dictionary “Auth”
Auth Component
Middleware
Middleware
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.
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).
Katana (vNext) - ArquiteturaNa
vega
dor
Host
Server
Pipeline da aplicação
Middleware Middleware Middleware
Demo 2Hello Word com Visual Studio Code + Katana
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
ASP.NET MVC 6
Demo 3Uma aplicação MVC 6 + ID nativa + Ubuntu
Demo 4Uma aplicação ASP.NET MVC 6 + EF7 com InMemory Storage + MacOS
Demo 5Publicando aplicações ASP.NET 5 com Docker no MacOS
Conclusões
ASP.NET se modernizou. Está modular, multiplataforma, performático, desacoplado e mais poderoso. Enjoy!
Q&A
Visite o espaço Ask the Experts, próximo dos expositores
Sessões relacionadas
Roslyn (Carlos dos Santos e Giovanni Bassi)
Continue sua capacitação
Microsoft Virtual Academy
http://aka.ms/ch9 http://aka.ms/mva
Top Related