Xojo: differenze tra le versioni
Nessun oggetto della modifica |
|||
Riga 73: | Riga 73: | ||
Entrambe le versioni dell'IDE permettono di costruire l'[[interfaccia utente grafica]] dell'applicazione trascinando i controlli dalla barra degli strumenti alla finestra che li contiene. Il posizionamento dei controlli è agevolato dall'IDE, che permette di allinearli (sia in orizzontale che in verticale) e fornisce informazioni sulla distanza tra i controlli o tra un controllo e i bordi della finestra. |
Entrambe le versioni dell'IDE permettono di costruire l'[[interfaccia utente grafica]] dell'applicazione trascinando i controlli dalla barra degli strumenti alla finestra che li contiene. Il posizionamento dei controlli è agevolato dall'IDE, che permette di allinearli (sia in orizzontale che in verticale) e fornisce informazioni sulla distanza tra i controlli o tra un controllo e i bordi della finestra. |
||
Come molti IDE moderni, l'[[editor di codice]] supporta strumenti personalizzabili come l'[[evidenziazione della sintassi]], il [[completamento automatico]] e il [[refactoring]] della struttura del codice. |
Come molti IDE moderni, l'[[editor di codice]] supporta strumenti personalizzabili come l'[[evidenziazione della sintassi]], il [[completamento automatico]] e il [[refactoring]] della struttura del codice. L'IDE include anche editor per menù e schemi di database, ed un visualizzatore per file multimediali come immagini, filmati o audio. |
||
L'IDE dà al programmatore l'accesso alle funzioni di scripting tramite RBScript, che permette il controllo dell'IDE per automatizzare i task, come far avviare un [[test di regressione]] od avviare build notturne. |
L'IDE dà al programmatore l'accesso alle funzioni di scripting tramite RBScript, che permette il controllo dell'IDE per automatizzare i task, come far avviare un [[test di regressione]] od avviare build notturne. Gli script possono essere sia globali sia specifici per un progetto. |
||
REALbasic supporta la [[compilazione incrementale]], attraverso cui il compilatore può ricompilare solo quelle parti di un progetto che sono state modificate. Per esempio, se soltanto il corpo di un metodo viene modificato, allora solo la voce del progetto contenente quel metodo necessita di essere ricompilata. |
REALbasic supporta la [[compilazione incrementale]], attraverso cui il compilatore può ricompilare solo quelle parti di un progetto che sono state modificate. Per esempio, se soltanto il corpo di un metodo viene modificato, allora solo la voce del progetto contenente quel metodo necessita di essere ricompilata. |
||
== Esempi di codice == |
== Esempi di codice == |
Versione delle 12:51, 21 giu 2013
REALbasic (RB) è un linguaggio di programmazione orientato agli oggetti basato su BASIC sviluppato e commercializzato da REAL Software, azienda con sede ad Austin, Texas per Mac OS X, Microsoft Windows, Linux 32-bit x86 e web.
Storia
REALbasic è stato creato da Andrew Barry. Il nome originariamente era CrossBasic, per sottolineare la sua capacità di compilare lo stesso codice di programmazione per Mac OS e Java (anche se l'ambiente di sviluppo integrato era solo Mac). Nel 1997 CrossBasic fu acquistato da FYI Software, che cambiò il suo nome in REALbasic e il nome dell'azienda stessa in REAL Software. Fu in questo periodo che venne abbandonato il target Java e furono aggiunti il target Windows ed il supporto database. L'IDE è ora disponibile per Microsoft Windows, Mac OS X, e Linux 32-bit x86 e può compilare applicazioni per Windows (Windows 2000 e superiore), Mac OS X (PowerPC, Intel, e Universal Binary) e Linux 32-bit x86. In aprile 2009 è uscito il nuovi IDE con il nome RealStudio, che permette di creare anche applicazioni web. Da giugno 2013 il prodotto si chiama Xojo, con una serie di nuove funzionalità e una nuova politica di licenze.
Caratteristiche del linguaggio
Anche se REALbasic (RB) usa la parola "basic" nella sua descrizione come una variante del linguaggio di programmazione BASIC, RB non si conforma allo standard ANSI per il linguaggio di programmazione BASIC. Ad esempio, il codice sorgente ANSI Standard di semplici programmi demo in TrueBASIC non compilerà in RB senza una riscrittura completa. RB non supporta l'operazione matematica matrix standard "mat" che rende ANSI BASIC uno strumento utile per l'insegnamento di concetti di programmazione introduttivi. RB è un linguaggio fortemente tipizzato con una conversione automatica di tipo ridotta al minimo, che supporta ereditarietà singola e interfacce, metodi e proprietà di classe, gestione della memoria automatica tramite il conteggio dei riferimenti, e il sovraccarico degli operatori. Una funzione importante è la capacità di estendere (non solo ereditare) classi esistenti, come le categorie Objective-C. Questa particolarità riduce considerevolmente il bisogno di Abstract Factory Pattern, che complicano l'uso di Framework applicativi in Java e C++. REALbasic include anche la funzione delegate, l'introspezione, e il supporto a namespace, che consentono ai moduli di contenere classi, interfacce e altri moduli.
Caratteristiche del framework
Come viene descritto nelle note al linguaggio, il framework incluso in RB supporta (REAL SOftware 2008):
- dizionari,
- dichiarazioni a librerie esterne (dll, dylib),
- compatibilità con i tipi di dato Visual Basic,
- supporto completo Unicode,
- espressioni regolari,
- API per compilare librerie in C su tutte le piattaforme supportate,
- supporto ActiveX e supporto di base OLE (su Windows); gli oggetti COM non sono completamente supportati,
- icone di notifica (su Windows),
- Windows registry (su Windows),
- thread comparativi,
- linguaggio di scripting integrato nei programmi REALbasic attraverso RBScript,
- analisi sintattica e generazione XML,
- supporto applicazione console e service (solo per la Professional Edition),
- Apple events (su Mac),
- Address Book (su Mac),
- Keychain (su Mac),
- Spotlight (su Mac),
- QuickTime (su Mac e Windows),
- suono,
- grafica 3D Real Time,
- comunicazione seriale,
- sockets (sia TCP, che UDP e IPC),
- SSL (solo per la professional Edition),
- HTTP, POP3, SMTP and SOAP.
La funzionalità framework può anche essere estesa con la creazione di plugin usando il Plugin SDK fornito da REAL Software. I plug-in sono creati usando C/C++ con una varietà di compilatori supportati, inclusi Xcode, Microsoft Visual Studio e GCC. I plug-in possono supportare tutte le piattaforme supportate da REALbasic.
Formato file
Il formato del file sorgente contiene dati per la disposizione di finestre e controlli ed è proprietario, anche se l'importazione e l'esportazione in formato XML sono supportate. Tutto il codice sorgente può essere contenuto in un file di progetto, ma è possibile anche avere classi/moduli in file separati nella stessa maniera in cui possono farlo la maggior parte degli altri linguaggi e dialetti. REALbasic compila direttamente in codice macchina per ogni piattaforma supportata. REALbasic 2006 Release 3 e successive supportano anche un formato testuale che consente l'utilizzo di strumenti di controllo della versione quali Subversion or CVS.
Edizioni dell'IDE
Ci sono tre versioni dell'IDE:
- REAL Studio include tutte le caratteristiche della Professional Edition, più altre funzioni per programmatori a tempo pieno.
- La Professional Edition può compilare programmi per Max OS X (PowerPC Carbon Mach-O, i386 Carbon Mach-O e Universal Binary), Linux e Windows dallo stesso codice sorgente; può anche accedere a database (REAL Server, MySQL, Oracle, PostgreSQL, ODBC, ecc.) compreso il motore Database REAL SQL monoutente incluso, basato su SQLite; compila applicazioni console, ha un profiler di codice, può fare il debug remoto e ha numerose altre caratteristiche.
- La Personal Edition compila solo programmi per la piattaforma sulla quale l'IDE sta girando (Windows, Linux e Mac) e non consente l'accesso a database diversi da quello incluso REAL SQL Database.
Caratteristiche IDE
Entrambe le versioni dell'IDE permettono di costruire l'interfaccia utente grafica dell'applicazione trascinando i controlli dalla barra degli strumenti alla finestra che li contiene. Il posizionamento dei controlli è agevolato dall'IDE, che permette di allinearli (sia in orizzontale che in verticale) e fornisce informazioni sulla distanza tra i controlli o tra un controllo e i bordi della finestra.
Come molti IDE moderni, l'editor di codice supporta strumenti personalizzabili come l'evidenziazione della sintassi, il completamento automatico e il refactoring della struttura del codice. L'IDE include anche editor per menù e schemi di database, ed un visualizzatore per file multimediali come immagini, filmati o audio.
L'IDE dà al programmatore l'accesso alle funzioni di scripting tramite RBScript, che permette il controllo dell'IDE per automatizzare i task, come far avviare un test di regressione od avviare build notturne. Gli script possono essere sia globali sia specifici per un progetto.
REALbasic supporta la compilazione incrementale, attraverso cui il compilatore può ricompilare solo quelle parti di un progetto che sono state modificate. Per esempio, se soltanto il corpo di un metodo viene modificato, allora solo la voce del progetto contenente quel metodo necessita di essere ricompilata.
Esempi di codice
Questo è un esempio di sovraccarico dell'operatore (operator overloading) per un'ipotetica classe Complex che permette di sommare un numero reale con un numero complesso, e di sommare due numeri complessi:
Function Operator_Add (rhs As Single) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs
ret.Imaginary = Self.Imaginary
Return ret
End Function
Function Operator_Add (rhs As Complex) As Complex
Dim ret As New Complex
ret.Real = Self.Real + rhs.Real
ret.Imaginary = Self.Imaginary + rhs.Imaginary
Return ret
End Function
La stessa funzione può essere definita per accettare valori Double DataType. Questo codice mostra come usare la classe Complex per sommare un numero reale con un numero complesso:
Dim First As New Complex (0, 1)
Dim Second As New Complex (1, 1)
Dim Sum As Complex
Sum = First + 5.0 + Second
// La somma sarà (6, 2)
Bibliografia
- Tony Smith, RealBasic 2005 for Mac, Windows and Linux, su theregister.co.uk, The Register, 13 settembre 2005. URL consultato l'11 aprile 2006.
- Joe Barr, Review: REALBasic 2005 for Linux, su programming.linux.com, Linux.com, 4 agosto 2005. URL consultato l'11 aprile 2006.
- REAL Software, REALbasic Language Reference, su realsoftware.com, REAL Software, 6 maggio 2008. URL consultato il 6 maggio 2008.
- Tejkowski, Erick (2001). REALbasic for Dummies. Hungry Minds. ISBN 0-7645-0793-1.
Voci correlate
Linguaggi BASIC affini
- Gambas - un libero approccio alla programmazione basata su BASIC
- Visual Basic
Collegamenti esterni
- REAL Software, Inc., sviluppatore di REALbasic