Un’introduzione allo Sviluppo Web

Salve a tutti! Sono Mirko Benedetti, un esperto informatico nonché copywriter, e vi guiderò gradualmente in questo percorso. In questo articolo, “Un’introduzione allo sviluppo web” approfondirò alcune delle tematiche più frequenti nell’ambito dello sviluppo web.

Una breve, ma Esaustiva Introduzione Storica e Tecnica.

Lo sviluppo web ha avuto il suo apice in italia sul finire degli anni ’90, quando una miriade di utenti non qualificati e non esperti, si è riversata su di esso.

Mirko Benedetti, Un'introduzione allo Sviluppo Web

Questo ha creato un mare di informazioni di tipo pluralistico, ma anche intricato e difficilmente verificabile.

Con gli anni 2000 si è originato un fenomeno che prende mossa dal web e sfocia nello sviluppo mobile. Dunque il focus, si è rivolto verso l’utenza, che è divenuta sempre più esigente e ha cercato contenuti più facilmente e velocemente fruibili.

Dal web informativo e dopo la bolla ‘dot com’ degli anni successivi, si è passati allo sviluppo delle ‘web app’ con l’introduzione nel mercato di dispositivi sempre più performanti e duttili, gli smartphone.

A questo punto, è entrata a far parte della vita dell’utente la pubblicità mirata, con la profilazione delle abitudini in rete attraverso i cookies. Questi piccoli elementi di testo vengono memorizzati nel proprio dispositivo e sono poi in grado di essere letti da chi li emette.

Introduzione allo Sviluppo Web, Le Ultime Novità Tecnologiche.

Altra ondata di novità è la nascita del web semantico e interattivo. I chatbot sono adesso in grado di acquisire conoscenza in maniera statistica, su enormi basi dati presenti nel web, per poi riversarla in risposta automatica alle domande poste dall’utente.

Dal punto di vista del programmatore, questo ha visto l’avvicendarsi di tecnologie sempre più complesse che sono andate man mano raffinandosi.

Si è passati dall’HTML a JavaScript, PHP e Java solo per citarne alcuni; dall’ipertesto ai media tradizionali come il video e l’audio, non tralasciando mondi virtuali creati con la computer grafica, il gioco on-line.

Oggigiorno la pubblicità e i servizi sono le fonti di monetizzazione maggiore del web. Rimane promettente, ma non affermata, la creazione di valuta virtuale come i bitcoin.

Si è dunque affermata, oltre al mero sviluppo, la figura dell’usability tester e del marketer. Questi due personaggi lavorano sul rendere il prodotto informatico più rispondente ai bisogni umani. Non dimentichiamo neanche la crociata del diritto online, per la privacy, i diritti d’autore ed altro ancora.

Si è passati dal programmare al progettare il web, perchè si sono inserite nuove figure non strettamente tecniche nel senso informatico, ma molto più legate alla vita quotidiana, come l’intrattenimento, la ristorazione, la moda o i viaggi.

Dal sito informativo si è dunque passati al sito interattivo e commerciale, con la creazione di grandi realtà di vendita di beni materiali e distribuzione organizzata su vasta scala, come la società fondata da Jeff Bezos.

Introduzione allo Sviluppo Web, la Figura dello Sviluppatore.

Il programmatore non è più quindi una figura necessariamente ‘core business’ in tutti gli ambiti informatici, anche perchè si sono affermate professionalità complementari e trasversali.

Con l’avvento della pandemia del 2019, si è sempre più affermato il lavoro domestico anche per chi esegue mansioni informatiche, con tutte le sue complicanze relazionali.

D’altro canto, si è verificato un fenomeno che aveva preso piede già negli anni precedenti alla pandemia, ovvero la creazione di gruppi sociali e siti dedicati a questo scopo come il social network creato da Mark Zuckerberg.

Non cito altri protagonisti, come gli inventori dei sistemi operativi o dei motori di ricerca. Questo non perchè non abbiano avuto importanza nello sviluppo web, ma perchè ne stanno semplicemente alla base. Li citerò in articoli più pertinenti, se questo dovesse risultarmi sufficientemente esemplificativo.

L’ultima frontiera dello sviluppo web attiene alla politica e la salute, la pubblica amministrazione.

Anche in questi settori come lo era negli altri, è utile attuare un approccio integrato che porta ad un prodotto performante, grazie ai tecnici, ma anche convincente, grazie ai marketer.

Il prodotto deve essere soprattutto utile, grazie ad un approccio integrato tra online e offline. Questo lo si realizza attraverso un processo che va al di là della progettazione, ma che comprende anche la strategia.

Un’introduzione allo Sviluppo Web, Collegamenti per Approfondire.

Se vi ho convinto a diventare sviluppatori web e vi ho orientato, ecco alcune tecnologie che vi consiglio per iniziare:

Ecco un Esempio di Codice Scritto per Symfony.

// src/Controller/NumeroFortunatoController.php

namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;

class NumeroFortunatoController
{
    public function numero(): Response
    {
        $numero = random_int(0, 100);
        return new Response(
            '<html><body>Numero Fortunato: '.$numero.'</body></html>'
        );
    }
}

La prima riga di codice è un commento, introdotto dalla doppia barra, un commento su singola linea, si possono creare anche commenti su più linee.

Il commento serve al programmatore per avere una nota mnemonica, in questo caso ci ricorda che il nostro programma è scritto su un file che sta nella directory ‘src/Controller’ del progetto Symfony.

Il nome del file ha estensione ‘php’, la quale rappresenta il linguaggio di programmazione usato da Symfony. Questo nome deve corrispondere al nome della classe, la classe è il mattone fondamentale sul quale si fonda il framework, perchè è basato sugli oggetti.

Un’introduzione allo Sviluppo Web: La Programmazione ad Oggetti.

La programmazione ad oggetti realizza l’astrazione fra l’implementazione vera e propria e il concetto che vogliamo tradurre in codice.

All’interno della nostra classe viene utilizzato un namespace, il quale non è altro che una suddivisione per aree semantiche o di scopo delle classi del programma.

In questo caso lo scopo della classe è quella di fare da controller, quindi gli si da un nome che termina per ‘controller’.

Il controller è la parte fondamentale del framework, ovvero quella che decide cosa fare in base all’indirizzo ‘url’ chiamato dall’utente.

In questo caso, il controller vuole restituire un messaggio con un numero casuale. Per fare questo, esso utilizza la classe di Symfony ‘Response’, introdotta dal costrutto ‘use’.

La nostra classe, introdotta dal costrutto ‘class’, ha un metodo che abbiamo chiamato ‘numero’, in modo da esemplificare meglio.

Un’introduzione allo Sviluppo Web, il Problema dei Nomi nella Programmazione.

Si consiglia però di utilizzare nomi inglesi ‘parlanti’, che spieghino cioè di che cosa trattano. I nostri nomi dovrebbero comunque essere dissimili da quelli usati dal framework o dal linguaggio in questione. Questo per non creare confusione tra ciò che abbiamo scritto noi e ciò che è già presente in essi. La cosa migliore poi è essere uniformi.

Il metodo ‘numero’ è una funzione della classe, ovvero una porzione di codice che esegue un comando ben specificato. Il metodo ha una sua variabile interna chiamata ‘$numero’.

Questa variabile viene passata ad un oggetto che viene istanziato attraverso il costrutto ‘new’, questo oggetto viene restituito dal metodo attraverso il costrutto ‘return’.

Il tipo di questo oggetto, ovvero la classe da cui è istanziato, è ‘Response’ e viene indicato nella firma del metodo, dopo i due punti nella sua dichiarazione. Il metodo è dichiarato come pubblico col costrutto ‘public’, ovvero può essere richiamato dall’esterno della classe.

La differenza tra classe e oggetto sta nel fatto che la classe ne è il suo prototipo, mentre l’oggetto assume dei valori specifici in memoria, detti stato. Entrambi hanno la possibilità di andare in esecuzione.

Altra cosa da capire è il parametro passato al costruttore del nuovo oggetto di tipo ‘Response’. Si tratta di codice HTML in cui viene interpolata la variabile ‘$numero’.

Il costruttore è una funzione che istanzia un oggetto a partire da un tipo, ovvero da una classe.

In ultimo sottolineo il concetto di ereditarietà e polimorfismo nella programmazione ad oggetti, dove alcune classi ereditano gli stessi attributi da classi genitori, avendo la possibilità di introdurre delle modifiche.

Volete ampliare la vostra conoscenza di queste tematiche discutendone con me? Vi invito a condividere con me la vostra opinione contattandomi.

Se vuoi approfondire altre tematiche tecniche e anche filosofiche, dai un’occhiata alla home page, troverai altri articoli.

Ti è piaciuto questo post? Commenta qui sotto e condividilo nei tuoi social network preferiti, per farmi udire meglio. Grazie di cuore!

Mirko Benedetti

Mirko Benedetti è l’informatico e copywriter con esperienza pluriennale nel campo dello sviluppo, scrittura web e nelle tecnologie delle telecomunicazioni.


Pubblicato

in

da

Tag:

Commenti

Una risposta a “Un’introduzione allo Sviluppo Web”

  1. Avatar Mirko Benedetti

    Grazie per aver letto l’articolo! Ho introdotto i concetti chiave dello sviluppo web, esplorando le tecnologie principali e il loro ruolo nella creazione di siti. Mi piacerebbe conoscere le vostre opinioni o domande sull’argomento. Sentitevi liberi di lasciare un commento per discutere insieme!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *