Sotto la pelle di Ubuntu

Sviluppo multipiattaforma

Sotto la pelle di Ubuntu

Se stai scrivendo un'applicazione di qualsiasi tipo, commerciale o open source, è sensato renderla disponibile al più grande numero di utenti. pubblico possibile, e questo significa che vorrai farlo funzionare sia su Windows che su Mac OS X (e forse anche su iPhone) così come Linux.

Ora, ci sono molti modi diversi per scrivere un'applicazione multipiattaforma. La soluzione più ovvia è semplicemente scrivere per una piattaforma e poi eseguire una riscrittura completa per tutte le altre. Chiaramente, questo non è molto efficiente: due codebase completamente diversi, due serie di bug totalmente diverse, inevitabili incompatibilità tra le diverse versioni. Basta pensare a Microsoft Office – che presenta proprio questi problemi – per capire che grattacapo sia. Un passo avanti rispetto a questo è scrivere il nucleo della tua applicazione in un linguaggio disponibile su entrambe le piattaforme, ad esempio C, C++ o Java – e poi codificare interfacce utente separate, il che è meglio ma richiede comunque che tu conosca tutte le sfumature di entrambi IU.

Quindi decidi che ti piacerebbe davvero utilizzare uno strumento di programmazione completamente multipiattaforma per sviluppare la tua applicazione, ma purtroppo ce ne sono pochissimi in giro. C'è Java per esempio, ma anche lì avrai problemi di interfaccia utente, e REALbasic, che funziona sicuramente ma non produce il codice più veloce del mondo. Bene, ora c’è un’altra alternativa, o almeno un grande passo avanti verso una di esse. In realtà, esiste da un po’ di tempo, ma recentemente l’interesse è aumentato, tanto che ora si sta lavorando maggiormente su di esso.

Il progetto in questione si chiama Cocotron e mira a fornire un modo per creare la propria applicazione su un Mac e poi eseguire la compilazione incrociata direttamente per Windows, il tutto dall'interno dello sviluppo Xcode piuttosto carino di Apple ambiente. Cocotron mira a fornire una serie di API Objective-C multipiattaforma basate su Cocoa di Apple, l'API utilizzata dai programmatori Mac. Anche se evidentemente ci sono ancora alcuni bug, per ora il framework Foundation è più o meno completo, così come lo sono anche altri. (Il framework Foundation fornisce molte classi utili ed è, come suggerisce il nome, utilizzato dai programmatori Mac per fornire gran parte delle funzionalità principali del loro software.)

C'è ancora molto lavoro da fare, ma almeno un software commerciale disponibile - FileMagnet Uploader, che ti consente di archiviare file sul tuo iPhone - è stato creato utilizzando Cocotron, e l'azienda dietro quel prodotto sta ora iniziando a fornire miglioramenti e correzioni di bug al progetto Cocotron, dimostrando ancora una volta che l'open source è una proposta vantaggiosa per tutti coinvolto.

Naturalmente, creare un'applicazione multipiattaforma che sembri nativa su entrambe le piattaforme non è solo una questione di funzionalità ma anche di problemi di aspetto, che differiscono tra il software Windows e Mac. Ma questo è un problema superabile e, nel frattempo, sospetto che con la maturazione di Cocotron vedremo molti più software iniziare su Mac e poi diventare disponibili anche per Windows.

Tu chiedi, noi rispondiamo

Se hai domande su Unix o sul software open source, non esitare a inviarci un'e-mail a [e-mail protetta]. Anche se non possiamo garantire di rispondere a tutto, è perfettamente possibile che semplicemente non lo sappiamo! – ma faremo del nostro meglio e pubblicheremo qui nella rubrica le risposte alle domande più rilevanti in generale. Questo mese ho ricevuto una domanda da Jim, un collega che stava installando Debian Linux su una macchina virtuale VMware.

Jim voleva provare varie distribuzioni Linux, ma aveva problemi con Debian. Aveva installato un sottoinsieme di base di quel sistema operativo e ora voleva installare il pacchetto VMware Tools, che aggiunge ulteriore supporto grafico (tra le altre cose) a Linux in esecuzione su VMware. Il processo per farlo è piuttosto semplice, ma richiede l'esecuzione di un programma di installazione da riga di comando. E c'era il problema di Jim: l'installatore richiede un compilatore C, l'utility make (un programma che è parte integrante del compilando e collegando praticamente tutti i programmi Unix disponibili) e molti altri strumenti che non aveva sulla sua macchina. Ha iniziato a raccogliere queste diverse componenti online ma presto si è perso in un mare di reciprocità dipendenze, e così qualche frustrante ora dopo mi ha chiesto se esiste un modo più semplice per trovarle tutte questa roba.