Exercício – Escrever o código para implementar um aplicativo Web
Nesta unidade, você usará ferramentas para desenvolvedores a fim de criar o código de um aplicativo Web inicial.
Criar um projeto Web
O núcleo das ferramentas da CLI do .NET é a ferramenta de linha de comando dotnet
. Usando esse comando, você criará um projeto Web ASP.NET Core.
Primeiro, vamos instalar a versão correta do dotnet
no Cloud Shell. Para este exercício, usaremos a versão 3.1.102 do SDK.
Execute os seguintes comandos no Azure Cloud Shell à direita para baixar e instalar o dotnet:
wget -q -O - https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh | bash -s -- --version 6.0.404 export PATH="~/.dotnet:$PATH" echo "export PATH=~/.dotnet:\$PATH" >> ~/.bashrc
Depois, execute o seguinte comando para criar um aplicativo MVC ASP.NET Core chamado "BestBikeApp":
dotnet new mvc --name BestBikeApp
O comando criará uma pasta chamada "BestBikeApp" para manter o projeto.
Opcionalmente, teste o aplicativo Web
Abra uma segunda sessão de shell de comando navegando até https://shell.azure.com/ em uma nova guia. Você pode testar seu aplicativo localmente no Azure. Para fazer isso, execute as seguintes etapas:
Na sessão do Shell de comando primária, execute os seguintes comandos para criar e executar o aplicativo Web:
cd BestBikeApp dotnet run
Você deve obter uma saída semelhante à seguinte:
info: Microsoft.Hosting.Lifetime[0] Now listening on: https://localhost:5001 info: Microsoft.Hosting.Lifetime[0] Now listening on: http://localhost:5000 info: Microsoft.Hosting.Lifetime[0] Application started. Press Ctrl+C to shut down. info: Microsoft.Hosting.Lifetime[0] Hosting environment: Development info: Microsoft.Hosting.Lifetime[0] Content root path: /home/user/BestBikeApp
A saída descreve a situação após iniciar o aplicativo: ele está em execução e escutando na porta 5000.
Na segunda sessão do Shell de comando, execute os seguintes comandos para procurar o aplicativo Web:
curl -kL http://127.0.0.1:5000/
Um HTML deverá aparecer, terminando com as seguintes linhas:
<div class="text-center"> <h1 class="display-4">Welcome</h1> <p>Learn about <a href="https://learn.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> </div> </main> </div> <footer class="border-top footer text-muted"> <div class="container"> © 2021 - BestBikeApp - <a href="/Home/Privacy">Privacy</a> </div> </footer> <script src="/lib/jquery/dist/jquery.min.js"></script> <script src="/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script> <script src="/js/site.js?v=4q1jwFhaPaZgr8WAUSrux6hAuh0XDg9kPS3xIVq36I0"></script> </body> </html>
Na sessão do shell de comando primário, pressione Ctrl + C para encerrar o aplicativo Web.
Para criar um aplicativo Web inicial, usaremos o Maven, uma ferramenta de gerenciamento e criação de projetos usada com frequência para aplicativos Java. Usaremos o modelo de maven-archetype-webapp
para gerar o código para nosso aplicativo Web.
Execute os seguintes comandos no Azure Cloud Shell agora para criar um aplicativo Web:
cd ~ mvn archetype:generate -DgroupId=example.demo -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4
Agora, execute estes comandos para alterar para o novo diretório de aplicativos "helloworld" e empacotar o aplicativo para implantação:
cd helloworld mvn package
Após a execução do comando, digite estes comandos para abrir o diretório de destino e listar o conteúdo:
cd target ls
Você terá um arquivo listado chamado helloworld.war
. Esse é o pacote de aplicativos Web que implantaremos no Serviço de Aplicativo.
Para criar um aplicativo Web inicial do Node.js, usaremos o npm
(Gerenciador de Pacotes do Node) juntamente com alguns códigos JavaScript para executar o processamento real da página da Web.
Execute os seguintes comandos no Azure Cloud Shell para criar um
package.json
que descreve o aplicativo Node.js:cd ~ mkdir helloworld cd helloworld npm init -y
Isso cria um arquivo package.json
na pasta atual. Você deverá encontrá-lo na pasta atual se inserir ls
na janela do terminal. Precisaremos de um arquivo JavaScript para executar nossa lógica de site. Como esse é apenas um exemplo básico, só precisaremos de um arquivo: index.js
.
Execute o seguinte comando no terminal para criar o arquivo:
touch index.js
Agora, precisamos fazer algumas edições em ambos os arquivos. Digite o seguinte comando no terminal para abrir um editor interativo:
code .
Selecione o arquivo
package.json
e faça as edições a seguir na seçãoscripts
para usar o Node.js e iniciar o aplicativo Web:{ "name": "helloworld", ... "scripts": { "start": "node index.js" }, ... }
Para salvar o arquivo, clique no menu … ou pressione Ctrl+S no Windows e no Linux ou Command+S no macOS.
Importante
Sempre que você editar um arquivo no editor, salve-o selecionando o menu ... no canto superior direito do editor ou pressionando Ctrl+S no Windows e no Linux ou Command+S no macOS. Para sair do editor, pressione Ctrl+Q no Windows e no Linux ou clique no canto superior direito do editor e selecione Encerrar no MacOS.
Alterne para o arquivo
index.js
e adicione o conteúdo a seguir a ele. Este é um programa Node.js pequeno para sempre responder com "Olá, Mundo!" quando qualquer solicitação GET é feita ao servidor.const http = require('http'); const server = http.createServer(function(request, response) { response.writeHead(200, { "Content-Type": "text/html" }); response.end("<html><body><h1>Hello World!</h1></body></html>"); }); const port = process.env.PORT || 1337; server.listen(port); console.log(`Server running at http://localhost:${port}`);
Salve o arquivo e encerre o editor selecionando o ícone ... no canto superior direito e depois Salvar e Fechar Editor no menu de contexto ou usando as teclas aceleradoras Ctrl+S e Ctrl+Q no Windows e no Linux.
Opcionalmente, teste o aplicativo Web
Enquanto estiver executando o aplicativo Web Olá, Mundo, você pode verificar se ele está em execução localmente abrindo uma segunda sessão do shell de comando.
Em uma nova guia do navegador, navegue até https://shell.azure.com/.
Na sessão do Shell de comando primária, execute os seguintes comandos para iniciar o aplicativo Web:
cd ~/helloworld npm start
Na segunda sessão do Shell de comando, execute os seguintes comandos para procurar o aplicativo Web:
curl http://127.0.0.1:1337/
Você verá a seguinte saída:
<html><body><h1>Hello World!</h1></body></html>
Na sessão do shell de comando primário, pressione Ctrl+C para encerrar o aplicativo Web e feche a segunda guia do navegador da sessão do shell.
Para criar um aplicativo Web inicial, usaremos a estrutura de aplicativo Web do Flask.
Execute os seguintes comandos no Azure Cloud Shell para configurar um ambiente virtual e instalar o Flask em seu perfil:
python3 -m venv venv source venv/bin/activate pip install flask
Execute estes comandos para criar e alternar para o novo diretório do aplicativo Web:
mkdir ~/BestBikeApp cd ~/BestBikeApp
Crie um arquivo para o aplicativo Web abrindo application.py no editor interativo do Python:
code application.py
Copie e cole o seguinte código Python para criar a funcionalidade do aplicativo Web principal:
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<html><body><h1>Hello Best Bike App!</h1></body></html>\n"
Salve o arquivo e saia do editor clicando no menu … no canto superior direito e selecionando Salvar>Fechar editor, ou pressionando Ctrl+S e Ctrl+Q no Windows e no Linux.
Para implantar o aplicativo no Azure, você precisará salvar a lista de requisitos do aplicativo que você criou para ele em um arquivo requirements.txt. Para fazer isso, execute o comando a seguir:
pip freeze > requirements.txt
Opcionalmente, teste o aplicativo Web
Você pode testar o aplicativo localmente no Azure durante a execução.
Abra uma segunda sessão do shell de comando em uma nova guia do navegador https://shell.azure.com/.
Na sessão do shell de comando primário (à direita), execute os comandos a seguir para iniciar o aplicativo Web:
cd .. source venv/bin/activate
Na sessão do shell de comando primário (à direita), execute os seguintes comandos para iniciar o aplicativo Web:
cd ~/BestBikeApp export FLASK_APP=application.py flask run
Na segunda sessão do Shell de comando, execute os seguintes comandos para procurar o aplicativo Web:
curl http://127.0.0.1:5000/
Você deverá obter a seguinte saída HTML:
<html><body><h1>Hello Best Bike App!</h1></body></html>
Na sessão do shell de comando primário, pressione Ctrl+C para encerrar o aplicativo Web e feche o Azure Cloud Shell.