modulo 01 / lezione 02
Che cos'è davvero il Vibe Coding
Vibe coding vs no-code, low-code, copilot tradizionale
Distinguere strumenti e approcci che vengono spesso confusi, così da scegliere il metodo adatto al problema reale.
Vibe coding vs no-code, low-code, copilot tradizionale
Quattro approcci diversi vengono spesso messi nello stesso calderone “fare software senza saperlo fare”. Sono cose distinte, con vincoli, costi e rischi diversi. Confonderli porta a scegliere lo strumento sbagliato per il problema, e a scoprirlo troppo tardi.
Perché questa lezione conta
La domanda non è “quale strumento è migliore”, è “quale strumento è adatto al problema che ho davanti”. Una landing page di un evento non ha gli stessi requisiti di un gestionale con ruoli e fatturazione. Un prototipo da buttare via in tre giorni non è un prodotto da mantenere per cinque anni. Senza una mappa chiara delle quattro categorie, finisci o a sovradimensionare (un gestionale costruito a mano per fare quello che un Airtable risolve in mezz’ora) o a sottostimare (una landing in no-code che diventa un’app reale e non è più portabile).
Obiettivo operativo
Alla fine devi saper:
- definire ciascuno dei quattro approcci in una frase, senza confonderli;
- classificare un problema reale e scegliere la categoria giusta motivando il criterio;
- riconoscere i segnali che indicano che è il momento di cambiare approccio.
Nucleo della lezione
1. Le quattro categorie, definizioni operative
No-code: configuri un sistema visuale, non scrivi codice. Esempi: Webflow, Bubble, Airtable, Zapier, Notion. Il codice esiste ma è generato dalla piattaforma e non lo controlli. Forza: velocità di partenza, zero gestione infrastruttura. Limite: vivi dentro la piattaforma, esci con difficoltà.
Low-code: configuri visualmente ma puoi estendere con codice nei punti dove la piattaforma lo permette. Esempi: Retool, Power Apps, Appsmith. Forza: copri il caso comune in fretta e personalizzi i dettagli. Limite: la parte custom è legata alla piattaforma, non è codice indipendente.
Copilot tradizionale: AI come assistente locale che suggerisce completamenti dentro l’editor. Esempi: GitHub Copilot autocomplete, IntelliCode, Tabnine. Tu scrivi codice, l’AI propone la riga successiva o un blocco breve. Forza: accelera digitazione e boilerplate. Limite: non progetta, non spezza task, non legge il progetto in profondità.
Vibe coding: lavori con un modello generativo come collaboratore conversazionale. Spieghi cosa vuoi, ricevi piano e codice, leggi diff, iteri. Esempi: Claude Code, Cursor, Aider, Windsurf. Forza: produci codice indipendente che vive nella tua repo, con flessibilità ampia. Limite: serve metodo, lettura attiva e disciplina; senza, produce debito tecnico veloce.
2. Criteri di confronto reali
Cinque dimensioni distinguono concretamente le quattro categorie:
- Controllo: quanto puoi modificare il sistema sotto il cofano. Cresce da no-code (poco) a vibe coding (totale).
- Portabilità: se chiudi lo strumento, il lavoro sopravvive? No-code: spesso no. Low-code: parzialmente. Copilot/vibe: sì, è codice tuo.
- Costo a regime: licenze mensili (no-code/low-code) vs costo modello + hosting (vibe coding). Cambia a seconda della scala.
- Curva di apprendimento: no-code rapida ma con tetto basso; vibe coding più lenta ma estende.
- Debito tecnico: no-code accumula debito di piattaforma (lock-in); vibe coding accumula debito di codice (qualità). Sono debiti di natura diversa, entrambi reali.
3. Quando un prototipo visuale basta
Basta quando: il problema è ben coperto dalle primitive della piattaforma, il volume di personalizzazione è basso, il time-to-validate conta più della manutenibilità, e l’uscita dalla piattaforma non è un rischio (perché butterai via il prototipo, o resterai sulla piattaforma per sempre).
Non basta quando: hai logica di business specifica, integrazioni custom profonde, requisiti di performance/sicurezza non standard, o intenzione esplicita di mantenere il prodotto a lungo termine con team interno. Lì serve codice leggibile, modificabile e indipendente — territorio del vibe coding (o della programmazione tradizionale).
Segnale di transizione: stai passando più tempo a combattere la piattaforma che a costruire feature. È il momento di esportare e ricostruire altrove.
Procedura pratica
Per scegliere su un problema concreto:
- Descrivi il problema in 3 righe: cosa, per chi, vincolo principale.
- Stima orizzonte temporale: usa-e-getta (settimane), prodotto medio (mesi), prodotto lungo (anni)?
- Stima volume di personalizzazione: 90% standard? 50%? 10%?
- Verifica vincoli rigidi: dati on-premise? offline? mobile nativo? performance specifiche?
- Scegli categoria in base ai punti sopra. Se sei a metà fra due, parti dalla più semplice e prepara piano di uscita.
Laboratorio guidato
Cinque scenari, classifica e motiva ciascuno:
- Landing page per un evento di un weekend, con form iscrizione e contatore presenze.
- Dashboard interna per visualizzare ordini di un piccolo ecommerce, usata da 3 persone.
- Bot Telegram che risponde a comandi, recupera dati da un database aziendale.
- Gestionale con ruoli (admin, operatore, cliente), fatture, magazzino, da usare per anni.
- Script personale che automatizza rinomina di 10.000 file su disco.
Per ogni scenario: categoria scelta, motivazione in 2 righe, rischio principale, condizione che farebbe cambiare scelta.
Output atteso
Una matrice 5x4: scenari sulle righe, categorie sulle colonne. Per ogni cella: adatto, possibile, inadatto + nota breve. La matrice diventa il tuo riferimento personale: applicabile a problemi futuri sostituendo gli scenari.
Studio passo passo
Studia questa lezione in tre passaggi, senza correre subito al prompt o al codice.
- Prima lettura: chiarisci l’obiettivo: distinguere strumenti e approcci che vengono spesso confusi, così da scegliere il metodo adatto al problema reale. Se non riesci a riscriverlo in una frase tua, rileggi il nucleo della lezione.
- Seconda lettura: trasforma i contenuti in domande operative:
- No-code come configurazione visuale, low-code come estensione con codice, copiloti come assistenza locale e vibe coding come processo guidato da conversazione.
- Livello di controllo, portabilità, debito tecnico e possibilità di uscire dallo strumento.
- Quando un prototipo visuale basta e quando serve progettare codice leggibile e modificabile.
- Applicazione: svolgi il laboratorio: classificare cinque scenari pratici: landing page, dashboard interna, bot, gestionale con ruoli, script personale. L’output da ottenere è: una matrice decisionale con approccio consigliato, rischi principali e condizioni per cambiare strada.
Prima di passare alla lezione successiva, controlla di avere un artefatto concreto: una tabella, un prompt, una checklist, un mini report, un diff commentato o una decisione scritta. Nel vibe coding la comprensione resta astratta finché non produce una traccia verificabile.
Checklist di verifica
- so definire le quattro categorie senza guardare gli appunti;
- ho un esempio concreto per ciascuna, preso dalla mia esperienza o da progetti reali;
- so nominare almeno un caso in cui no-code era la scelta giusta e uno in cui era sbagliata;
- ho identificato la categoria del prossimo progetto che voglio fare.
Errori comuni
Scegliere per moda, non per problema. “Tutti usano X quindi uso X” è un criterio debole. Il problema decide, non il trend.
Sottovalutare il lock-in. Le piattaforme no-code sono fantastiche finché non vuoi uscirne. Verifica esportazione, formato dati, possibilità di mantenere il prodotto fuori dalla piattaforma prima di investire mesi di lavoro.
Confondere copilot e vibe coding. Copilot completa una riga: tu guidi sempre. Un agente vibe coding modifica più file in autonomia: serve sorveglianza diversa.
Mescolare approcci senza piano. Iniziare in no-code, aggiungere low-code, poi script custom, poi vibe coding sopra al tutto: produce un mostro Frankenstein difficile da debuggare. Le transizioni vanno pianificate.
Prompt di lavoro
Devo scegliere fra no-code, low-code, copilot e vibe coding per questo problema:
[descrizione problema in 3 righe]
Vincoli:
- orizzonte temporale: [settimane/mesi/anni]
- chi userà: [numero utenti, profilo]
- dati: [tipo, sensibilità, volume]
- budget: [tempo + denaro]
- chi manterrà: [io solo / team / nessuno]
Per ciascuna delle quattro categorie, dammi:
1. fit con il problema (alto/medio/basso) + motivazione
2. rischio principale specifico al mio caso
3. condizione di transizione (quando dovrei cambiare approccio)
Concludi con una raccomandazione motivata, non con "dipende".
Esercizio finale
Prendi un progetto che hai realmente realizzato (o che vorresti realizzare). Compila la procedura sopra. Confronta la categoria scelta con quella che useresti per istinto. Se coincidono, motiva la scelta in 5 righe. Se divergono, capire perché è il punto della lezione.