Exercício – Escrever o código para implementar um aplicativo Web

Concluído

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.

Execute o seguinte comando para criar um aplicativo Model-View Cotroller (MVC) do ASP.NET Core chamado "BestBikeApp":

dotnet new mvc --name BestBikeApp

O comando cria uma nova pasta chamada "BestBikeApp" para armazenar seu projeto. Para testar seu aplicativo localmente, você precisa do SDK do .NET instalado em seu sistema.

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.

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

  1. Execute os seguintes comandos no terminal para criar um novo arquivo package.json que descreva nosso aplicativo 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 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.

  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
    

Para testar seu aplicativo localmente, você precisa Node.js e npm instalados em seu sistema.

Para criar um aplicativo web inicial, usamos a estrutura de aplicativo web Flask.

  1. 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
    
  2. Execute estes comandos para criar e mudar para seu novo diretório de 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ê criou para ele em um arquivo requirements.txt. Para fazer isso, execute o comando a seguir:

    pip freeze > requirements.txt
    

Para testar seu aplicativo localmente, você precisa do Python 3 e do Flask instalados em seu sistema.