conhecendo o asp.net core

27

Upload: nicolas-takashi

Post on 12-Apr-2017

268 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Conhecendo o asp.net core
Page 2: Conhecendo o asp.net core

Conhecendo o ASP.NET Core

Page 3: Conhecendo o asp.net core

• MTAC • Web Developer desde 2010• http://ntakashi.net/• [email protected]• @ntakashics

Nicolas Takashi

Page 4: Conhecendo o asp.net core

Agenda• .NET Core – Primeiro de tudo• ASP.NET Core – Visão geral• MVC Core – Mudanças maravilhosas• Web API – REST cada vez mais lindo• EF Core – Novos conceitos• Tooling – Muito mais leve

Page 5: Conhecendo o asp.net core

.NET CorePrimeiro de tudo

Page 6: Conhecendo o asp.net core

.NET Core – Primeiro de tudo

Page 7: Conhecendo o asp.net core

.NET Core – Primeiro de tudo• Subset do .NET Framework• Muito mais clean• Totalmente modularizado• Distribuído via Nuget• Cross-Platform• Open Source

Page 8: Conhecendo o asp.net core

.NET Core – Primeiro de tudo

Funcionalidades .NET Framework .NET Core

Instalação

Atualização

Plataforma

Centralizado Distribuído

Uma grande Frequente

Windows Windows, Mac OS, Linux

Page 9: Conhecendo o asp.net core

ASP.NET CoreVisão geral

Page 10: Conhecendo o asp.net core

ASP.NET Core – Visão geral• Inicialmente chamado de ASP.NET 5• Renomeado em Janeiro de 2016• Atualmente está no RC2 – Release Candidate 2• Em alguns lugares ainda temos referencia com o nome

antigo.

Page 11: Conhecendo o asp.net core

ASP.NET Core – Visão geral• Web UI e Web API’s• Roda no IIS ou Kestrel• Injeção de dependência nativa• Menos duplicações

Page 12: Conhecendo o asp.net core

ASP.NET Core – Visão geralASP.NET 4.6 ASP.NET Core 1.0

.NET Framework 4.6

.NET framework libraries

Compilers and runtime components (.NET Compiler Platform: Roslyn, C#, VB, F# Languages, RyuJIT, SIMD)

.NET Core 1.0

.NET core libraries

Page 13: Conhecendo o asp.net core

ASP.NET Core – Visão geral

Modular

Ciclo de desenvolvimento

ágil

Open SourcePreparado para nuvem

Muitas IDE’s

Page 14: Conhecendo o asp.net core

ASP.NET Core – Visão geral• ASP.NET• MVC Web Apps• Web API• Console Apps• .NET Core Class Library

• Depois do RTM• SignalR• Web Pages

Page 15: Conhecendo o asp.net core

ASP.NET Core – Visão geralVersão Data de entrega

Beta 6 Julho de 2015

Beta 7 Setembro de 2015

Beta 8 Outubro de 2015

Release Candidate – 1 Novembro de 2015

Release Candidate – 2 Maio de 2016

Release To Market – 1.0.0 Junho de 2016

Page 16: Conhecendo o asp.net core

MVC CoreMudanças maravilhosas

Page 17: Conhecendo o asp.net core

MVC Core - Mudanças maravilhosas • Tag Helpers• HTML Helpers como tags• De: @HtmlLabelFor(x => x.Nome) Para: <label asp-for=“Nome” />• Simples customização• Intellisense rico• Código mais simples e bonito

Page 18: Conhecendo o asp.net core

MVC Core - Mudanças maravilhosas • View Components• Parecido com Partial View com um poder maior• Totalmente reutilizável• Muito utilizado em locais de lógicas complexas na views• Não utiliza Model Binding• Dependem apenas de dados de entrada• Totalmente testável

Page 19: Conhecendo o asp.net core

Web APIREST cada vez mais lindo

Page 20: Conhecendo o asp.net core

Web API - REST cada vez mais lindo

ASP.NET Core

Web API

JSON XML

Web Forms

HTML

MVCWeb Pages

Page 21: Conhecendo o asp.net core

Web API - REST cada vez mais lindo• Rotas

app.UseMvc(routes =>{ routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}");});[Route("api/[controller]")]public class TodoController : Controller {

[HttpGet("{id}")] public Todo Get(int id) { /* ... */ }}

Page 22: Conhecendo o asp.net core

Web API - REST cada vez mais lindo• Controller Actions

// GET /api/todos[HttpGet]public IEnumerable<Todo> Get(){ return this.Todo;}

// GET /api/todos/5[HttpGet("{id}")]public Todo Get(int id){ return this.Todo.FirstOrDefault(x => x.Id == id);}

Page 23: Conhecendo o asp.net core

EF CoreNovos conceitos

Page 24: Conhecendo o asp.net core

EF Core – Novos conceitos• Entity Framework 7 foi renomeado para EF Core• Totalmente novo, sem nenhuma herança da sua versão

atual 6.x• EF 6.x continuará ser suportado.• Novo conceito – InMemory DataBase• Recomendado para aplicações novas com target .NET

Core

Page 25: Conhecendo o asp.net core

ToolingMuito mais leve

Page 26: Conhecendo o asp.net core

Tooling – Muito mais leve• Visual Studio• Visual Studio Code + C# Extension• Outros editores de texto com Omnisharp:• VIM• Sublime• Atom

• Command Line

Page 27: Conhecendo o asp.net core

Obrigado!E-mail: [email protected]: http://lab1024.com.br/Twitter: http://twitter.com/lab1024Facebook: http://fb.com/lab-1024