Flox è un'applicazione dedicata al coding che permette di portare ovunque il proprio ambiente di sviluppo. L'utilizzatore può creare quest'ultimo, comprese tutte le dipendenze necessarie per il proprio progetto, e condividerlo con i collaboratori. La piattaforme riunisce in un'unica soluzione tutte le funzionalità essenziali di un ambiente virtuale e di un package manager. I developer environment così creati diventeranno quindi portabili per tutto il ciclo di sviluppo di un software.
Caratteristiche di Flox
L'applicazione permette di scegliere tra oltre 80 mila package dal più grande repository open source: nixpkgs. L'installazione di Flox può essere effettuata su tutte le principali distribuzioni Linux (RedHat, CentOS, Debian, Ubuntu..) così come su macOS o su Windows tramite WSL 2. Il supporto per quest'ultimo è ancora in fase sperimentale, quindi non sono da escludersi bug e possibili instabilità. Vengono inoltre supportate sia le architetture x86 che ARM.
Una delle caratteristiche più interessanti della piattaforma riguarda il fatto che gli ambienti creati non sono isolati ma collocati in un livello addizionale rispetto al proprio home environment. Questo significa che se dovessero essere effettuate delle personalizzazioni in locale esse saranno preservate. Nello stesso modo si potranno aggiungere liberamente dei nuovi package. Gli ambienti di Flox sono inoltre cross-platform e possono essere utilizzati con gli stessi risultati sia su Linux che su macOS.
Sincronizzazione e condivisione dei progetti
Qual è il vantaggio principale di un ambiente di sviluppo portabile creato con Flox? Sicuramente la sincronizzazione. Uno stesso environment verrà clonato su tutti i sistemi di destinazione. Quando se ne deve generare uno nuovo non si dovrà fare altro che replicare quello precedente. In ambito collaborativo basterà associare al proprio ambiente un nome univoco in modo che possa essere condiviso rapidamente con altri sviluppatori.