ASP.NET Core 2.0 - Pointer - Outubro/2017

37
ASP .NET Core 2.0 DESENVOLVIMENTO WEB NA PLATAFORMA .NET EM WINDOWS E LINUX

Transcript of ASP.NET Core 2.0 - Pointer - Outubro/2017

ASP.NET Core 2.0DESENVOLVIMENTO WEB NA PLATAFORMA .NET EM WINDOWS E L INUX

Renato Groffe

◦ Microsoft Most Valuable Professional (MVP)

◦ Multi-Plataform Technical Audience Contributor (MTAC)

◦ Mais de 15 anos de experiência na área de Tecnologia

◦ Autor Técnico e Palestrante

Contatos

http://renatogroffe.net/

/renatogroffe /in/renatogroffe

/canaldotnet

/renatogroffe/@renato.groffe

/canaldotnet

Agenda

◦ .NET Core e do ASP.NET Core: visão geral

◦ .NET Standard

◦ Novidades do .NET Core 2.0 e do ASP.NET Core 2.0

◦ Alguns exemplos

.NET Core – Primórdios

◦ Chamados inicialmente de ASP.NET vNext/.NET vNext e depois ASP.NET 5/.NET 5

◦ Primeiros releases em 2014

◦ Rebatizado como .NET Core 1.0 e ASP.NET Core 1.0 em Janeiro/2016

◦ Um novo framework, completamente reescrito

ASP.NET Core e .NET Core – Visão geral

◦Multiplataforma: Windows, Linux e Mac

◦Atualmente na versão 2.0(Agosto/2017)

ASP.NET Core – Open source

◦ Projeto hospedado no GitHubhttps://github.com/aspnet/Home

ASP.NET Core – Sites, serviços?

◦ Uma única arquitetura, com a unificação dos modelos MVC e Web API

ASP.NET Core – Cloud computing

◦Otimizado para a nuvem (cloud-ready)

ASP.NET Core – Estrutura dos projetos

◦Arquivos de configuração nos formato XML e JSON (por conta do MSBuild)

◦ .csproj ao invés de project.json → Visual Studio 2017

ASP.NET Core – Arquitetura

◦ Mais enxuta e modular, baseada no modelo OWIN (projeto Katana)

◦ Mecanismo nativo para injeção de dependências

◦ Middlewares

◦ Fim do System.Web

ASP.NET Core – Hospedagem de soluções

ASP.NET Core – Hospedagem em Linux

Apache

ASP.NET Core – Front-end◦Gerenciamento automatizado de pacotes client-side

◦ Bower → instalação e restauração

◦ Gulp → automação de tarefas (sintaxe JavaScript)

◦ npm → ambiente de execução

ASP.NET Core – Arquivos Razor

◦ View Components

◦ Tag Helpers

ASP.NET Core – Ferramentas Microsoft

◦Visual Studio 2017

◦Visual Studio Code (Windows, Linux e Mac)

◦Visual Studio for Mac

ASP.NET Core – Editores em Linux

Projeto OmniSharp:

◦ Atom

◦ Brackets

◦ Sublime

◦ Emacs

◦ Vim

ASP.NET Core – JetBrains Rider

◦Cross-plataform

◦ IDE construída utilizando as tecnologias IntelliJ e ReSharper

◦Suporte a .NET, Mono e .NET Core

.NET Core e Visual Studio Code

◦ Utilização de linhas de comando

◦ Criação de novos projetos via .NET Core Command-Line Interface (CLI)

.NET CLI – Tipos de aplicações possíveis

◦ ASP.NET Core Web Apps

◦ ASP.NET Core Web APIs

◦ Aplicações Console

◦ Bibliotecas (Packages)

◦ Projetos de Testes (MS Test, xUnit)

.NET Core – Algumas considerações

◦ Muitos frameworks populares ainda não contam com uma versão estável para o .NET Core (NHibernate a caminho, por exemplo)

◦ Não confundir o .NET Core com o .NET Full(.NET Framework 4.6/4.7, compatível apenas com ambientes Windows)

.NET Core – Algumas considerações

Lançamentos de Agosto/2017:

◦ .NET Core 2.0

◦ ASP.NET Core 2.0

◦ Entity Framework Core 2.0

◦ .NET Standard 2.0.

◦ Visual Studio 2017 Update 15.3

Novidades do .NET Core 2.0

◦Live Unit Testing a partir do Update 15.3 do Visual Studio 2017

◦Suporte a VB.NET (alguns templates)

Novidades do ASP.NET Core 2.0

Razor Pages

◦Dispensam o uso de Controllers

◦Nova estrutura de projetos

Novidades do ASP.NET Core 2.0

Templates para Single-Page Applications (SPAs)

Angular React React + Redux

Novidades do ASP.NET Core 2.0

O metapackage Microsoft.AspnetCore.All

◦Agrupa todas as referências a packages do ASP.NET Core

◦Melhor gerenciamento das dependências de uma aplicação

Novidades do ASP.NET Core 2.0

Mudanças na classe Startup

◦ Novo construtor

◦ Dependências de IConfiguration resolvidas automaticamente, sem configurações adicionais

◦ Ausência do parâmetro ILoggerFactory no método Configure

Novidades do ASP.NET Core 2.0

Restore automático após criação de projetos

Configurações de web host

Exemplos práticos

Dúvidas?

Obrigado!