Tra i tanti visualizzatori PDF per Linux, Miro si distingue per la sua natura sperimentale e per la scelta tecnologica inusuale.

Miro è scritto interamente in Odin, un linguaggio di programmazione moderno e orientato alla performance, ancora poco diffuso ma in rapida evoluzione. L’applicazione si propone come un visualizzatore leggero e minimale, pensato per offrire una base funzionale su cui costruire esperienze desktop alternative. Pur non essendo ancora disponibile in forma di release ufficiale, Miro può essere compilato e testato dagli utenti Linux e Windows interessati a esplorare nuove soluzioni nel campo della grafica e della visualizzazione documentale.
Il cuore tecnico di Miro si basa su due componenti fondamentali: Raylib e MuPDF. Raylib è una libreria grafica semplice e potente, ideale per progetti che richiedono rendering 2D e interfacce grafiche leggere. MuPDF, invece, è una libreria consolidata per la manipolazione e il rendering di file PDF, nota per la sua efficienza e compatibilità con diversi formati. L’integrazione di queste tecnologie in Odin rappresenta una sfida interessante, che apre la strada a nuove possibilità nello sviluppo di applicazioni desktop native.
Odin, Raylib e MuPDF: una combinazione insolita ma promettente
La scelta di utilizzare Odin come linguaggio principale rende Miro un progetto particolarmente interessante per gli sviluppatori Linux curiosi di sperimentare con tecnologie emergenti. Odin è progettato per essere semplice, veloce e orientato alla programmazione di sistema, con una sintassi chiara e una forte enfasi sulla performance. In questo contesto, Miro diventa non solo un visualizzatore PDF, ma anche una dimostrazione pratica delle potenzialità di Odin nel mondo reale.
Visualizzare PDF con Miro su Linux
Miro viene rilasciato per Linux con file binario precompilato in maniera tale da poterlo utilizzare senza doverlo installare, basta avviare il reader pdf da terminale seguito dal file PDF da avviare.
Il progetto è distribuito sotto licenza AGPL-3.0, il che garantisce la piena apertura del codice e la possibilità di contribuire attivamente al suo sviluppo.
Ciao, mi risulta che il programma sia scritto in rust invece che in Odin ed è perfino su crates.io, github indica che è scritto in rust al 96,2% (https://github.com/vincent-uden/miro), non sembra che usi Raylib; non è tra i componenti scaricati per l’installazione né è menzionato
==> Starting prepare()…
Updating crates.io index
Updating git repository `https://github.com/messense/mupdf-rs`
Updating git submodule `https://github.com/ArtifexSoftware/mupdf.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-curl.git`
Updating git submodule `https://github.com/ArtifexSoftware/extract.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-freeglut.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-freetype2.git`
Updating git submodule `https://github.com/nyorain/dlg.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-gumbo-parser.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-harfbuzz.git`
Updating git submodule `https://github.com/ArtifexSoftware/jbig2dec.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-libjpeg.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-lcms2.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-leptonica.git`
Updating git submodule `https://github.com/ArtifexSoftware/mujs.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-openjpeg.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-tesseract.git`
Updating git submodule `https://github.com/google/googletest.git`
Updating git submodule `https://github.com/tesseract-ocr/test.git`
Updating git submodule `https://github.com/ArtifexSoftware/thirdparty-zlib.git`
Downloading crates …
Downloaded yoke-derive v0.7.5