Perché sviluppare software portabile

misc26.jpg

Credo che uno dei primi obiettivi di un software progettato oggi sia la portabilità. Sviluppare un software portabile vuol dire prevederne il funzionamento indipendentemente dall’architettura (x86, ppc, ecc.) e/o dal sistema operativo. Ovviamente tutto ha un costo (come ho già detto), ma il beneficio è enorme e non tutto è così scontato. Il più grande errore di oggi è dire: “Questo software deve girare solo sotto Windows”, anche perché ci si potrebbe chiedere: “Quale Windows?”. In generale non è buona cosa usare i paraocchi e vedere solo quello che è commerciale o solo quello che è trend. In particolar modo il settore dell’Information Technology subisce notevoli e repentini mutamenti, occorre, quindi, documentarsi e studiare continuamente, altrimenti si rischia di essere obsoleti. Emarginare l’utenza che non è maggioranza è un grosso errore: Apple, ad esempio, sta sfornando ottimi prodotti apprezzati dal mercato e dagli utenti. Inoltre, nella maggior parte dei casi, sviluppare per Unix vuol dire sviluppare per MacOSX, GNU/Linux, i vari *BSD e il nuovo OpenSolaris della SUN. Una delle principali comodità che offre lo sviluppo di software portabile è, quindi, quella di poter riutilizzare il codice o parte di esso. Alcuni consigli che mi sento di dare per poter sviluppare codice portabile:

  • Usare un linguaggio portabile:
    • Standard ISO o ANSI (Es. C/C++)
    • Linguaggio interpretato (Es. Python, Perl)
    • Middleware (Es. JAVA, ma non .NET!)
  • Sviluppare codice modulare:
    • Separazione contesti: (Es. librerie funzionali da interfaccia grafica).
  • Usare gli autotools.
  • Interfaccia grafica adattabile:
    • Usare template per la GUI (Es. libglade + XML)
    • Usare librerie grafiche portabil (Es. GTK+, FLTK)

Il costo di progettazione sarà sicuramente maggiore rispetto a quello tradizionale, ma permette di essere indipendenti dalla piattaforma su cui si lavora, anche in virtù della diffusione delle nuove periferiche PDA, Smartphone, TabletPC, ecc.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...