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ê cria um novo projeto web ASP.NET Core.
Primeiro, vamos instalar a versão 8.0 do dotnet
no Cloud Shell. Para esse exercício, estamos usando o SDK versão 3.1.102.
Baixe e instale o dotnet 8.0 executando os seguintes comandos na janela do Azure Cloud Shell:
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh chmod +x ./dotnet-install.sh ./dotnet-install.sh --channel 8.0 export PATH="~/.dotnet:$PATH" echo "export PATH=~/.dotnet:\$PATH" >> ~/.bashrc
Em seguida, execute o seguinte comando para criar um novo aplicativo ASP.NET Core Model-View Controller (MVC) chamado "BestBikeApp":
dotnet new mvc --name BestBikeApp
O comando cria uma nova pasta chamada "BestBikeApp" para armazenar seu 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 como a do exemplo a seguir:
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {b4a2970c-215c-4eb2-92b4-c28d021158c6} may be persisted to storage in unencrypted form. info: Microsoft.Hosting.Lifetime[14] Now listening on: http://localhost:5022 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/cephas_lin/BestBikeApp
A saída descreve a situação após a inicialização do aplicativo: ele está em execução e escutando a porta 5022. Anote a porta na qual seu aplicativo está sendo executado e da qual está escutando sua saída.
Em outra sessão do Cloud Shell, execute o seguinte comando para navegar até seu aplicativo web, substituindo 5000 pela porta que você anotou na etapa anterior:
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 b-b5g3qljvtd class="border-top footer text-muted"> <div b-b5g3qljvtd class="container"> © 2024 - 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=hRQyftXiu1lLX2P9Ly9xa4gHJgLeR1uGN5qegUobtGo"></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, usamos o Maven, uma ferramenta de gerenciamento e construção de projetos comumente usada para aplicativos Java. Usamos o modelo 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
Agora você tem um arquivo chamado helloworld.war
que é o pacote de aplicativo web que vamos implantar no Serviço de Aplicativo do Azure.
Para criar um aplicativo web Node.js inicial, usamos o Node Package Manager (npm
) junto com algum código JavaScript para executar o processamento real da página web.
Execute os seguintes comandos no terminal para criar um novo arquivo
package.json
que descreva nosso aplicativo Node.js:cd ~ mkdir helloworld cd helloworld npm init -y
Um novo arquivo package.json
é criado na pasta atual. Você deverá encontrá-lo na pasta atual se inserir ls
na janela do terminal. Precisamos de um arquivo JavaScript para executar a lógica do nosso site. Para esse exemplo básico, precisamos apenas de um arquivo: index.js
.
Crie o arquivo executando o seguinte comando no terminal:
touch index.js
Agora, precisamos fazer algumas edições em ambos os arquivos. Para abrir um editor interativo, execute o seguinte comando no terminal:
code .
Para usar o Node.js para iniciar o aplicativo web, selecione o arquivo
package.json
e faça as seguintes edições na seçãoscripts
:{ "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. Esse código é um pequeno programa Node.js que sempre responde 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, usamos a estrutura de aplicativo web 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 seu aplicativo no Azure, você precisa salvar a lista de requisitos de 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 sua sessão de shell de comando principal (na janela à direita), execute os seguintes comandos para ativar o ambiente virtual:
cd .. source venv/bin/activate
Na sua sessão principal do shell de comando (na janela à direita), execute os seguintes comandos para iniciar seu 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.