Problema: far girare un’applicazione disponibile solo per Windows sul nostro Macintosh. Soluzione: utilizzare uno degli emulatori PC-Win esistenti per la nostra piattaforma al prezzo di prestazioni non proprio esaltanti.
Ma se, per un qualsiasi motivo, non volessimo utilizzare neanche l’emulatore? Esiste una soluzione ancor più elegante rispetto all’utilizzo di un software di interpretazione?
Una risposta possibile sarebbe quella di “riscrivere” l’applicazione per Mac OS X; possibile, ma difficilmente praticabile per le gigantesche dimensioni dei software attuali. Ma se qualcuno avesse pensato di “riscrivere” quelle applicazioni per noi?
I termini del problema non sono esattamente questi, ma ci stiamo progressivamente avvicinando al nocciolo della questione grazie al progetto “WINE”, da anni noto su piattaforma Linux.
WINE, come spesso accade in informatica, è un acronimo ricorsivo che sta per “Wine Is Not an Emulator”, in quanto effettivamente non si tratta di un emulatore nel senso stretto del termine, quanto un meccanismo che attraverso le librerie Winelibs fornisce le API sulle quali si basano i programmi di Windows.
Questa soluzione permette una compatibilità a livello molto basso per un funzionamento “immerso” all’interno del Sistema Operativo di Apple. Il diavolo e l’acquasanta? No, trattandosi di una re-implementazione di talune funzioni di programmazione, solo non previste per Mac OS X.
L’utilizzo di Wine è completamente gratuito, poiché non si tratta di codice Microsoft riadattato, bensì di una riscrittura delle API di Windows con gli stessi risultati elaborativi. Wine può anche avvantaggiarsi delle DLL di Windows se esse sono disponibili nel software da far girare.
Tutta la magia viene eseguita nell’ambiente grafico di X11, evitando, così la complicazione di dover anche riprogrammare l’interfaccia grafica, da sempre la parte più complessa da gestire.
Wine è largamente usato in ambiente Linux, per la similitudine del codice che almeno gira sullo stesso processore.
Meno dalle nostre parti, per quanto esista da tempo un analogo progetto “Darwine” dedicato al Mac OS X per PPC, il quale, però non è seguitissimo.
Abbiamo volutamente specificato “Mac OS X per PPC”, perché, anticipando i tempi previsti è già disponibile una versione ricompilata per l’attuale Mac OS X per Intel. In uno dei forum di supporto del progetto Wine, viene descritto il metodo operativo per adattare il tutto al Sistema Operativo dei nuovi Mac con Core Duo. Scorrendo i vari messaggi si può anche recuperare un allegato con le patch da applicare a Darwine PPC prima della compilazione.
Specificando, inoltre, le opportune opzioni al compiler, si otterrà il risultato funzionante, certo, ma al momento scarsamente utile a causa della complessità dei software da “tradurre”.
Nelle stesse pagine è anche rintracciabile il tool “Winehelper”, necessario a far girare i programmini di Windows senza dover passare dai comandi del Terminale.
“Darwine per Mac OSx86” raccoglie nelle sue pagine web una lista delle applicazioni funzionanti alla quale, tuttavia, mancano dei titoli “importanti” come Autocad, MSN 7 e Internet Explorer. Buona parte del restante parco software è già esistente nativamente su Mac OS X e quindi risulta difficile capire in base a quale tipo di perversione informatica si dovrebbe tentare di far girare Office di Microsoft dentro Wine, quando esso è regolarmente acquistabile per l’OS di Cupertino. Allo stato attuale Darwine non gestisce il sonoro e DirectX. Inoltre le applicazioni esclusive per Windows XP non funzionano correttamente.
Nonostante il progetto sia ancora acerbo, di sicuro non mancherà di suscitare interesse in un prossimo futuro, magari catalizzando gli sforzi di un maggior numero di utenti. Al momento si tratta di un interessantissimo esperimento di programmazione riservato a recuperare una certa compatibilità con le applicazioni legacy dalla struttura più semplice, piuttosto che a far girare i videogiochi che mancano su Mac. La sfida, infatti, nonostante un certo numero di API siano state implementate, consiste nel realizzare le altre rimaste ancora in fase di sviluppo. I giochi poi fanno delle chiamate non standard e tutto ciò è pervaso dalla vecchia leggenda metropolitana delle API nascoste e non documentate di Microsoft, capaci di garantire prestazioni ed opzioni non accessibili ai normali programmatori.
Alla fine, quindi, Wine è una buona promessa per l’avvenire, una soluzione ancor più sottile del dual boot pronosticato per MacIntel, perché non necessita di partizioni separate e spazio su disco occupato da due diversi Sistemi Operativi.
Non potrà essere ovviamente una soluzione universale, perché non potrà interpretare tutte quelle applicazioni che usano framework indipendenti dal SO come GTK, OpenGL, SDL, JDK, wxWindows e via dicendo, ma sarà comunque un possibile asso nella manica per l’indipendenza sempre più totale tra applicazioni proprietarie, dati e formati.
Ringraziamo il lettore Marco Pancini per la sua segnalazione. Le discussioni su Wine per MacIntel e le sue possibiltà di emulazione proseguono su questa apposita pagina del nostro forum.