Xojo

linguaggio di programmazione
(Reindirizzamento da REALbasic)
Xojo
linguaggio di programmazione
AutoreXojo, Inc.
Ultima versione2021R3.1
UtilizzoGeneral purpose
ParadigmiOrientato agli oggetti, a eventi
TipizzazioneForte
Influenzato daBASIC
Implementazione di riferimento
Implementazionecompilatore
Sistema operativoWindows, Linux, macOS, Raspberry Pi, iOS
LicenzaProprietaria
Sito webwww.xojo.com

Xojo è un IDE ed un linguaggio di programmazione basato su un dialetto BASIC orientato agli oggetti, sviluppato e commercializzato da Xojo, azienda con sede ad Austin (Texas), per macOS, Microsoft Windows, Linux, Raspberry Pi, iOS e web.

StoriaModifica

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, macOS, 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 nuovo IDE, RealStudio, che permette di creare anche applicazioni web.

Da giugno 2013, la società ha cambiato nome in Xojo, Inc ed il nome del linguaggio di programmazione è stato cambiato in Xojo. Offre una serie di nuove funzionalità ed è distribuito con una nuova politica di licenze.

Caratteristiche del linguaggioModifica

Anche se il nome originale del linguaggio di programmazione includeva la parola "basic", il linguaggio di programmazione non segue lo standard ANSI per il linguaggio di programmazione BASIC. Ad esempio, il codice sorgente ANSI Standard di semplici programmi demo in TrueBASIC non compilerà senza una riscrittura completa. Xojo non supporta l'operatore standard mat che rende ANSI BASIC uno strumento utile per l'insegnamento di concetti di programmazione introduttivi. Xojo è 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++. Xojo 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 frameworkModifica

Il framework incluso supporta:

La funzionalità framework può anche essere estesa con la creazione di plugin usando il Plugin SDK ufficiale. I plugin sono creati usando C/C++ con una varietà di compilatori supportati, inclusi Xcode, Microsoft Visual Studio e GCC e possono supportare tutte le piattaforme supportate dal compilatore, fatta eccezione per iOS, come indicato nella documentazione per l'SDK.

Formato fileModifica

Il formato del file sorgente contiene dati per la disposizione di finestre e controlli. 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. Xojo compila direttamente in codice macchina per ogni piattaforma supportata. A partire da REALbasic 2006 Release 3, è possibile salvare il codice come testo, per consentire l'utilizzo di strumenti di controllo della versione quali Subversion o CVS.

Edizioni dell'IDEModifica

L'IDE Xojo può essere usato liberamente per imparare e sviluppare. Compilare applicazioni con Xojo richiede una licenza. Le versioni offerte dell'IDE comprendono:

  • Xojo Pro permette di compilare per desktop, web, console e iOS, con una licenza che è valida per tre dispositivi
  • Xojo Pro Plus estende la licenza a sei dispositivi per utente

Caratteristiche dell'IDEModifica

L'IDE permette 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.

Xojo 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.

Codice di esempioModifica

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. Il seguente 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)

BibliografiaModifica

Voci correlateModifica

Linguaggi BASIC affiniModifica

Collegamenti esterniModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica