Preparare il codice dell'applicazione Web

Completato

In questa unità verrà illustrato come creare il codice per l'applicazione Web e come integrarlo in un repository di controllo del codice sorgente.

Bootstrap di un'applicazione Web

Dopo aver creato le risorse per la distribuzione dell'applicazione Web, è necessario preparare il codice che si vuole distribuire. Poiché il bootstrap di una nuova applicazione Web può essere eseguito in molti modi, la procedura descritta può essere diversa da quella a cui si è abituati. L'obiettivo è quello di offrire rapidamente un punto di partenza per completare un intero ciclo fino alla distribuzione.

Nota

Tutto il codice e i comandi mostrati in questa pagina sono solo a scopo di spiegazione, non è necessario eseguirli. Verranno usati in un esercizio successivo.

Lo strumento da riga di comando dotnet incluso nell'SDK .NET consente di creare direttamente il codice per una nuova applicazione Web. In particolare, è possibile usare il comando dotnet new per generare una nuova applicazione da un modello:

dotnet new mvc --name <YourAppName>

Questo comando creerà una nuova applicazione MVC ASP.NET Core in una nuova cartella con il nome specificato.

Per creare rapidamente un'applicazione Web di base, è possibile usare lo strumento da riga di comando Maven (mvn) comunemente usato nell'ecosistema Java. In particolare, Maven include una funzionalità denominata archetipi che consente di creare rapidamente il codice di base per diversi tipi di applicazioni usando i modelli. È possibile usare il modello maven-archetype-webapp per generare il codice per un'app Web semplice che visualizza "Hello World!" nella relativa home page.

mvn archetype:generate -DgroupId=example.webapp -DartifactId=helloworld -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4

Questo comando creerà una cartella helloworld che contiene il codice sorgente per l'applicazione.

È possibile usare lo strumento da riga di comando (npm) (Node Package Manager) fornito con Node.js per creare una nuova applicazione. Il comando init crea un nuovo package.json necessario per l'applicazione:

npm init -y

Se si apre il file package.json creato nella cartella corrente, è possibile aggiungere una voce start alla sezione scripts per descrivere la modalità di esecuzione dell'applicazione Web:

...
  "scripts": {
    "start": "node index.js"
  },
...

Al termine dell'operazione, è possibile scrivere il codice effettivo dell'applicazione Web in un nuovo file index.js:

const http = require('http');
const port = process.env.PORT || 3000;

http.createServer(function(request, response) {
  response.writeHead(200, { 'Content-Type': 'text/plain' });
  response.end('Hello World!');
}).listen(port);

console.log(`Server running at http://localhost:${port}`);

Questo codice di esempio crea un server in ascolto sulla porta 3000 del computer e risponde a ogni richiesta con un messaggio "Hello World!".

Per creare una nuova applicazione Web di base con poche righe di codice, è possibile usare Flask, un framework di uso comune per le applicazioni Web. È possibile installare Flask usando il comando seguente:

pip install flask

Quando Flask è disponibile nell'ambiente, è possibile creare un'applicazione Web minima usando questo codice:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!\n"

Questo codice di esempio crea un server che risponde a ogni richiesta con un messaggio "Hello World!".

Aggiunta del codice al controllo del codice sorgente

Quando il codice dell'applicazione Web è pronto, il passaggio successivo consiste in genere nell'inserire il codice in un repository di controllo del codice sorgente, ad esempio Git. Se Git è installato nel computer, l'esecuzione di questi comandi nella cartella del codice sorgente inizializza il repository.

git init
git add .
git commit -m "Initial commit"

Questi comandi consentono di inizializzare un repository Git locale e di creare un primo commit con il codice. Si ottiene immediatamente il vantaggio di poter conservare una cronologia delle modifiche con i commit. In seguito sarà anche possibile sincronizzare il repository locale con un repository remoto, ad esempio ospitato in GitHub. Ciò consentirà di configurare l'integrazione continua e la distribuzione continua (CI/CD). Sebbene l'utilizzo di un repository di controllo del codice sorgente sia consigliato per le applicazioni di produzione, non è necessario per poter distribuire un'applicazione nel Servizio app di Azure.

Nota

L'uso di CI/CD consente una distribuzione più frequente del codice in modo affidabile tramite l'automatizzazione delle compilazioni, dei test e delle distribuzioni per ogni modifica del codice. Abilita l'invio di nuove funzionalità e correzioni di bug per l'applicazione in modo più rapido ed efficace.