Conhecendo o asp.net core

Post on 12-Apr-2017

267 views 0 download

Transcript of Conhecendo o asp.net core

Conhecendo o ASP.NET Core

• MTAC • Web Developer desde 2010• http://ntakashi.net/• nicolas.tcs@hotmail.com• @ntakashics

Nicolas Takashi

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

.NET CorePrimeiro de tudo

.NET Core – Primeiro de tudo

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

.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

ASP.NET CoreVisão geral

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.

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

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

ASP.NET Core – Visão geral

Modular

Ciclo de desenvolvimento

ágil

Open SourcePreparado para nuvem

Muitas IDE’s

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

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

MVC CoreMudanças maravilhosas

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

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

Web APIREST cada vez mais lindo

Web API - REST cada vez mais lindo

ASP.NET Core

Web API

JSON XML

Web Forms

HTML

MVCWeb Pages

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) { /* ... */ }}

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);}

EF CoreNovos conceitos

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

ToolingMuito mais leve

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

• Command Line

Obrigado!E-mail: contato@lab1024.com.brSite: http://lab1024.com.br/Twitter: http://twitter.com/lab1024Facebook: http://fb.com/lab-1024