Salta al contenuto principale

Informazioni su WebDev Tools

Da script locale alla (sì, la 10.000ª) raccolta di strumenti: Una cronaca del caso

RFC 4648 Base64 RFC 8259 JSON RFC 4122/9562 UUID RFC 7519 JWT ISO/IEC 18004 QR NIST SP 800-63B WCAG A11y Solo lato client

Sì, lo so. La decimillesima raccolta di strumenti su Internet. A chi serve? Ma vi posso rassicurare: questo progetto non è mai stato pianificato. È un incidente, un prodotto della procrastinazione e una lezione sull'uso dell'intelligenza artificiale.

Tutto è iniziato in modo innocuo sul mio desktop.

All'inizio c'era lo script.

Come molti sviluppatori, anch'io avevo salvato alcuni strumenti personali sul mio localhost. Piccoli script per le seccature quotidiane: una conversione Em/Px qui, un piccolo aiuto là. Cose per le quali ero troppo pigro per cercare e aprire sempre gli stessi siti web. Infatti, sono in guerra aperta con i segnalibri .

Questi piccoli aiutanti facevano il loro dovere. Ma poi ne ho aggiunti altri due. E allora è successo: il mio istinto di sviluppatore web ha avuto la meglio.

Istintivamente ho iniziato a collegarli tra loro. Ci voleva un menu. E un po' di styling. E tutto ciò che viene in mente quando si vuole distrarsi con successo dal lavoro vero e proprio. Così una semplice raccolta di script si è trasformata in un progetto completo. Ho dovuto semplicemente “pimpare” il tutto fino a quando non ho avuto un vero e proprio piccolo sito web con tutto ciò che serve.

“AI, ci pensi tu!” – Un'idea folle?

A un certo punto mi è venuta un'idea: si tratta solo di semplici script. Perché non lasciare che sia l'IA a occuparsene? Da fedele utente di VS Code, ho avviato il progetto direttamente con Claude Sonnet 4.5 (in GitHub CoPilot).

Sono rimasto sorpreso, perché il risultato è stata un'applicazione web sorprendentemente buona e modulare espandibile.

Naturalmente non è stato così facile. Bisogna impedire costantemente all'IA di esagerare. Il mio comando più importante è diventato rapidamente: "No, non abbiamo bisogno di un gestore di pacchetti! E ora smettila di propormi un altro framework!"

Alla fine, però, ne è venuta fuori una struttura di base davvero utilizzabile.

Le insidie del “vibe coding” con l'IA

Il progetto ha preso slancio e ho imparato rapidamente alcune dure lezioni sulla collaborazione con i miei nuovi colleghi digitali.

La questione del framework: le IA preferiscono lavorare con Tailwind. E così hanno fatto anche in questo caso. Dopo alcune modifiche manuali, durante le quali la mia pazienza si è sempre più esaurita, alla fine ho perso la calma. Sono passato senza esitazione a Bootstrap, per portare a termine il lavoro in modo rapido e pragmatico. A volte "finito" è semplicemente meglio di 'perfetto' (o "Tailwind").

2. Senza Git? Senza di me! Per pura abitudine ho creato direttamente un repository Git. Per fortuna! Ho capito subito che quello che stavo facendo, ovvero questo "vibe coding" senza un piano preciso con l'IA, senza Git comportava un notevole spreco di tempo.

3. Le insidie della logica dell'IA: il problema più grande è che le IA amano semplificarsi la vita, ma nel modo sbagliato.

  • Speculano: invece di analizzare ciò che si intende realmente fare, spesso tirano a indovinare a caso. Bisogna porre fine rapidamente a queste speculazioni e indicare loro ogni passo con precisione, altrimenti si finisce nel caos.
  • Amano i propri script. Tendono a proporre script o soluzioni propri che spesso portano a risultati disastrosi. In non pochi casi ciò avrebbe richiesto un completo riavvio del progetto, se non fosse stato possibile un coraggioso “git reset --hard”.

4. Ping-pong di IA nelle revisioni del codice Anche per il controllo qualità ho puntato sulle IA, ma in modo sistematico: innanzitutto ho fatto eseguire le revisioni del codice da GPT-5 Codex e poi ho chiesto il parere di Claude Sonnet 4.5. Una revisione AI per la revisione AI, per così dire. È piuttosto meta, ma estremamente utile per verificare diversi “modi di pensare”.

Bonus: l'IA come traduttore?

Una volta definita la funzionalità, ho pensato alle traduzioni. Per prima cosa ho provato Claude Sonnet 4.5. Secondo quanto dichiarato, l'IA padroneggia l'inglese e il tedesco a livello madrelingua e offre una sicurezza del 98% per lo spagnolo, il francese, l' italiano e il portoghese.

La cosa si è fatta interessante quando ho chiesto l'hindi, il cinese o il giapponese. In questo caso l'IA ha ammesso di aver bisogno di un aiuto esterno come DeepL. Ancora più importante è il fatto che abbia sottolineato di propria iniziativa che non si tratta solo di una traduzione approssimativa, ma che occorre tenere conto anche delle peculiarità culturali e delle forme di cortesia.

Un livello di autoriflessione davvero stimolante. Per la traduzione batch vera e propria della parte statica e hardcoded delle lingue romanze, Claude mi è sembrato tuttavia troppo cerebrale. Ho quindi deciso di affidare il compito a GPT-5-Codex. Anche in questo caso vale il principio: lo strumento giusto per il lavoro giusto!

Dall'intranet al web selvaggio

Dopo che la raccolta di strumenti era cresciuta a tal punto (e parlava addirittura diverse lingue), è rimasta disponibile solo nella nostra rete aziendale per un bel po' di tempo, rendendoci ottimi servizi.

A un certo punto ho pensato: perché no? Così l'ho riordinata e resa pubblica.

E perché tutto ciò è nato da un «incidente», il codice è completamente aperto. Se volete smanettare da soli o trovare un bug: potete trovare il repository Git qui: https://github.com/RamonKaes/WebDev-Tools.

Sì, scusate. Ora è qui. La 10.000esima raccolta di strumenti. Ma ehi, almeno ha una storia alle spalle! :D

Buon divertimento!

Ramon

Ramon Kaes Logo