# Un ecosistema di moduli aperto, versatile e pensato per l'IA

> Logica, validazione, visibilità e calcoli basati su schema per web, CLI, mobile e agenti IA.

Provalo!: https://form0.dev/#playground

Vedi la documentazione: https://docs.form0.dev

## Scopri

Per chi è form0, cosa fa, come ci si costruisce e perché è fatto così.

### Chi?

form0 è pensato per sviluppatori e chiunque sia a proprio agio con CLI e editor di codice. Hai il pieno controllo sulla logica, lo schema e l'integrazione dei tuoi moduli.

### Cosa?

Un motore di moduli basato su schema che gestisce calcoli, visibilità, validazione ed eventi. Core agnostico con componenti UI per React e React Native.

- Definizione dello schema basata su JSON
- Funziona ovunque: Node.js, browser, mobile
- Componenti UI tramite una libreria dedicata
- Nessuna autenticazione, nessuna persistenza: sei tu a decidere

### Come?

Diversi modi per creare e modificare il tuo schema di modulo:

- Modifica lo schema JSON manualmente
- Importa da file CSV
- CLI: aggiungi/modifica/rimuovi campi manualmente
- CLI: modifica assistita dall'IA (In arrivo)
- Interfaccia drag-and-drop in reform — https://reformapp.io

### Perché?

Un unico schema JSON alimenta sia applicazioni web che mobile, senza duplicare codice. La logica come calcoli e visibilità risiede nello schema, non dispersa tra i componenti. Integra form0 in qualsiasi progetto esistente senza vincoli di framework.

**Per Team e Organizzazioni**

- Ispezioni infrastrutturali (edifici, servizi, attrezzature)
- Indagini ambientali e audit
- App per forza lavoro mobile con supporto offline
- Moduli di conformità con logica condizionale complessa
- Sondaggi e questionari online
- E molto altro...

**Per Progetti Personali**

- Gestione collezioni (libri, dischi, oggetti da collezione)
- App per dati sul campo (osservazione natura, diari di viaggio)
- Tracciamento inventario e asset
- Acquisizione dati strutturati in movimento
- Sondaggi e questionari online
- E molto altro...

## FAQ

Quello che ci si chiede prima di installarlo.

### In cosa si differenzia form0 da React Hook Form, Formik o form.io?

Risolvono livelli diversi dello stesso problema, quindi la risposta dipende da quale strumento stai confrontando.

React Hook Form e Formik gestiscono lo stato del form dentro una singola app React. La logica condizionale, la validazione e i calcoli li scrivi comunque a mano, nei componenti. form0-core sposta quella logica in uno schema JSON e la esegue ovunque: Node, browser, React Native, CLI. Non è un concorrente, è il livello sottostante, e i due possono convivere.

form.io è il parente più stretto, un motore guidato da JSON con un builder e un renderer propri. La differenza sta in quanto controllo mantieni. form0-core è solo il motore, senza renderer e senza un modello dati imposto. form0-react e form0-react-native ti danno componenti pronti quando li vuoi, e ognuno di essi può essere sostituito o ignorato, così la logica del form si adatta al design system che hai già, e non il contrario.

### Meglio form0, ODK o KoboToolbox?

ODK e KoboToolbox sono sistemi completi di raccolta dati: uno standard per i form (XLSForm), un'app mobile e un server. Fanno bene il loro lavoro e, se ti serve uno stack pronto per indagini sul campo, probabilmente dovresti usarli. Il compromesso è che adotti la loro app, il loro formato e il loro backend.

form0 è per chi sta costruendo il proprio prodotto e vuole la logica dei form senza ereditare una piattaforma: la tua UI, il tuo database, il tuo ciclo di rilascio. Se vuoi un'applicazione già pronta, usa ODK o KoboToolbox. Se vuoi un motore di form dentro l'applicazione che stai già costruendo, usa form0, e se preferisci non gestire nulla in proprio, reform è l'opzione ospitata.

### form0 è pronto per essere usato?

È in sviluppo attivo. Il formato dello schema è stabile nella pratica, i tipi di campo, gli operatori e la sintassi delle condizioni si sono assestati, ma sono ancora previsti piccoli cambiamenti e nuove funzionalità. Fissa le versioni e leggi le note di rilascio prima di aggiornare. Inizia a costruirci ora, una release formalmente stabile arriverà presto.

### Che rapporto c'è tra form0 e reform? È open-core?

No. form0 è MIT e resta MIT. Il motore è completo nei pacchetti open source: logica, validazione, visibilità, calcoli, eventi e connettori. Non viene trattenuto nulla per spingerti verso un piano a pagamento. Anche la modifica dello schema assistita dall'AI è in lavorazione e arriverà nella CLI open source, con la tua API key.

reform è una piattaforma commerciale costruita sopra form0: hosting, un builder di schemi drag-and-drop, form pubblici e strumenti di analisi ed esportazione dei dati. Ha anche un'app mobile che continua a funzionare offline e si sincronizza quando torna la connessione. È l'opzione per chi preferisce non gestire nulla in proprio. Se non ti serve, form0 è pienamente utilizzabile senza.

Sponsorizzando form0 aiuti a finanziare infrastruttura, documentazione, testing e risorse per la community del progetto open source.

### Dove finiscono i dati dei miei form?

Da nessuna parte, a meno che tu non li mandi da qualche parte. L'ecosistema form0 non ha account, né telemetria, né un backend ospitato. form0-core valuta uno schema e restituisce lo stato. La persistenza è opzionale e passa dai connettori: oggi PostgreSQL e SQLite, altri in futuro, oppure scrivi il tuo seguendo l'interfaccia dei connettori. La destinazione la scegli tu e i dati sono tuoi.

### Posso usare i miei componenti e il mio design system?

Sì, è proprio il senso della separazione. form0-core non ha alcuna UI. form0-react e form0-react-native sono i binding disponibili oggi e includono componenti per i tipi di campo più comuni, se vuoi partire in fretta. Puoi sostituirli tutti, oppure ignorare del tutto i binding e pilotare il motore dai tuoi componenti. Potranno seguire binding per altri framework, e nel frattempo nulla ti impedisce di scriverne uno tuo.

Il motore ti dice cosa è visibile, obbligatorio, in sola lettura e non valido. L'aspetto è affar tuo.

### Funziona davvero su React Native e offline?

Sì. form0-core non ha dipendenze e non usa moduli built-in di Node, quindi gira invariato in un runtime JavaScript mobile, e form0-react-native lo avvolge per Expo e React Native bare. La valutazione è interamente locale e sincrona, quindi un form funziona anche senza rete. Sincronizzare i record raccolti quando la connettività torna è compito della tua app, non del motore.

### Cosa significa "AI-ready"?

Due cose. Primo, uno schema form0 è semplice JSON con una struttura documentata, quindi un modello può leggerlo, scriverlo o modificarlo senza toccare il codice della tua applicazione. Questo rende immediata la generazione di form guidata dall'AI, ed è la base della modifica assistita dall'AI in arrivo nella CLI. Quel lavoro è in corso e non è ancora disponibile.

Secondo, i campi possono portare attributi che danno al modello contesto sul loro significato, così un assistente può ragionare su un form invece di tirare a indovinare dalle etichette. Questo apre alla compilazione conversazionale, completare un form parlandoci invece di scorrerlo a tocchi. Il motore lo rende possibile, l'esperienza la costruisci tu, e una proof of concept è prevista per form0-react-native.

### Devo per forza usare la CLI?

No. form0-core è un normale pacchetto npm: lo installi, gli passi uno schema, chiami eval(). La CLI esiste perché rende molto più veloce costruire e testare gli schemi, con anteprima live, file watching, valori di test e connettori. Il comando di installazione in questa pagina parte dalla CLI perché è il modo migliore per iniziare, non perché qualcosa dipenda da essa.

### È lo stesso di altri prodotti chiamati form0?

No. Questo form0 è il motore di moduli open-source pubblicato da paqu.io, distribuito su npm come form0-core, form0-cli, form0-react, form0-react-native e i connettori, con il codice su github.com/paqu-io.

Almeno un prodotto senza alcun legame condivide il nome, tra cui un generatore di moduli ospitato e orientato alla privacy, pensato per i flussi di automazione n8n. Non ha alcuna connessione con questo progetto: qui form0 è una libreria per sviluppatori che installi ed esegui tu, senza servizio ospitato, senza account e senza integrazioni webhook incorporate. Se sei arrivato da form0.dev o docs.form0.dev, o hai installato uno dei pacchetti elencati sopra, sei nel posto giusto.
