English
Instant Developer Foundation Documentazione
  • Tutorial applicazioni web
  • Per iniziare

Come programmare applicazioni web

copia link
<< Video precedente
Apri in una finestra a tutto schermo.
Video successivo >>

Trascrizione

Iniziamo l’approccio con il mondo delle applicazioni web cercando di darne una spiegazione: diciamo che l’applicazione web potrebbe essere un semplice sito web dinamico o più specificatamente un software che elabora dei dati su un sistema remoto i quali vengono veicolati tramite una rete, nello specifico la rete internet tramite protocolli standard di comunicazione.

Il vantaggio di questa tipologia di software è l’accessibilità dello stesso tramite qualsiasi dispositivo elettronico: il loro utilizzo si basa sulla presenza di un software di navigazione internet (un browser ormai presente su tutti gli smartphone, tablet, smart tv, computer) e di una connessione di rete.

Per poter sviluppare applicazioni web è indispensabile capirne le dinamiche, a prescindere dagli strumenti che utilizzeremo per lo sviluppo.

Il meccanismo può essere schematizzato con questa immagine:
  • L’utente da un comando al browser.
  • Il browser effettua una chiamata all’url indicato inviando il comando.
  • Il server web gira la richiesta all’applicazione web la quale elabora il comando e ritorna dei dati al browser.
  • Il browser riceve la risposta e la mostra all’utente

Il funzionamento, dunque, di qualsiasi applicazione web si basa su un continuo scambio di dati tra client e server dove la parte server si protegge esponendo solo dati e funzionalità che lo sviluppatore ha previsto; per esempio l’accesso a dati presenti su un database non è fattibile direttamente dal browser (lato utente) senza che lo sviluppatore lato server non abbia esposto questa funzionalità con le dovute precauzioni di sicurezza.

Compreso questo meccanismo di base nascono ora diverse domande:

  • Punto 1 - il browser come invia i comandi al server?
  • Punto 2 - in che formato vengono trasmessi i dati?
  • Punto 3 - il server come elabora le richieste per rispondere al browser?
  • Punto 4 - il browser come presenta i contenuti ricevuti dal server?

Cercherò’ di rispondere a queste domande senza entrare nei dettagli tecnici che richiederebbero molte più ore di corso.

Punto 1)
Il browser comunica con il server tramite richieste che rispecchiano una logica denominata REST: REST è un acronimo e sta per Representational State Transfer ovvero una rappresentazione del trasferimento di stato di un determinato dato.

Attenzione che REST non è una tecnologia ma sono linee guida che definiscono lo stile con cui i dati vengono trasmessi; sentiremo parlare anche di RESTful API, di richieste GET o POST. Sono concetti la cui spiegazione dettagliata esula da questo tutorial e che con l’utilizzo di Instant Developer possono essere imparati in seguito; nel caso la vostra curiosità si fosse fatta maggiore vi consiglio di effettuare una ricerca dei termini su Google e cosi da ricavare altre fonti più dettagliate; per ora rimaniamo con il dire che il browser invia comandi al server, cioè effettua richieste al server di tipo GET.

Quando si digita un url tipo questo visualizzato -> https://www.instantdeveloper.com/index.html

il browser sta effettuando una richiesta di tipo GET https://www.instantdeveloper.com/index.html

Insieme a questo comando il browser è in grado di inviare dei parametri per richiedere al server comportamenti specifici.

La sintassi prevede un ? al termine dell’url seguito da coppie chiavi valori; come ad esempio quelle visualizzate ora.

GET http://www.instantdeveloper.com/index.html?CMD=YES&REL=5

È una richiesta sempre allo stesso server ma con 2 parametri uniti dal simbolo AND.

La prima coppia con la chiave CMD e valore YES e la seconda coppia con chiave REL e valore 5.

Ovviamente se il server non è istruito alla ricezione di questi parametri, non capita nulla di diverso rispetto alla richiesta della pagina senza parametri.

Punto 2)
In che formato vengono trasmessi i dati ?

In teoria qualsiasi formato/codifica sarebbe lecito per inviare dati, ma lo standard prevede che lo scambio avvenga in formato testo, codificato con l’ausilio di un metalinguaggio denominato XML; è appunto un metalinguaggio che consente la descrizione di documenti strutturati.

Punto 3)
Il server come elabora le richieste per rispondere al browser ?

Il server web processa i dati e invia un risultato al browser: tale operazione è svolta dall’applicazione web tramite il linguaggio di programmazione lato server; per questo compito esistono diversi linguaggi/tecnologie.

PHP un linguaggio di scripting interpretato, Microsoft ASP .NET un insieme di tecnologie di sviluppo per il web, la piattaforma Java da non confondere con Javascript , con le macchina virtuali Java e le API.

Quindi Il core dell’applicazione è scritto con uno dei linguaggi supportati dal server; ultimamente ha fatto la comparsa anche Javascript come linguaggio server sfruttando le funzionalità di Node.js

Punto 4)
Il browser come presenta i contenuti ricevuti dal server?

La presentazione dei contenuti avviene con un mix di linguaggi/semantiche/sistemi.
In primis la rappresentazione della pagina utilizza il linguaggio di markup HTML unito al linguaggio CSS per la formattazione dei contenuti; infine Javascript, il vero linguaggio di programmazione lato client, eseguito dentro al browser che rende la pagina interattiva: Javascript è utilizzato per elaborazioni più o meno complesse e per modificare il contenuto della pagina in ogni aspetto senza dover contattare il server.

Compresi questi passaggi possiamo tornare alla domanda principale del tutorial: come è possibile programmare applicazioni web?

Per svolgere il lavoro è necessario conoscere tutto ciò che vi ho raccontato ed esattamente:
HTML - CSS - JAVASCRIPT - XML - un linguaggio lato server.

E’ anche necessario creare una propria dinamica di scambio delle informazioni tra client e server e conoscere il linguaggio SQL per la memorizzazione dei dati su database.

Instant Developer sfrutta questi principi, però troviamo tutto già pronto: una dinamica consolidata per lo scambio dati, Html e Css preconfezionati e modificabili per la presentazione dei dati, funzioni javascript di gestione interfaccia client, connessione e manipolazione dei dati con i più diffusi database; anche coloro che di queste tecnologie sono a digiuno realizzeranno robuste applicazioni web e impareranno strada facendo tutti questi concetti.

Nei prossimi tutorial installiamo il necessario per iniziare la programmazione con Instant Developer della nostra prima applicazione web.

Ultima modifica: 19/03/2021 / Validità: da 20.0.7800

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum