Word, Excel e PowerPoint in Rust: nasce una suite Office open source clean-room

ArtCraft sviluppa WordCraft, GridCraft e DeckCraft: alternative open source a Word, Excel e PowerPoint scritte in Rust con l'aiuto di Claude. Analizziamo funzionalità, compatibilità, automazione AI e limiti attuali.

Riscrivere Microsoft Word, Excel e PowerPoint da zero, utilizzando il linguaggio Rust e affidando una parte importante dello sviluppo al più avanzato modello generativo di Anthropic Claude. È l’ambizioso progetto di ArtCraft, che ha pubblicato su GitHub tre applicazioni open source progettate per riprodurre le funzionalità dei programmi più conosciuti della suite Microsoft Office, senza utilizzare il codice sorgente originale.

Le tre applicazioni si chiamano WordCraft, GridCraft e DeckCraft: riprendono rispettivamente le modalità di lavoro di Word, Excel e PowerPoint, supportano i principali formati di documenti Microsoft e puntano a funzionare su Windows, Linux, macOS e altri sistemi operativi.

La particolarità non riguarda soltanto il codice aperto: gli sviluppatori hanno progettato i programmi affinché anche gli agenti AI possano controllarne direttamente le funzionalità, senza dover necessariamente interagire con pulsanti e finestre.

LibreOffice, erede di OpenOffice.org, ha dimostrato quanto sia complesso mantenere una suite per la produttività compatibile con i documenti Microsoft; OnlyOffice ha seguito un’impostazione differente, concentrandosi soprattutto sull’interoperabilità con i formati Office Open XML. ArtCraft prova invece a ripartire dalle fondamenta, sviluppando applicazioni indipendenti in Rust e sfruttando gli strumenti di programmazione assistita dall’AI per accelerare la realizzazione di funzionalità che normalmente richiederebbero molto lavoro.

ArtCraft vuole ricostruire Microsoft Office senza utilizzare il codice Microsoft

La filosofia alla base dell’iniziativa prende il nome di clean-room reimplementation, ossia una reimplementazione indipendente di un programma esistente. L’obiettivo consiste nel riprodurne comportamenti e funzionalità, sviluppando però codice nuovo attraverso specifiche pubbliche, documentazione tecnica e osservazione del funzionamento dell’applicazione originale.

ArtCraft dichiara di utilizzare codice originale e risorse grafiche create autonomamente oppure distribuite con licenze aperte. L’interfaccia di WordCraft richiama quella di Word, compresa la barra multifunzione, ma icone e altri elementi grafici differiscono dagli originali.

Dei tre programmi, WordCraft è probabilmente quello più immediato: la struttura della GUI si ispira a quella di Word: schede della barra multifunzione, strumenti di formattazione, righelli, pannello di navigazione e gestione degli stili sono immediatamente riconoscibili e accessibili.

L’applicazione supporta anche tabelle, intestazioni e piè di pagina, sezioni, colonne, note a piè di pagina, riferimenti bibliografici e sommari automatici. Compaiono anche strumenti per i commenti, il confronto dei documenti e il rilevamento delle modifiche.

WordCraft clone Word open source

Impaginazione e caching del layout

WordCraft separa il modello documentale dal calcolo della disposizione del testo e dalla sua rappresentazione sullo schermo. Il progetto usa inoltre un sistema di caching del layout che evita di ricalcolare inutilmente la disposizione delle parti non modificate.

Secondo i dati pubblicati dagli sviluppatori, l’inserimento di testo in un documento di 188 pagine richiede circa 1,4 millisecondi per l’aggiornamento dell’impaginazione interessata.

La documentazione identifica diversi moduli Rust, ciascuno responsabile di una specifica attività: tra questi figurano wordcraft-doc per il modello del documento, wordcraft-layout per l’impaginazione, wordcraft-docx per i file Office Open XML e wordcraft-pdf per la produzione dei documenti PDF. Per il rendering PDF il progetto indica l’utilizzo della libreria krilla; per la rasterizzazione menziona vello_cpu.

Anche gli strumenti di correzione ortografica e sillabazione si mettono in evidenza: WordCraft utilizza materiale proveniente dalla raccolta Moby Hyphenator II di Grady Ward, distribuita nel pubblico dominio. Gli sviluppatori dichiarano inoltre che le funzionalità di controllo linguistico possono operare offline, senza richiedere necessariamente servizi remoti.

Quanto al formato DOCX, secondo la documentazione di avanzamento, WordCraft copre circa l’87% delle funzionalità rappresentate dai comandi della barra multifunzione di Word. Considerando però anche profondità dell’implementazione e fedeltà dei risultati, gli sviluppatori stimano una corrispondenza effettiva intorno al 62%.

GridCraft: il clone di Excel con un motore di calcolo autonomo

Il secondo programma, GridCraft, affronta un problema per certi versi ancora più complesso: ricostruire il funzionamento di Microsoft Excel.

GridCraft utilizza un grafo delle dipendenze per stabilire quali formule debbano essere ricalcolate quando cambiano i valori delle celle. Il progetto dichiara di supportare il ricalcolo incrementale, evitando di rieseguire indiscriminatamente tutte le formule presenti nella cartella di lavoro.

GridCraft: Excel open source scritto in Rust

Il motore comprende oltre 500 funzioni e implementa anche strumenti relativamente avanzati, come LET, LAMBDA, MAP, REDUCE e SCAN. Il supporto agli array dinamici consente di gestire formule che restituiscono risultati distribuiti su più celle attraverso il meccanismo noto come spilling.

Sono inoltre documentate funzionalità per tabelle pivot, formattazione condizionale, grafici, convalida dei dati, filtri e ordinamenti. GridCraft dichiara di gestire 17 tipologie di grafico e di utilizzare XLSX come formato principale dei documenti.

Dal punto di vista delle prestazioni, gli sviluppatori puntano su una griglia virtualizzata, che calcola e disegna soltanto gli elementi necessari alla visualizzazione corrente. Per la gestione delle modifiche impiegano inoltre tecniche copy-on-write, utili a ridurre le copie dei dati quando il programma deve conservare versioni precedenti della cartella di lavoro per le operazioni di annullamento.

DeckCraft ricostruisce PowerPoint: animazioni, presentazioni e file PPTX

Il terzo progetto è DeckCraft, dedicato alla creazione e alla riproduzione delle presentazioni. L’applicazione comprende strumenti per realizzare diapositive con temi, layout, immagini, forme, grafici e tabelle. La documentazione elenca oltre 150 forme predefinite e funzioni per modificarle, combinarle e applicare effetti visivi come ombre, riflessi e sfumature.

DeckCraft punta anche a riprodurre funzionalità più impegnative di PowerPoint: transizioni tra diapositive, animazioni degli elementi, percorsi di movimento, presentazione a schermo intero e visualizzazione dedicata al relatore.

DeckCraft vuole sostituire PowerPoint per le presentazioni

Particolarmente significativo è il supporto dichiarato per la transizione Morph, che consente di animare le trasformazioni degli oggetti tra diapositive successive. Una funzione che risulta piuttosto impegnativa da implementare: richiede di identificare gli elementi corrispondenti nelle diverse diapositive e interpolarne correttamente posizione, dimensioni e proprietà.

Il programma può leggere e salvare file PPTX ed esportare presentazioni in PDF e formati immagine. Gli autori dichiarano una copertura di circa il 79% delle funzionalità di PowerPoint, che sale al 93% considerando soltanto quelle ritenute fondamentali.

Claude non serve soltanto a scrivere il codice: le applicazioni sono progettate anche per gli agenti AI

ArtCraft fa ampio ricorso agli strumenti di programmazione assistita dall’intelligenza artificiale per sviluppare applicazioni che, tradizionalmente, richiederebbero un investimento notevole in personale e tempo.

WordCraft, GridCraft e DeckCraft, però, non nascono esclusivamente per l’utilizzo umano: ArtCraft ha progettato i programmi affinché gli agenti AI possano impartire comandi direttamente ai rispettivi motori.

Nel caso di WordCraft sono esposti 389 comandi utilizzabili attraverso la barra multifunzione, le scorciatoie da tastiera, un’interfaccia a riga di comando e un canale di controllo JSON. Le stesse operazioni possono essere richiamate attraverso un server Model Context Protocol (MCP). Così, anziché chiedere a un agente di riconoscere un pulsante sullo schermo e cliccarlo, l’applicazione può offrirgli direttamente un’operazione che modifica il documento: largo all’automazione, insomma.

Un agente AI potrebbe quindi creare un resoconto in autonomia, applicare stili ai titoli, inserire una tabella e salvare il risultato in DOCX. Ancora più importante, potrebbe interrogare la struttura del documento per controllare le modifiche apportate, senza dipendere esclusivamente dall’analisi di schermate.

GridCraft segue una logica simile: espone operazioni per leggere e scrivere intervalli di celle, valutare formule, applicare formattazioni e creare grafici. DeckCraft rende programmabili numerose azioni relative alla costruzione delle diapositive.

Trovate tutti i binari dei programmi descritti, pronti per l’installazione su Windows, Linux e macOS, nella pagine Releases:

Non soltanto Office: ArtCraft prova a replicare anche Photoshop, Illustrator e Premiere Pro

Le 3 applicazioni per la produttività rappresentano soltanto una parte dell’iniziativa. Consultando i repository di ArtCraft emergono altri progetti che puntano a ricostruire strumenti professionali conosciuti.

Ne abbiamo già parlato: PhotoCraft si ispira al funzionamento di Adobe Photoshop, VectorCraft a Illustrator e FilmCraft a Premiere Pro. Esistono inoltre LightCraft, dedicato alla gestione e all’elaborazione delle fotografie e PdfCraft, rivolto ai documenti PDF.

L’approccio rimane simile: applicazioni native scritte in Rust, funzionalità riprodotte attraverso codice indipendente e possibilità di automazione, anche tramite agenti AI.

In qualche caso la documentazione comprende persino stime sul lavoro necessario agli agenti per completare determinate funzioni. Sono indicazioni interessanti per capire come il gruppo organizzi lo sviluppo assistito dall’AI.

ArtCraft sta cercando di applicare la stessa metodologia a categorie di software molto diverse: editor di immagini, applicazioni di montaggio video, strumenti di grafica vettoriale e suite per la produttività. Quanto codice può effettivamente produrre e mantenere un gruppo di sviluppatori che utilizza intensivamente strumenti AI, soprattutto quando i programmi devono raggiungere standard qualitativi professionali?

Se ArtCraft riuscirà a risolvere i problemi di compatibilità, stabilità e manutenzione, il risultato potrebbe diventare interessante anche al di fuori della competizione con Microsoft Office. Per il momento, WordCraft, GridCraft e DeckCraft rappresentano soprattutto un esperimento concreto per capire fin dove possa arrivare lo sviluppo di software complesso assistito dall’AI.

Ti consigliamo anche

Link copiato negli appunti