6. Le Sigle del Marketing – La Programmazione
Partecipare a una conversazione con dei programmatori non è un’impresa semplice, a meno che non sia un programmatore anche tu. Se sei qui, però, non credo sia questo il caso. È facile sentirsi smarriti, riuscire a seguire solo un terzo della conversazione.
In questa puntata di DSAMD, il Dizionario delle Sigle e degli Acronimi del Marketing Digitale, sveleremo alcuni termini che ti aiuteranno a comprendere meglio i programmatori e a comunicare in modo efficace quello che ti serve per creare contenuti e servizi a supporto delle tue campagne.
BE e FE: a ciascuno i suoi ambiti di competenza
Ogni sito o applicazione ha due facce: una visibile a tutti e una che, invece, sostiene il funzionamento del sito. Nel primo caso, si tratta del layout della piattaforma, ovvero del suo aspetto e di tutti gli elementi interattivi che lo caratterizzano. Il secondo riguarda ciò che gli utenti non vedono perché legato al server ospite e gestisce le funzionalità previste.
Perché è importante saperlo? Perché a seconda di quello che ti serve avrai bisogno di un programmatore (o DEV) con specifiche competenze. Esistono, infatti, due tipi di programmazione:
- FE (o front-end) per tutti gli sviluppi client-side relativi all’interfaccia grafica (o GUI) come immagini, moduli, form, bottoni, barre di navigazione, footer, header, ecc.
- BE (o back-end) per ciò che riguarda le operazioni server-side, come quelle che gestiscono le API, il server, il database, ecc.
Ci sono anche dei programmatori full-stack, ovvero specializzati sia in front-end che back-end. Nelle agenzie web o nelle software house, in genere, trovi tutte queste figure, con il vantaggio di poter integrare richieste di diverso genere. Se desideri approfondire l’argomento, ne abbiamo parlato in modo più dettagliato in questo articolo.
Le principali sigle del Front-end
Chi si occupa di front-end utilizza principalmente 3 linguaggi di programmazione:
- HTML (HyperText Markup Language): utilizzato per la formattazione e l’impaginazione di contenuti web. È il codice base di un sito e, tra l’altro, viene letto dai crawler dei browser ai fini dell’indicizzazione
- CSS (Cascading Style Sheets): si tratta di fogli di stile che permettono di affinare l’aspetto grafico di un contenuto ipertestuale
- JS (JavaScript): è uno dei linguaggi di programmazione più diffusi al mondo e permette di aggiungere elementi dinamici alle pagine HTML (e molto altro, tanto che può essere utilizzato anche da chi si occupa di back-end)
Questi tre linguaggi insieme costituiscono le basi fondamentali della navigazione sul sito/app. In particolare, nelle SPA (Single Page Applications, cioè siti o app composti da un’unica pagina), vengono caricati immediatamente per ridurre al minimo i tempi di latenza.
Parentesi. Oltre alle SPA, un’altra tecnologia che si sta diffondendo molto è quella SSR (Server Side Rendering) che genera il codice HTML della pagina direttamente sul server (sconfinando nel back-end) e poi invia tutto al browser nel momento in cui l’utente naviga sul sito. Il risultato? Tempi di latenza ancora inferiori rispetto alle SPA!
C’è un velo sottile che divide il lavoro del front-end developer da quello del graphic designer. Di base, si può dire che il primo sia il braccio e il secondo la mente, ma si verificano spesso delle sovrapposizioni di ruolo. È quello che succede, per esempio, con il caricamento di immagini.
Per vincoli tecnici, di spazio o per evitare di influire sui tempi di caricamento delle pagine, lo sviluppatore potrebbe chiederti le immagini in formati specifici, come:
- PNG (Portable Network Graphic): è un file raster che può includere sfondi trasparenti o semitrasparenti in HD (High Definition). Una piccola curiosità: se è raster, l’immagine viene rappresentata come una griglia e ogni quadratino corrisponde a un PX (pixel)
- JPG (Joint Photographic Experts Group): rispetto alle immagini .png, quelle .jpg hanno dimensioni più compatte, ma questo va a discapito della qualità
- SVG (Scalable Vector Graphics): non si tratta di file raster, ma di immagini vettoriali, ovvero descritte tramite un sistema di figure geometriche che determinano forme, punti, linee… possono essere ridimensionate a piacere senza ridurre la qualità
Le principali sigle del Back-end
Passiamo adesso al linguaggio abbreviato della programmazione back-end. Non esiste sito o app che non sia ospitato su un server raggiungibile tramite URL (Uniform Resource Locator). Il server è un computer sempre acceso che fornisce dati o funzionalità ad altre macchine (chiamate client) su rete geografica (WAN o Wide Area Network) con Internet o su rete locale (LAN o Local Area Network).
Il server può essere collegato anche ad altri server in una CDN (Content Delivery Network), in modo da ridurre il ritardo nella ricezione di informazioni tra server e client e contrastare possibili attacchi informatici. Ne abbiamo parlato in modo approfondito qui.
Dove si inserisce la programmazione back-end in tutto questo? Quando l’utente interagisce con l’interfaccia grafica invia una richiesta al server in formato HTTP. Il server elabora quella richiesta e fornisce una risposta interagendo con:
- DB o database: si tratta di un archivio di informazioni strutturate e che, di solito, è controllato da un RDBMS (Relational Database Management System).
- API di terze parti: le Application Programming Interface permettono ai software di comunicare con altri software. Possono essere regolate dal protocollo SOAP (Simple Object Access Protocol) che facilita la condivisione delle informazioni. In alternativa, possono attenersi ai vincoli architetturali REST (Representational State Transfer) o GraphQL.
- altri servizi
Le API vengono spesso confuse con i WS (Web Service), ma non sono la stessa cosa. Le API sono interfacce che permettono a un software di accedere alle funzionalità di un altro software. I WS sono componenti software che permettono l’interoperabilità tra applicazioni che interagiscono su una rete: il WS riceve le richieste, le comunica al sistema remoto e poi restituisce la risposta ottenuta.
Verso l’AI e oltre
Chiudiamo questa puntata di DSAMD con una considerazione. Il mondo del web cambia a ritmi vertiginosi e quello che è vero oggi potrebbe non esserlo più tra qualche anno. L’ascesa dell’Intelligenza Artificiale ha segnato un punto di svolta: oggi è possibile creare codice in minor tempo grazie ai modelli di AI generativa. Forse domani, sarà addirittura la struttura stessa delle applicazioni a cambiare, verso un collegamento più fluido tra front-end e back-end. Magari non ci sarà neanche più bisogno di front-end, se si andrà verso un futuro di interazioni vocali con agenti personali intelligenti.
Quello che hai letto in questo articolo sarà ancora valido in futuro? Solo il tempo potrà darci una risposta.
