Exercício – escrever código para implementar uma aplicação Web

Concluído

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:

  1. 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.>

  2. 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">
                &copy; 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>
    
  3. 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.

  1. 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
    
  2. 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
    
  3. 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.

  1. 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.

  1. 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.

  1. Em uma nova guia do navegador, navegue até https://shell.azure.com/.

  2. 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.

  3. 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>
    
  4. 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.

  1. 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
    
  2. Execute estes comandos para criar e alternar para o novo diretório do aplicativo Web:

    mkdir ~/BestBikeApp
    cd ~/BestBikeApp
    
  3. 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
    
  4. 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.

  1. 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.

  2. 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>
    
  3. Usando o <número> do processo que você anotou anteriormente, pare Flask:

    kill <process-number>