Os in bilico fra sviluppo e applicazioni esistenti

Le somiglianze fra Linux e Windows non devono trarre in inganno. I punti che li differenziano sono molteplici, soprattutto nell’ambito dello sviluppo di applicazioni native. Emerge, comunque, che creare software di produzione con l’Os libero non è più un problema.

Un argomento di discussione quando si parla di Linux è la sua diversità rispetto a Windows. Questa discussione spesso poggia su basi sbagliate in partenza, perché se Linux fosse uguale a Windows non avrebbe senso la sua stessa esistenza.


È innegabile però che, da indefessi utilizzatori di Windows, nel momento in cui proviamo un altro sistema operativo la prima impressione si basa proprio sulle somiglianze riscontrabili, anche se come approccio è un po’ superficiale. Volendo essere concreti, invece, dobbiamo scendere in profondità e capire a fondo i due sistemi operativi.


Dal punto di vista dell’utente "da ufficio" i due sistemi operativi si somigliano parecchio, soprattutto se Linux è utilizzato per mezzo di una delle interfacce grafiche disponibili, per esempio, citando le più note, Gnome o Kde. L’interfaccia grafica di Windows, invece, è il frutto dell’esperienza Microsoft derivata da anni di utilizzo e risulta abbastanza facile da usare, anche se alcuni aspetti sono criticabili, come il ritardo nella semplificazione della Gui. Stiamo facendo riferimento, per esempio, all’ottima interfaccia grafica a oggetti e multithread che offriva già diversi anni fa Ibm Os/2 Warp, la Workplace Shell.


Da par suo, Linux, con interfaccia nativa a carattere, permette di scegliere diverse filosofie. L’organizzazione che si trova dietro a Gnome (www.gnome.org) ha come obiettivo di riprodurre in modalità grafica un caratteristico comportamento di Linux, quello dei pipe, che permette all’output di un processo di passare a un diverso processo in qualità di input, e così all’infinito. Kde (www.kde.org), invece, si presenta più simile a Windows, anche se ci si accorge di alcune raffinatezze, non presenti in Windows.

Andar per differenze


Se analizziamo i due sistemi operativi dal punto di vista dello sviluppo di applicazioni native, ci si rende conto delle reali differenze tra i due mondi. Windows è ricco di strumenti di sviluppo visuali molto potenti e semplici da utilizzare, mentre Linux ha una ricca tradizione di compilatori a riga di comando, anche se le cose stanno migliorando. Il primo, poi, dispone di un’unica Api per l’interfaccia grafica.


Linux ne ha almeno due: la Gtk (www.gtk.org) utilizzata per Gnome e la Qt (www.trolltech.com), che poi è alla base di Kde. Si tenga presente, però, che sotto Gnome si possono eseguire applicazioni Kde e viceversa.


Il sistema applicativo di Microsoft propone sempre un unico modo per realizzare la funzione di un programma. Linux offre più possibilità per permettere di scegliere la migliore, o semplicemente quella che piace di più.


Proseguendo su questa strada, se Windows presenta dei buchi è necessario attendere l’uscita di un service pack. Linux, invece, è distribuito completo di sorgenti quindi si può intervenire in prima persona oppure cercare in Internet se qualcuno ha già trovato una soluzione.


Come è stato già accennato, le modalità di sviluppo per Linux stanno cambiando. L’Os libero, infatti, dispone finalmente di strumenti di sviluppo visuali in perfetto stile Windows, come Kylix e JBuilder entrambi di Borland. Quest’ultimo permette di sviluppare applicazioni in Java, mentre Kylix è praticamente Delphi per Linux. Tra i due il più interessante è sicuramente Kylix, in quanto permette di realizzare applicazioni native con tutti i vantaggi che questo comporta, e, inoltre, permette di trasferire abbastanza facilmente applicazioni scritte con Delphi da Windows a Linux. Nel caso si stia già utilizzando la versione 6, il porting richiede solo la ricompilazione a patto di non utilizzare tecnologie non presenti in entrambi i sistemi operativi.


L’approccio proposto da Borland permette di programmare per Linux nello stesso identico modo utilizzato per Windows. Molti tecnici di Visual Basic non hanno la più pallida idea di come funzioni Windows eppure riescono a realizzare tranquillamente le applicazioni che desiderano. Lo stesso approccio si può adottare con Kylix sotto Linux con il vantaggio della possibilità di migrare/ritornare a Windows o viceversa. È ovvio che una buona conoscenza di base di Linux aiuti, ma per un po’ se ne può fare a meno.


Se poi pensiamo a Java, "portabile" per eccellenza, i problemi non si pongono del tutto. Si prende l’applicazione, la si dà in pasto a una macchina virtuale Java e questa funziona. Parlando di pagine Jsp unite a moduli Java, l’approccio non cambia perché si utilizzano Apache e Tomcat provando, caso mai, in un primo momento sotto Windows, per accrescere la familiarità con il sistema operativo, e poi passando a Linux. Sempre sul fronte Java non dimentichiamoci di Forte for Java di Sun, disponibile anche per Linux.


In caso di moduli Cgi le difficoltà sono diverse. Se scritto con Delphi, il porting è indolore (conviene procedere al test con Delphi 6 sotto Windows). Se, invece, è stato utilizzato il linguaggio C/C++ si deve verificare se sono stati utilizzati il sottoinsieme Ansi e librerie esterne non disponibili per Linux. Se entrambe le condizioni sono favorevoli è sufficiente ricompilare e testare.

Gli sviluppi futuri


Sempre da Borland arriverà alla fine di quest’anno, o al più tardi all’inizio del prossimo, C++Builder per Linux. Oltre a portare le applicazioni scritte con C++Builder per Windows sotto Linux, gli sviluppatori Linux si troveranno ad avere un compilatore (utilizzabile anche da riga di comando) ottimizzato per Linux con prestazioni superiori al compilatore Gcc/Gpp.


Ma non è solo Borland a muoversi. Trolltech, per esempio, produttrice della libreria a oggetti Qt impiegata per la realizzazione dell’interfaccia grafica Kde, annuncia meraviglie in occasione della prossima versione tra cui un ambiente di sviluppo grafico visuale decisamente migliorato e più completo dell’attuale. Si ricorda che la libreria Qt è disponibile anche per Windows.


Ibm, che di recente ha rinnovato e notevolmente ampliato i propri piani di sviluppo per Linux, ha rilasciato VisualAge Smalltalk Linux Preview, che permette di portare alcune parti dell’ambiente di sviluppo su Linux. VisualAge for Java, invece, per il momento rimane solo per Windows.


Sul fronte dell’automazione d’ufficio troviamo i progetti open source: KOffice (www.koffice.org), Gnome-Office (www.gnome.org/gnome-office) e OpenOffice (www.openoffice.org). I primi due sono gestiti dalle organizzazioni che seguono Kde e Gnome, l’ultimo è l’ex suite StarOffice di Sun che, dopo la versione 5.2, ha abbracciato questa filosofia.

Pmi come pioniere?


Come si è potuto vedere, dal punto di vista dello sviluppo non ci sono più motivi per non utilizzare Linux. Se, però, un’azienda cercasse soluzioni commerciali già pronte, dovrebbe faticare un po’ per trovare risposte. Le prime applicazioni stanno uscendo ora e sono realizzate da piccole e medie software house per le esigenze delle Pmi. Il costo complessivo di una soluzione, infatti, è abbattuto di molto se si tiene conto che Linux, database e altri software di sistema sono gratis o quasi. Anche per le realtà aziendali più grosse si sta muovendo qualcosa, ma bisognerà attendere ancora un po’. In questi casi, infatti, si utilizzano soprattutto grossi sistemi Unix o mainframe e serve ancora un po’ di tempo per abituarsi all’idea di passare a Linux e relative soluzioni, ovviamente quando queste saranno disponibili. È dello scorso marzo un accordo Ibm/Sap per portare o iniziare a portare l’Erp di Sap sui server zSeries (i modelli top della linea eSeries) proprio sfruttando Linux.


Un discorso a parte, invece, deve essere fatto per le società che hanno scelto esclusivamente o quasi le tecnologie di Microsoft come strumenti aziendali. Anche queste potrebbero ottenere vantaggi dall’adozione di Linux, ma le tecnologie sono tutte per Windows e per passare a Linux dovrebbero sceglierne altre, purtroppo bistrattare dalla società di Seattle. La sola possibilità è quella di sviluppare i nuovi moduli con tecnologie aperte oppure adottare database e server Web disponibili anche Linux.


Un’unica conclusione a questo punto non esiste perché l’apertura di Linux e del mondo che vi ruota intorno, offre ampi spazi di movimento in qualunque direzione si voglia seguire.

CONDIVIDI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here