Você está na página 1de 18

Cursos técnicos

Ambiente de desenvolvimento: instalação e


configuração
Para estudar e desenvolver aplicações em .NET Core, continuaremos a
usar o editor Visual Studio Code. Caso ainda não o tenha instalado, revise a
unidade curricular (UC) Monitorar aplicações web, especialmente o item que
trata do ambiente de desenvolvimento (instalação e configuração).

Neste material, vamos discutir o que é o ASP.NET Core e onde ele se


encaixa na tecnologia .NET. Além disso, faremos considerações sobre o
software, as extensões necessárias para o desenvolvimento de um projeto web
e as opções de criação de projeto que o .NET Core oferece ao programador.
O ASP.NET e o ASP.NET Core
O ASP.NET tem sido a plataforma de criação de sistemas web dinâmicos
desde o ano de 2001, com o lançamento do .NET Framework. Ele viria a
substituir a linguagem ASP, bastante semelhante a outras, como PHP e JSP
(Java), em que normalmente o código de servidor está entremeado ao HTML.

A proposta do ASP.NET era facilitar o desenvolvimento web, da mesma


maneira como havia sido feito com desenvolvimento desktop. Assim, foi criada a
tecnologia web forms, que tornou possível arrastar componentes em um editor
visual para programar uma página.

Figura 1 - Exemplo de página construída com web forms


Apesar da facilidade para construir páginas, a tecnologia web forms começou a apresentar
sérias restrições aos tipos de aplicações que foram surgindo, como com relação a sistemas
web com alto nível de interação com o usuário ou mesmo com os que operam em uma
única página.

Em 2009, em resposta a essas necessidades, foi lançado o Asp.NET MVC,


um framework de criação de sistema web bastante leve e de fácil integração
com ferramentas de CSS e JavaScript. Consolida-se também uma mentalidade
então nova na Microsoft: o uso de código aberto (open-source). O ASP.NET
MVC, em suas quatro versões principais (até o momento), funciona com código
aberto, contando com colaboração da comunidade e estando em constante
atualização.

A partir desse direcionamento é que surge, em 2015, uma evolução do


próprio .NET: o .NET Core. Este também é completamente open-source, com a
vantagem de ser portável para outros sistemas além do Windows, coisa que o
.NET Framework não é.

É claro que, logo na primeira versão do .NET Core, inclui-se, como parte
do framework, o ASP.NET Core, um conjunto de ferramentas e de bibliotecas
que permite a criação de software web usando a estrutura básica de um projeto
ASP.NET MVC, com algumas diferenciações. No caso, começou-se a usar
alguns recursos mais leves e adaptados para serem mais flexíveis do que o
ASP.NET MVC tradicional.

Bibliotecas, ou APIs, são conjuntos de códigos já escritos e compilados


que podem ser reutilizados por uma aplicação durante a sua implementação.
Algo interessante e que deixa bastante portável uma aplicação ASP.NET
Core é o fato de que ela funciona como um servidor. Isso reduz custos de
implantação, pois, enquanto em uma aplicação ASP.NET é necessário ter um
servidor Windows Server configurado, para o ASP.NET Core pode-se, por
exemplo, usar uma máquina rodando Linux Server, que conta com opções
gratuitas ou de baixo custo devido à dispensabilidade de licenciamento.

O servidor embutido do ASP.NET Core se chama Kestrel. Trataremos dele


adiante neste material.

ASP.NET (MVC, web ASP.NET Core (MVC, Razor) -


forms, WebAPI) - Roda Roda tanto sob .NETCore quanto
apenas sob ASP.NET sob .NET Framework

.NET Framework .NET Core

Windows Windows, Linux, macOS

Tabela 1 – Relação entre ASP.NET e ASp.NET Core com relação ao framework .NET ( ASP.NET
Core pode ser usado tanto em projetos com .NET quanto com .NET Core)
Fonte: adaptado de https://social.technet.microsoft.com/wiki/cfs-
filesystemfile.ashx/__key/communityserver-wikis-components-files/00-00-00-00-
05/4426.asp_2D00_netcore.jpg.

A opção entre .NET Core ou .NET Framework deve levar em consideração,


no início do projeto, as funcionalidades que serão necessárias. Caso recursos
nativos de Windows sejam necessários (como, por exemplo, integração com
aplicações do pacote Office, como Word e Excel) ou caso a aplicação seja muito
grande, talvez o .NET tradicional seja mais adequado. O ASP.NET Core, no
entanto, deve suprir boa parte das funcionalidades necessárias para uma
aplicação comum, e com bastante robustez, podendo ser usado mesmo para
sistemas de médio e grande porte.
A ênfase da Microsoft deve ser, desde o seu lançamento em diante, no
ASP.NET Core, mas ambas as plataformas devem ser levadas paralelamente
ainda por um longo período.
Preparando o ambiente
Para começar a usar o ASP.NET Core, os passos são basicamente os
mesmos apresentados no material Ambiente de desenvolvimento: instalação
e configuração, da UC Monitorar aplicações web.

Vamos recordar brevemente esses passos. Lembre-se de que, caso já


tenha instalado o .NET Core, o Visual Studio Code e a extensão C#, não é
necessário re-executar.

1. Baixe e instale o .NET Core. Para isso, busque por .NET Core
download em seu buscador de preferência e acesse o site da Microsoft.

2. Escolha a opção .NET Core SDK, baixe a aplicação e instale-a.


Recomendamos a versão 2.2, base para este material. Porém, os conceitos
aplicar-se-ão a versões posteriores. Você pode também baixar e instalar o .NET
Core Runtime.

3. Busque por Visual Studio Code download. Baixe e instale o programa.

4. Abra o VS Code e, na barra lateral, acesse a aba Extensions.

5. Na barra de busca, procure por C#.

6. Escolha a extensão C# for Visual Studio Code, da OnmiSharp, e clique


em Install.
Em algumas versões do Windows (especialmente no Windows 7), a
extensão Omnisharp, responsável pelo Intellisense do C# no editor, pode acusar
um erro indicando a exigência da versão 4.7 do .NET Framework. Trata-se de
uma versão já não suportada em versões mais antigas do Windows.

Para contornar o problema, realize os procedimentos a seguir.

1. Certifique-se de que a versão do .NET Core instalada é inferior à


3.0.

2. No VS Code, clique no ícone ..., que aparece à direita da aba


Extensions, e selecione a opção Disable Auto Updating Extensions (ou
correspondente em português), caso ela esteja disponível.
3. Após instalar a extensão C#, clique no ícone de engrenagem e
escolha o item xInstall Another Version..., ou o correspondente em
português.

4. Na barra de pesquisa, que aparece estendida na parte superior do


editor, selecione a versão 1.18.0.

5. Clique no botão Reload Required (ou correspondente em


português), que deverá aparecer abaixo do nome da extensão, na aba
lateral Extensions.
Outra extensão cuja instalação recomendamos é a C# Extensions.

Ela nos ajudará a criar classes C# mais facilmente.

Como o ASP.NET Core já é parte integrante do .NET Core, não é


necessário incluir outras extensões, bibliotecas ou versões do framework para
começar a usá-lo.

Uma alternativa ao Visual Studio Code é o Visual Studio Community, que


traz mais recursos, mais opções. Entretanto, é mais pesado em questão de
processamento. Nos nossos estudos, continuaremos a usar o VS Code.

Figura 2 – Extensão C# Extensions


Criando um projeto web
O .NET Core conta com um sistema de comandos chamado .NET Core
Command Line Interface (CLI). Essas funcionalidades podem ser acessadas
diretamente pelo Prompt de Comando, do Windows (pressione a tecla Windows
e o botão R e digite “cmd” para abri-lo), ou no terminal do sistema Linux ou do
Mac.

Já utilizamos alguns comandos, como o dotnet new console, para criar um


projeto de software de console em UCs anteriores.

Outro comando que pode ser útil é o dotnet –version, que mostrará a
versão do .NET Core instalado na máquina.

Figura 3 – Comando dotnet –version, executado no Prompt de Comando, do Windows

A criação de um projeto .NET pode ser realizada via Prompt de Comando,


mas é mais conveniente fazê-lo pelo terminal integrado do Visual Studio Code.
Basta abrir uma pasta vazia, acionar o terminal com o atalho Ctrl + ou pelo
menu View > Terminal e digitar o comando dotnet desejado.

Para criar um projeto ASP.NET Core, o .NET Core CLI disponibiliza


diferentes opções.
dotnet new web

Cria um projeto vazio de ASP.NET, contendo apenas a estrutura básica, válida para um
projeto MVC ou de outro tipo. Nos materiais desta unidade, será abordado este tipo de
projeto.

dotnet new webapp, ou dotnet new razor

Sinônimos, criam um projeto Razor, um tipo de aplicação web que não utiliza a
estrutura MVC, mas traz páginas web e classes que correspondem ao preenchimento
dinâmico dela.

dotnet new angular, ou dotnet new react

Criam projetos já estruturados com o framework JavaScript Angular ou o framework


React.

dotnet new webapi

Cria um projeto de serviços web.

dotnet new mvc

Cria um projeto web ASP.NET Core MVC, contando com estrutura e classes básicas.
Este será o foco no curso.
Vamos, então, experimentar a criação de um projeto MVC.

1. Abra o VS Code. No menu File > Open Folder, crie uma pasta
e clique nela para abri-la. Neste exemplo, vamos usar uma pasta
chamada FirstMVC.

2. Acione o terminal usando o atalho Ctrl + ‘ ou o menu View >


Terminal. No terminal, digite dotnet new mvc --no-https e clique em
Enter no fim. Nesse comando, o .NET Core executou os passos de
geração (Generate), criando toda a estrutura e os arquivos básicos para
o projeto; e o de restauração (Restore), que restaura todos os pacotes e
as dependências do projeto (em outras palavras, obtém e integra
códigos prontos que fazem o projeto funcionar).
3. Note que, em Explorer, várias subpastas foram criadas:
Controller, Model, obj, Properties, Views e wwwroot. Dê um duplo
clique em Program.cs para examinarmos o código.
4. Vamos nos concentrar na classe Program. Já trabalhamos com
projetos console, que também contavam com uma classe Programe
uma função Main. Uma aplicação ASP.NET Core consiste justamente
em um programa de console que inicia o servidor (o Kestrel, já
mencionado). No código CreateWebHostBuilder(args).Build().Run();,
temos o momento exato em que ele é criado e começa a rodar.
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();
}

public static IWebHostBuilder CreateWebHostBuilder(string[] arg


s) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}

5. Agora, de volta à aba Terminal, usamos o comando dotnet build


e clicamos em Enter para construir a aplicação (ou seja, compilá-la).
Esse comando só é necessário quando se fazem alterações no código
do projeto.

6. Por fim, vamos executar nossa aplicação ASP.NET Core MVC.


Para isso, digitamos no terminal o comando dotnet run e

pressionamos Enter. Note que, na penúltima linha, há o endereço


<http://localhost:5000>. Você pode digitar essa URL na barra de
endereço do seu navegador ou pressionar a tecla Ctrl e clicar nesse
endereço no próprio terminal.
PS C:\Meus Projetos VS\FirstMVC> dotnet r
un
info: Microsoft.AspNetCore.DataProtectio
n.KeyManagement.XmlKeyManager[0]
User profile is available. Using
'C:\Users\Daltron\AppData\Local\ASP.NET\D
ataProtection-Keys' as key repository
and Windows DPAPI to encrypt keys at res
t.
Hosting environment: Development
Content root path: C:\Meus Projetos VS\Fi
rstMVC
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut
down.

7. Ao se executar a aplicação web, esta é a página padrão da


aplicação criada.

8. Volte ao VS Code, clique na aba Terminal e digite o atalho


Ctrl+C para finalizar o servidor Kestrel.
O argumento --no-https foi usado nos exemplos para evitar problemas
com alertas de segurança do browser. HTTPS é um protocolo seguro,
criptografado, de transmissão de dados da web que, para tanto, precisa de um
servidor devidamente configurado. Ele não será nosso foco nesta etapa do
curso.

Esta é a nossa primeira experiência com ASP.NET Core. Você pode


conferir mais detalhes sobre como modificar esse projeto no material
Arquitetura web em camadas: conceitos de camadas front-end e back-end.

Com .NET Core, Visual Studio Code e extensão C# instalados e em


funcionamento (comprovado em teste com a criação de um projeto MVC), temos
certeza de que estamos prontos para seguir com os estudos. Agora,
entendemos melhor a interação entre back-end e front-end e como ela acontece
em um projeto ASP.NET Core MVC.

Você também pode gostar