iPost Too!

Home About Contatti

Ambienti di sviluppo… il punto della situazione

Argomento iTech oggi! Parliamo di linguaggi di programmazione, di ambienti di sviluppo. Oggi ce ne sono milioni, molti più di ieri, ci sono tante possibilità, molte piattaforme. Ma la domanda tipica alla quale rispondere è: “Per scrivere la mia applicazione quale tecnologia usare?” Oppure ancora, “Voglio imparare a programmare da dove inizio?”

Fino a qualche mese, anno, fa avrei risposto Java: era un modo semplice, intuitivo per scrivere applicazioni per praticamente tutte le piattaforme esistenti. Certo non si potevano richiedere particolari doti di efficienza e velocità, ma in fondo in fondo faceva il suo sporco lavoro. Applet per il web, applicazioni desktop e perché no applicazioni su cellulare. Oggi tutto questo non è più vero. Come già scrivevo qualche tempo fa per Flash, anche Java andrà presto a morire, anzi, morirà anche prima di Flash. Cosa è cambiato in questi anni? Non gli ambienti di sviluppo, non i framework, ma proprio gli sviluppatori!

Sì perché mentre sino a dieci anni fa un ragazzino di liceo si metteva in mano Visual Basic e cominciava a scrivere le sue applicazioncine da mostrare agli amici e all’insegnante di Informatica che ancora si ostinava ad insegnare il Turbo Pascal, oggi quello stesso ragazzino si mette in mano XCode e posta applicazioni sull’App Store della Apple. Gli sviluppatori di oggi non hanno più paura di imparare il C++, il C, l’objective-C, il Cobol, purché l’applicazione entri tra quelle gallerie di Applicazioni “che contano” e soprattutto, purché l’applicazione giri su PC, Mac, Android, iOS, la lavatrice, il frigorifero, la lavastoviglie, il frullatore… ovunque!

Però è anche vero che non si possono perdere mesi per sviluppare una piccola utility, o qualche software per lavoro… ma allora quali sono le reali alternative oggi per chi vuole iniziare a programmare, o per chi sviluppatore Java vuole fare il salto di qualità, oppure ancora per chi vuol avere uno strumento veloce per creare applicazioni efficienti e scalabili? Facciamo una rapida carrellata allora!

  • Adobe Flash Builder – E’ un vero e proprio ambiente di sviluppo di tipo RAD per sviluppatori ActionScript (che è il linguaggio di scripting nato su Flash). Personalmente a meno che non si conosca ActionScript, non vedo alcun motivo di investire nell’imparare questo sistema. Per regola, meglio investire in tecnologia open source o comunque gratuite. Flash Builder è a pagamento e soprattutto non produce applicazioni native per nessuna piattaforma. Gli eseguibili infatti girano sull’ambiante AIR… una specie di Java Virtual Machine di adobe. Onestamente ne abbiamo a sufficienza!
  • XCode – E’ l’ambiente di sviluppo predefinito per MacOs X e iOs, se si ha come piattaforma di riferimento questi sistemi è la scelta migliore. Il problema è che non è un vero e proprio RAD, quindi non va bene per piccole applicazioni, oppure per programmatori inesperti. In più necessita di imparare Objective-C un linguaggio di programmazione non utilizzato in nessun altro sistema. In ogni caso, è l’unica possibilità per chi vuole inviare applicazioni al Mac App Store o all’App Store di iTunes.
  • Java – E sì, rieccolo, c’è ancora Java! Malgrado vi siano applicazioni tipo NetBeans che ne facilitano lo sviluppo, a mio avviso, ancora una volta, è un sistema morente! I programmi scritti in Java che fanno uso di interfacce grafiche complesse sono lenti, non si armonizzano con il sistema operativo e soprattutto hanno bisogno della piattaforma Java già installata sul computer. Insomma, il guadagno in termini di tempo è solo un’illusione iniziale. Diciamo che adesso è più utile dal punto di vista didattico che altro. Meglio lasciar perdere… ed è un peccato. In più il mercato mobile si sta un po’ allontanando da Java, malgrado trovi una leggerissima ventata di vita su Android, ma questa è un’altra storia!
  • Real Studio – E’ un RAD vero e proprio che permette di sviluppare applicazioni, anche Web in pochissimo tempo. Può essere la soluzione per piccole start-up e piccole imprese, ma ha due grossissimi difetti per cui sconsiglio a studenti ed amatori di utilizzarlo: è molto costoso (la versione più evoluta arriva a quasi 1000€) e soprattutto non è uno standard industriale. Insomma, un bel giocattolino oggi, ma uno scarso investimento per il futuro dato che richiede di imparare il Real Basic un linguaggio di programmazione, sì semplice, ma proprietario. Ha di buono il fatto di essere realmente multipiattaforma.
  • C++ Builder e Delphi – Sono gli ambienti di sviluppo di Borland, adesso ceduti ad embarcadero. Sono davvero ottimi, ma vale quanto detto per Real Studio, con l’aggravante che sono esclusivamente per Windows e inoltre embarcadero non è certo Borland.

Cosa rimane allora? E’ davvero tutto perduto? A quanto pare no… uno spiraglio di luce arriva dalle librerie QT! Per chi non sapesse cosa sono, le QT sono le librerie alla base di KDE, l’ambiente grafico per Linux, che sviluppate originariamente da TrollTech adesso sono di Nokia. Esattamente Nokia, proprio quella dei cellulari! Sì perché nokia, quando non è impegnata a fare la guerra all’iPhone fa cose veramente eccezionali senza troppo marketing e squilli di tromba e questo ovviamente la penalizza. La nuova versione delle QT, infatti, oltre a consentire lo sviluppo di applicazioni opensource, permette anche di sviluppare GRATUITAMENTE applicazioni proprietarie e/o commerciali.

Nokia mette a disposizione gratuitamente il QT SDK per tutte le piattaforme: Mac Win Linux e dispositivi Symbian e MeeGo. Ma la vera chicca non è questa. La vera perla sta che nell’SDK è incluso QT CREATOR un vero e proprio RAD integrato che permette di sviluppare velocemente applicazioni multipiattaforma in C++. Dalle mie prove è un prodotto analogo a Real Studio o a C++ Builder. Questo è ciò che consiglio a tutti i neofiti o start-up per i seguenti motivi:

  1. E’ Gratis!
  2. Grazie a QT Creator, le QT sono diventate facili da usare
  3. C++ e QT sono uno standard industriale
  4. Permette lo sviluppo di applicazioni native su tutte le principali piattaforme
  5. Se proprio non riuscite a separarvi dal Java c’è il binding anche per questo linguaggio, quindi è comunque un investimento in termini di conoscenze
  6. C’è uno strumento, ancora poco diffuso, che è QT Quick che consente a sviluppatori Web di creare applicazioni con l’uso del Designer, di Photoshop e di Javascript

Quest’ultimo punto, poi, è interessante perché mette questo sistema allo stesso livello di Adobe Air e del suo Flash Builder… solo con la potenza del C++! Vedremo dunque dove si evolverà questo sistema, ma è notizia di questi giorni che Canonical e Nokia si stanno incontrando per trovare il modo di favorire lo sviluppo con le QT in Ubuntu. Tenete le orecchie aperte gente!

Intanto rifatevi gli occhi! http://qt.nokia.com

1 Commenti

  • Ignazio ha detto:

    sei veramente diabolico xD
    corro subito a darci un’occhiata ^^

    P.s.
    “purché l’applicazione giri su PC, Mac, Android, iOS, la lavatrice, il frigorifero, la lavastoviglie, il frullatore… ovunque!”

    è vero!!! xD

Lascia un commento

Iscriviti

Segui «iPost Too!»

Inserisci il tuo indirizzo e-mail per iscriverti ad iPostToo e non perdere neanche un post!

Unisciti a 445 altri iscritti