Exercício – escrever código para implementar uma aplicação Web
Nesta unidade, você usa ferramentas de desenvolvedor para criar o código para um aplicativo Web inicial.
Criar um projeto Web novo
No centro das ferramentas da CLI de .NET encontra-se a ferramenta de linha de comandos dotnet
. Usando esse comando, você cria um novo projeto Web ASP.NET Core.
Execute o seguinte comando para criar um novo aplicativo ASP.NET Core Model-View Cotroller (MVC) chamado "BestBikeApp":
dotnet new mvc --name BestBikeApp
O comando cria uma nova pasta chamada "BestBikeApp" para armazenar seu projeto.
Testar a sua aplicação Web (opcional)
Você pode testar seu aplicativo localmente no Azure. Para fazê-lo, siga os seguintes passos:
Execute os seguintes comandos para criar e executar seu aplicativo Web em segundo plano:
cd BestBikeApp dotnet run &
Você deve obter a saída como o exemplo a seguir:
[1] <process-number> <username> [ ~/BestBikeApp ]$ Building... 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:<port> 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
Na saída, anote os valores de número> de <processo e< porta.>
Execute o comando a seguir para navegar até seu aplicativo Web, substituindo <a porta> pela porta que você anotou na última etapa.
curl -kL http://localhost:<port>/
Você verá algum HTML aparecer, terminando nas 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>
Usando o <número> do processo que você anotou anteriormente, pare dotnet:
kill <process-number>
Para criar uma aplicação web inicial, usamos o Maven, uma ferramenta de gerenciamento de projetos e construção comumente usada para aplicativos Java. Usamos o maven-archetype-webapp
modelo para gerar o código para a nossa aplicação web.
Execute os seguintes comandos no Azure Cloud Shell agora para criar um novo aplicativo Web:
cd ~ mvn archetype:generate -DgroupId=example.demo -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.5
Agora, execute os seguintes comandos para mudar para o diretório da nova aplicação "olamundo" e empacote a aplicação para implementação:
cd helloworld mvn package
Quando o comando terminar de ser executado, execute estes comandos para abrir o diretório de destino e listar seu 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.
Para criar uma aplicação Web inicial Node.js, usamos o Node Package Manager (npm
) juntamente com algum código JavaScript para executar o processamento real da página Web.
Execute os seguintes comandos no terminal para criar um novo
package.json
ficheiro que descreva a nossa aplicação Node.js:cd ~ mkdir helloworld cd helloworld cat >package.json <<EOL { "name": "helloworld", "version": "1.0.0", "scripts": { "start": "node index.js" } } EOL
Um novo package.json
arquivo é criado na pasta atual. Você deve encontrá-lo na pasta atual se você entrar ls
na janela do terminal. Precisamos de um ficheiro JavaScript para executar a lógica do nosso website. Para este exemplo básico, precisamos apenas de um arquivo: index.js
.
Crie o arquivo executando o seguinte comando no terminal:
cat >index.js <<EOL 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}\`); EOL
Testar a sua aplicação Web (opcional)
Enquanto estiver executando o aplicativo Web helloworld, você pode verificar se ele está sendo executado localmente abrindo uma segunda sessão de shell de comando.
Em uma nova guia do navegador, navegue até https://shell.azure.com/.
Na sessão principal do shell de comando, execute os seguintes comandos para iniciar o aplicativo Web em segundo plano:
cd ~/helloworld npm start &
Você deve obter a saída como o exemplo a seguir:
[1] <process-number> > helloworld@1.0.0 start > node index.js Server running at http://localhost:1337
Na saída, anote o valor do número> do <processo.
Na mesma sessão do Cloud Shell, execute o seguinte comando para navegar até seu aplicativo Web.
curl -kL http://localhost:1337/
Deverá obter o seguinte resultado:
<html><body><h1>Hello World!</h1></body></html>
Usando <o número> do processo que você anotou anteriormente, pare o nó:
kill <process-number>
Para criar uma aplicação web inicial, usamos a estrutura de aplicação web Flask.
Execute os seguintes comandos no Azure Cloud Shell para configurar um ambiente virtual e instalar o Flask no 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 novo arquivo chamado application.py com uma resposta HTML básica:
cat >application.py <<EOL from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "<html><body><h1>Hello Best Bike App!</h1></body></html>\n" EOL
Para implantar seu aplicativo no Azure, você precisa salvar a lista de requisitos de aplicativo que você fez para ele em um arquivo requirements.txt . Para tal, execute o seguinte comando:
pip freeze > requirements.txt
Testar a sua aplicação Web (opcional)
Você pode testar seu aplicativo localmente no Azure enquanto ele está em execução.
Execute os seguintes comandos para iniciar seu aplicativo Web em segundo plano:
cd ~/BestBikeApp export FLASK_APP=application.py flask run &
Você deve obter a saída como o exemplo a seguir:
[1] <process-number> * Serving Flask app 'application.py' * Debug mode: off WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:5000 Press CTRL+C to quit
Na saída, anote o valor do número> do <processo. Como o processo está sendo executado em segundo plano, você não pode sair com CTRL+C. Você precisará pará-lo com seu número de processo.
Execute o seguinte comando para navegar até seu aplicativo Web.
curl -kL http://localhost:5000/
Você deve obter a seguinte saída HTML:
<html><body><h1>Hello Best Bike App!</h1></body></html>
Usando o <número> do processo que você anotou anteriormente, pare Flask:
kill <process-number>