Pyrite ENMenu Scarica l'alpha
01 / Tecnologie

Go, PocketBase, SQLite. Niente di chiuso.

Abbiamo scelto tecnologie aperte, diffuse e documentate, perché chi usa Pyrite resti libero: le app restano progetti PocketBase, i dati restano file SQLite, il motore si sposta copiando una cartella.

01.1 · il motore

Go

Go è il linguaggio open source nato in Google nel 2009 per scrivere programmi di rete affidabili. Con Go sono scritti anche Docker e Kubernetes.

Per Pyrite vuol dire un solo eseguibile: nessun runtime da installare, nessuna dipendenza, nessun installatore. Si copia una cartella e parte, e lo stesso codice si compila già anche per Linux.

  • Un file eseguibile, senza dipendenze
  • Veloce e leggero in memoria
  • Lo stesso codice per Windows e Linux
  • Open source, licenza BSD
01.2 · le app

PocketBase

PocketBase è un backend open source scritto in Go, con licenza MIT. In un solo programma ci sono database, autenticazione degli utenti, file, API REST e in tempo reale e un pannello di amministrazione.

Pyrite lo usa due volte: come base del motore e come istanza separata per ogni app con dati. La logica delle app sta in hook e migrazioni JavaScript, leggibili e portabili. La versione di PocketBase è fissa e collaudata, oggi la 0.40.6: una versione nuova arriva solo con un aggiornamento di Pyrite.

  • Database, utenti, file e API in un programma
  • Aggiornamenti in tempo reale
  • Logica delle app in JavaScript
  • Open source, licenza MIT
01.3 · i dati

SQLite

SQLite è un database che sta tutto in un file. Non c'è un server di database da installare, configurare e aggiornare: il programma legge e scrive direttamente il file, con transazioni complete. Se manca la corrente a metà di una scrittura, i dati restano coerenti.

È il database più usato al mondo: è in ogni smartphone e in ogni browser. Il suo formato è stabile, i suoi autori si sono impegnati a mantenerlo compatibile fino al 2050, e la Biblioteca del Congresso degli Stati Uniti lo indica tra i formati consigliati per conservare i dati nel tempo.

Per chi usa Pyrite vuol dire due cose: un backup è una copia di file, e i dati si aprono con decine di strumenti, anche senza Pyrite. Il limite è che scrive una cosa alla volta: per la gran parte delle web app è più che sufficiente, ma non è pensato per i carichi di scrittura dei grandi servizi online.

  • Un database, un file
  • Transazioni complete, anche se salta la corrente
  • Formato garantito fino al 2050
  • Codice di pubblico dominio

Le app parlano HTTP e JSON, la logica è in JavaScript, codice e dati sono file normali su disco: niente formati chiusi.

02 / Portabilità

I tuoi dati sono tuoi. Sempre.

Con queste tecnologie portarsi via i dati non è un progetto di migrazione: è copiare un file.

02.1 / Un file

I dati di un'app sono un file.

Ogni app con dati salva tutto in un database SQLite, dentro la sua cartella dei dati. Nessun server di database da interrogare o da esportare.

02.2 / Scaricarlo

Lo scarichi quando vuoi.

Dalla console scarichi il backup dell'app: dentro ci sono il database e i file caricati dalle persone. Nessuna richiesta da fare, nessun formato nostro.

02.3 / Altrove

Lo apri in un altro PocketBase.

Metti i dati in un PocketBase della stessa versione, oggi la 0.40.6, e ritrovi tutto: raccolte, record, file e utenti.

02.4 / L'uscita

Se te ne vai, l'app viene con te.

Quando vuoi uscire ti diamo il pacchetto completo: l'app ripacchettata come PocketBase autonomo, con pagine, regole, dati e un login suo.

02.5 / Liberi

Resti perché vuoi, non perché devi.

Tecnologie aperte, dati in chiaro, uscita sempre possibile: è il modo in cui vogliamo guadagnarci la fiducia di chi ci affida le sue app.

03 / Sovranità

Sovranità europea. Per scelta, non per slogan.

Il codice è aperto e si può ispezionare, i dati sono file SQLite che restano dove decidi tu, il motore gira sui tuoi server e funziona anche senza Internet. Non serve un account presso nessuno per far girare le tue app.

Se un giorno vuoi cambiare strada, l'uscita c'è sempre: le app restano progetti PocketBase e i dati file SQLite. Restare o andare via è una scelta tua, non una dipendenza.

04 / Aggiornamenti

Aggiornamenti atomici, per le app e per il motore.

Codice e dati stanno in cartelle separate: la versione nuova si prepara accanto a quella in uso, senza toccarla, e si cambia in blocco solo quando ha superato ogni controllo.

04.1Una versione accanto all'altra
Il pacchetto nuovo viene aperto in una cartella a parte, mentre quella in uso continua a girare e a rispondere alle persone.
04.2Analisi e prova
Controllo del pacchetto e del codice, come per le immagini dei container; migrazioni provate su una copia dei dati; avvio di prova con controllo di salute.
04.3In blocco, o niente
Se tutto passa: backup, scambio del codice, migrazioni e riavvio. Se un passo fallisce, il motore rimette la versione di prima con i suoi dati, intatta.

Vale per le app che ospiti e per il motore stesso, che prima di ogni suo aggiornamento salva una copia del registro.

05 / Lo standard

Uno standard per costruire. Portabile e open source.

Abbiamo scritto una skill per gli agenti AI: un documento pubblico, in inglese e in italiano, che l'agente legge prima di scrivere codice. Ne esce un'app PocketBase normale, già pronta per il motore e già sicura.

05.1La struttura
Una cartella con la scheda app.json, le migrazioni, gli hook e le pagine: le stesse cartelle di qualunque progetto PocketBase.
05.2Utenti e ruoli
Niente pagine di login o di registrazione da scrivere: l'identità arriva dalla rubrica del motore e i ruoli li dichiara la scheda.
05.3Regole sui dati
Le regole d'accesso sui record sono obbligatorie e stanno sul server: nascondere un pulsante non protegge niente.
05.4Script e strumenti
Hook e migrazioni in JavaScript, dentro il recinto dell'app, e gli strumenti del motore per i lavori pesanti, come l'import da Excel.
05.5Lingue e prove
Codice in inglese, testi dell'app nelle lingue che servono e le prove da fare con un ruolo basso prima della consegna.
05.6La consegna
Uno zip pronto per «Carica app» e le note di consegna per l'amministratore, scritte in parole semplici. Gli aggiornamenti arrivano nello stesso formato.