[Riflessione] Sviluppare software multi piattaforma
Pubblicato da innovatel su Maggio 8, 2008
L’altro giorno, parlando con un mio amico, è uscita la possibilità di sviluppare un applicativo per un cliente. L’idea non è male, il problema è che la situazione non è delle più rosa in quanto:
- Il cliente finale userà il software in ambiente Windows
- Io per lo sviluppo ho a disposizione un ambiente Linux
- Sviluppo da anni al lavoro ma esclusivamente in ambiente windows ( .NET )
- In ambito Linux non conosco nessun linguaggio per lo sviluppo
Quello che mi chiedo è:
Dover imparare un linguaggio nuovo non mi spaventa. Fà parte del mio lavoro e mi piace anche visto che è anche la mia passione. Il problema è uno solo: QUALE?
Anche perchè, volendo fare i pignoli, immagino che ogni linguaggio abbia dei pro e dei contro e/o delle limitazioni sia per lo sviluppo che poi nella fase di utenza finale. Questa situazione mi spiazza, non ho idea di cosa fare.
Non ho in mente validi canditati al momento e nemmeno come poterli sfruttare in ambito lavorativo. E poi, che soluzioni di sviluppo esistono? Nel mio caso, venendo da .NET sarebbe “pratico” usare mono ma se devo dirla tutta vorrei evitare.
Mi affido alla vostra esperienza. Se avete consigli da dare sarò ben felice di leggerli ![]()

Maggio 8, 2008 a 9:48 am
Ciao, io ti consiglio java, è molto simile a .NET quindi non dovrebbe essere un problema adattarti ed è portabile
Maggio 8, 2008 a 11:02 am
Se devo essere sincero Java era già nella lista dei possibili candidati ed essendo un linguaggio ad oggetti non credo di avere grosse difficoltà ad ambientarmi.
Unico “problema” che potrei avere con Java è di superare lo scoglio della brutta esperienza passata che me lo ha fatto odiare e non poco.
Grazie mille per la risposta
Maggio 8, 2008 a 1:36 pm
Ti consiglio di usarlo in combinazione con Netbean, che ha anche il supporto per il disegnamento delle form alla Visual Basic
Maggio 8, 2008 a 2:24 pm
Io fossi in te provere python
Maggio 8, 2008 a 2:42 pm
Io programmo Java da ormai 4 annetti. Ottimo il consiglio di netbeans, anche se personalmente preferisco Eclipse come ambiente.
Maggio 8, 2008 a 5:10 pm
Java
Maggio 8, 2008 a 5:32 pm
Ok, vedrò di farmi tornare lo stimolo e la voglia di imparare Java! Dovrei riesumare anche il manuale … è ben fatto quello che ho.
@Psykopear -> Scusa la domanda … come mai proprio python? Lo chiedo perchè non lo conosco come linguaggio
Maggio 8, 2008 a 7:06 pm
ruby.
http://ruby-it.org/pages/Documentazione
Maggio 8, 2008 a 10:25 pm
@grigio -> Ruby? Ho avuto modo di vederlo durante il Linux Day 2007 e mi ha impressionato. Con pochissimo fai moltissimo. Da quanto ho capito il “linguaggio” lo crei te mentre programmi in base alle tue necessità
Maggio 9, 2008 a 9:00 am
[...] quinto articolo, quello dal titolo “[Riflessione] Sviluppare software multi piattaforma” lo conosco ed anche la faccia del tipo dell’avatar! Ero troppo emozionato … [...]
Maggio 9, 2008 a 10:31 am
Il python non sembra male come linguaggio è multi piattaforma e più leggero del java
purtroppo non so però a che punto sia con la facilità di creare una gui (stile vb per intenderci).
Io avevo realizzato dlle cosine per la linea di comando ed ero riuscito a crearle senza roppi sforzi.
Per dover di cronaca devo dirti che io non amo molto il java a causa delle risorse occupate dalla jvm, però questo a livello d’utente, non so a livello lavorativo quanto pesi
Maggio 9, 2008 a 10:56 am
Come detto da Gondor, una possibile soluzione potrebbe essere rappresentata dal Python. A tal proposito ti consiglio di iniziare con le guide di python.it. Per la GUI ci sarebbe WxPython, binding Python alla nota libreria C++ wxWindows, un framework di classi che oltre al semplice supporto per interfacce grafiche fornisce molto altro, oppure PyGTK o PyQT. Per Windows meglio WxPython.
La velocità di sviluppo è davvero buona e si impara in maniera velocissima. Come IDE ti consiglio Eric, sempre per linux.
Un esempio di PyGTK fatto da me:
Se vuoi aiuto cerca con google JAB forum, è il forum del mio gruppo di sviluppo.
Maggio 9, 2008 a 12:42 pm
Ehm…ma non mi e’ chiara una cosa:
se il cliente vuole un sw che giri in Windows e TU sviluppi (sai sviluppare) in Windows…non vedo perche’ insistere a dover sviluppare sotto Linux.
Con una VM riusciresti a superare lo scoglio … Visual Studio 2008 Express (che non costa)…e non ti farai menate inutili.
Al piu’…se proprio insisti, fai un’aplicazione web e la utilizzi da qualunque piattaforma.
Maggio 9, 2008 a 3:22 pm
Secondo me dipende tantissimo dal genere di applicazione che devi realizzare.
Tieni presente che, allo stato attuale delle cose, il supporto di Mono alle Windows Forms e’ piu’ decente; quindi puoi anche pensare di sviluppare in C# sotto Linux e fare gli ultimi ritocchi sotto Windows, se serve (c’e’ Visual Studio Express 2008, come gia’ suggerito).
Maggio 10, 2008 a 7:36 pm
Mi allontano un attimo da una discussione e trovo un sacco di risposte … ma quanto è bello! Adesso proverò a rispondere a tutti quanti … alcune risposte saranno generiche ed altre per tutti quanti. Speriamo bene di non dimenticarmi nessuno e nulla
@Gondor -> dai miei occhi il codice sorgente python è stato visto pochissimo volte e quelle poche perchè me lo sono trovato davanti ma non per desideri profondi. Però vedo che sono in molti i progetti ad usarlo e quindi secondo me deve essere molto valido! Un motivo per impararlo sarebbe anche quello di provare a scrivere un modulo per un progetto che mi interessa così almeno diventa completo
Sulla pesantezza o meno non saprei. Darei sentenze prive di test e simili quindi evito di lanciare bombe alla cieca.
Il motivo per cui non amo molto il Java ti era stato raccontato “live” quando è successo ai tempi … non sò se te lo ricordi
@Alfredo -> Ho visto le guide, grazie mille per il link! Magari qualche script di curiosità proverò a farlo e poi chissà cosa succede
In questo momento vorrei ridurre il tempo al pc visto il sole e la possibilità di fare maggiori allenamenti in vista del 2009. Ho letto di Eric come IDE per Linux e devo dire che non sembra male. Appena ho tempo un semplice apt-get e ci potrò giocare … magari questa sera … tanto non esco
@Igor -> Dubito che possa esistere una VM che fà il boot da un “VS2008 Express” … ma magari mi sbaglio! Il motivo ad ogni modo non è legato a sviluppare esclusivamente per Linux. Il fatto è di cercare di sviluppare qualcosa che possa essere usato senza vincoli di sistema operativo. Mi girano troppo le suddette quando leggo queste discriminazioni sociali
Il problema dell’applicazione web è che non tutti (anche se sembra strano a dirsi) vivono con la connessione sotto il sedere e quindi non è sempre fattibile. Senza contare che in molti i dati li vogliono avere in locale e non in rete per una questione di sicurezza.
@NeXuS -> Ok, grazie per la dritta. Proverò, magari sempre questa sera, il supporto per le windows form in Linux e poi vediamo che succede.
Maggio 12, 2008 a 1:44 am
In linea generale Python o Ruby: sviluppi velocemente, in maniera solida ed intuitiva.
Un’alternativa (ma da intendere fra virgolette!) a Java è Scala.
Se poi ti senti coraggioso, Scheme potrebbe essere un’ottima scelta. Valuta bene però ciò che intendi sviluppare: per certe cose è il paradiso, per altre cose un inferno…
Ne parla spesso, fra le altre cose, Stacktrace.
In bocca al lupo per il nuovo progetto.