martedì 11 giugno 2013

Come sviluppare applicazioni cross platform.


Ci sono parecchi tool, sia freeware che commerciali, per sviluppare applicazioni cross platform desktop e mobile. Di seguito, darò brevi informazioni sui tool che ho provato(ma ce ne sono molti di più di quelli che tratterò), indicandone gli aspetti positivi e quelli negativi. Ovviamente, questo post non vuole essere una guida alla scelta del tool da utilizzare, in quanto ognuno sceglie in base alle proprie impressioni ed esperienze, ma vuole essere solo un piccolo aiuto per capire cosa è disponibile.
Rad Studio XE4
Sviluppato da Embarcadero. È disponibile in diverse edizioni (Professional, Enterprise, Ultimate, Architect) e permette lo sviluppo di applicazioni desktop (Windows 32 e 64 bit, OSX) e mobile (al momento solo IOS). L’IDE è disponibile solo per Windows. Si può scegliere di sviluppare in Delphi (Pascal) o C++, ma quest’ultimo non supporta lo sviluppo di applicazioni mobile. RAD Studio, include la possibilità per sviluppare su IOS in tutte le quattro edizioni, mentre acquistando Delphi XE4, solo nella edizione Professional questo non è incluso e bisogna acquistare il Mobile Add-on Pack. L’ambiente di sviluppo è completo e ricco di funzionalità. Ovviamente, per testare applicazioni su Mac o IPad/Iphone, bisogna avere a disposizione questi dispositivi.
Pro
- Ricca dotazione di componenti (include anche FastReport Embarcadero Edition per la realizzazione di report, sia per VCL che per Firemonkey)
- Compilatore molto veloce e tempi di esecuzione rapidi
-  Generazione di eseguibili nativi
- Linguaggi molto potenti
- Help aggiornato ma enorme disponibilità di documentazione sulla rete
- Disponibilità ampia di componenti di terze parti, freeware e commerciali
Contro
- Non è ancora disponibile il compilatore per Android. Si spera che quando verrà rilasciato, sarà un update di XE4 e non ci sia la necessità di acquistare una nuova versione (XE5)
 
Xojo (ex RealStudio)
Sviluppato da Xojo Inc. Permette di generare applicazioni per Windows, Linux e OS X e applicazioni web. È disponibile nelle edizioni Console(per sviluppare applicazioni senza interfaccia grafica), Accesso Database, Web(le applicazioni possono girare su server Windows, OS X e Linux) , Desktop (per sviluppare applicazioni Windows, OS X e Linux) e Pro (contiene tutte le funzionalità).. L’IDE è disponibile per Windows, OS X e Linux. Il linguaggio utilizzato è like Basic. Lato database, è possibile connettersi a SQLite e a database server quali Oracle, Postgres, ODBC, Microsoft SQL Server, e MySQL.
A mio parere, l’IDE non è molto intuitivo; i componenti a disposizione sono quelli standard , ma in compenso mette a disposizione dei componenti per la generazione e gestione di report.
Pro
- Generazione eseguibili nativi
- Generazione applicazioni web
- Importante community di sviluppatori
- Componenti di terze parti
- Generazione di applicazioni per Linux
- IDE disponibile per tutte le piattaforme supportate
Contro
- Manca un componente DataGrid per la gestione e la visualizzazione dei dati in formato tabellare. È necessario utilizzare una ListView e popolarla manualmente (per me questa è una grande pecca). Oppure bisogna acquistare una DataGrid di terze parti.
- IDE non intuitivo
- Pochi componenti forniti con il prodotto
- Non genera applicazioni native per dispositivi mobili (IOS e Android)
LiveCode
Sviluppato da RunRev Ltd. È disponibile in due edizioni: Community e Commercial. La Community è gratuita ma le applicazioni devono essere Open Source e devono essere rilasciate insieme al codice sorgente. Inoltre la versione Community mette a disposizione il suo codice sorgente. La versione Commercial, ovviamente, è a pagamento, non devono essere rilasciati i sorgenti insieme all’applicazione ed è disponibile sotto forma di Subscription; bisogna pagare, al momento, 500 € all’anno. Se si acquista la versione Commercial e poi si decide di non pagare più la Subscription, diventa automatica Community Edition con tutto ciò che ne consegue.
Permette di generare applicazioni native per Windows, OS X, Linux, Android, IOS.
LiveCode deriva da HyperTalk, utilizza un linguaggio English-like, tipo le seguenti istruzioni prese dagli esempi forniti con LiveCode Community Edition:
repeat while word 1 of tCardID is not "card"
if there is a group "Country" of tTemplateID then
Per chi non ha già avuto esperienza con HyperTalk o linguaggi simili, la linea di apprendimento potrebbe essere alta.
L’IDE, a mio parere, non è conforme agli standard moderni e non è MDI. Infatti abbiamo una toolbar orizzontale (con le varie funzioni), una verticale (con i componenti) e poi le varie form (qui si chiamano Stack) che vengono create. Genera un po’ di confusione.  
Al contrario di altri IDE, durante la fase di sviluppo, per testare un’applicazione non esiste una fase di Esecuzione che compila il progetto e lo esegue, ma si passa direttamente dalla fase Edit a quella Live.
Anche LiveCode fornisce pochi componenti standard e non fornisce un generatore di report.
Dopo averla utilizzata un po’, non penso sia molto adatto per applicazioni database.
Pro
- Linguaggio potente
- Genera applicazioni per piattaforma mobile e Linux
- Community Edition
- Componenti di terze parti
Contro
- IDE obsoleto
- Linguaggio inizialmente non molto intuitivo
- Forniti pochi componenti standard
- Manca generatore di report
- La Subscription della Commercial Edition è paragonabile ad un canone annuale, con tutto ciò che ne consegue se si decide di rinnovarlo
- Non molto adatto ad applicazione database
XeroCoder (ex Xpower++)
Sviluppato da XeroCoder Ltd. Dirò poco di questo tool, perché non è molto affidabile sia dal lato tecnico che del supporto.  Permette di generare applicazioni Windows, OS X, Linux. Permette di sviluppare in Java, Basic, Pascal, C++ e di interfacciarsi a database Firebird a MySQL. Quando è nato era molto promettente, ma purtroppo l’azienda non ha saputo sfruttare il gioiello che aveva creato.
Pro
- Ricca dotazione di componenti con generatore di report
Contro
- Ultimo rilascio a dicembre 2012, e l’azienda al momento ha bloccato tutti i futuri rilasci
- Molto lento nell’esecuzione da IDE e nella compilazione
- Lento nell’esecuzione
- Cattiva gestione della memoria
- Quando si utilizzano componenti database e si verificano errori, la maggior parte delle volte questi non vengono segnalati (cosa molto grave)
- … e mi fermo qui

Ovviamente, se avete segnalazioni da fare, sono a vostra disposizione.
 
A presto.

Nessun commento:

Posta un commento

Cerca nel blog