Introduzione

Asymetrix sin dal 1993 stava lavorando ad un ambiente di sviluppo chiamato in codice Jaguar. Nel 1994 fu implementato il primo compilatore C/ C++ (battezzato Flash C++ Compiler), nel 1995 la società di Bellevue (Washington) vide in Java una naturale evoluzione di questa sua tecnologia. Asymetrix, all'inizio di quest'anno, ha reso finalmente disponibile al pubblico SuperCede Java Edition (d'ora in avanti, per brevità, SCD) versione 1.0. E' un ambiente integrato di sviluppo, arrivato un pò in ritardo rispetto alla concorrenza, ma con alcune interessanti novità. Nel frattempo (durante l'estate) sono usciti due ulteriori tool (SuperCede ActiveX Edition e SuperCede DataBase Editon) ed è stata annunciata sul web la versione 2.0 prossima ventura. La figura 1 illustra l'homepage del sito (www.supercede.com) contenente ulteriori informazioni relative al prodotto. Da sottolineare che è possibile reperire on-line una versione try&buy della durata di 15 giorni. SuperCede, in questi ultimi mesi, è diventata una società a se stante (SuperCede, Inc.), in modo analogo a quanto aveva già fatto un altro prodotto di Asymetrix, l'InfoModelers (www.infomodelers.com). SuperCede Java Edition rientra fra quei tool di sviluppo definiti Rapid Application Development (RAD) in quanto effettivamente consente di operare in modo visuale, come afferma la stessa società, "makes constructing an application as easy as drag and drop". SCD è, inoltre, un insieme di strumenti di sviluppo integrati fra di loro (IDE) in quanto ingloba un source editor (con script colorati), un sofisticato ambiente grafico di sviluppo delle maschere, un debug ed un browser. Tutto in un unico ambiente!

Figura 1
Figura 1

L'installazione

Il manuale riporta una tabella che indica le condizioni minime per far funzionare correttamente SuperCede:

  • un Pentium almeno 66 Mhz;
  • un Sistema Operativo a 32 bit (Windows 95 o NT dalla versione 3.51);
  • (SCD è attualmente disponibile solo su macchine con processori Intel. La software house sta lavorando per consentire il porting di questa tecnologia su altre piattaforme).
  • almeno 24 megabyte di RAM;
  • 50 megabyte di spazio su disco;

L'installazione comprende, anche, un tutorial in linea denominato "learning Java with SuperCede from MindQ": un corso interattivo e multimediale (animazioni e suoni) per imparare in modo semplice il linguaggio di programmazione. E' presente anche un dizionario, decisamente comodo, che consente all'utente di ricercare un termine e di visualizzare la relativa scheda esplicativa (figura 2).

Figura 2
Figura 2

L'IDE

L'Integrated Development Enviroment presenta aspetti simili ad altri ambienti di sviluppo (ad esempio Visual Studio di Microsoft) soprattutto in termini di compattezza. L'editor del codice, il compilatore, il debug, la finestra per la costruzione delle maschere (form editor) o il pannello che racchiude tutti i file del progetto sono perfettamente integrati fra loro. Tutto ciò consente di accedere immediatamente ad ogni singola componente, risorsa o codice presente. L'ambiente per la creazione delle maschere che costituiscono l'applicazione è di tipo drag&drop (da un'unica palette di componenti). Non c'è più bisogno, in tal modo, di conoscere a fondo aspetti relativi all'Abstract Windowing Toolkit (AWT), in quanto SCD genera, per noi, tutto il codice necessario. Possiamo associare, in modo analogo, a ciascun controllo presente sul form, gli eventi che desideriamo (è sufficiente, infatti, un click sul pulsante destro del mouse per accedere sia alle proprietà, sia direttamente alla gestione degli eventi). Le figura 3 e 4 mostrano alcuni particolari legati all'IDE. La seconda immagine, nello specifico, è relativa alla costruzione di una maschera ed all'associazione di un evento (selected) ad un particolare controllo (combobox) presente sulla maschera. Il debug rappresenta un'altra feature integrata di SCD: è possibile verificare il codice, porre action point (si tratta di un particolare tipo di breakpoint a cui associare ulteriori script), osservare il valore assunto dalle variabili, controllare i registri, valutare espressioni o porzioni di codice. Tutto ciò è possibile grazie a strumenti quali il Watch Inspector e la Debug Scratch Area che semplificano notevolmente le fasi di test e di collaudo dei programmi.

Figura 3
Figura 3
Figura 4
Figura 4

Alcune osservazioni

Una caratteristica di questo ambiente di sviluppo, sicuramente molto interresssante, si rivela la possibiltà di generare output differenti: Java Class file, EXE only, DLL e così via. SCD crea, perciò, bytecodestandard quando si rende necessaria la portabilità tra piattaforme differenti. Crea codice nativo x86 quando sono richieste prestazioni di alto livello. Uno degli elementi di SCD da evidenziare (vedere, anche, paragrafo succesivo) è la forte interattività del programmatore con l'ambiente di sviluppo. La tecnologia presente, infatti, permette agli sviluppatori di modificare le applicazioni e di visualizzare immediatamente i risultati. La funzione di backtrack consente, addirittura, di rivelare gli errori presenti, risolvere il problema e riavviare l'applicazione immediatamente. Ciò significa perciò che gli errori possono essere effettivamente corretti a runtime. SCD viene rilasciato con una Virtual Machine (VM) che integra un compilatore di tipo Just In Time (JIT): tale VM, secondo la documentazione ufficiale avvicina le performance di un'applicazione scritta in Java a quelle di un software sviluppato in C++. Un'altra interessante feature del prodotto è rappresentata dalla presenza delle Internet Foundation Classes di Netscape che vanno, così, ad aggiungere nuove funzioni di tipo GUI. La figura 5, tratta dall'ultimo Developer Conference di Asymetrix, mostra l'integrazione delle varie componenti che costituiscono SCD.

Figura 5
Figura 5

La documentazione

Accanto al corso interattivo in linea, a cui abbiamo fatto riferimento inizialmente, SCD viene rilasciato assieme a due manuali: il First Look (36 pagine) e lo User Guide (136 pagine). Il primo si rivela molto pratico e consente, in breve tempo, di realizzare tre tipi di applicazioni differenti (in pochi minuti!). La prima, denominata "bouncing ball", consiste in una pallina che rimbalza in una finestra. Tale applicazione permette allo sviluppatore di acquisire dimestichezza con le varie sezioni che compongono l'ambiente di sviluppo e permette di osservare un qualcosa di veramente spettacolare: la possibilità di modificare il programma mentre viene eseguito. E' sufficiente, infatti, fare click sul pulsante update, presente sulla toolbar, per osservare immediatamente i cambiamenti. Il programmatore, in tal modo, evita così il noioso ciclo di compilazione/ link ed esecuzione. Soprendente! Di qui il nome "Flash Compiler" attribuito a SuperCede. Il secondo esempio, denominato "converting currency", permette di acquisire una certa dimestichezza, questa volta, con la creazione di un'applicazione di esempio per la conversione di valute differenti. Si rivela un interessante esercizio relativo all'utilizzo del form editor e della gestione degli eventi. Il terzo esempio, denominato "building the PMDemo database", è un tipico front-end che illustra come leggere un file esterno (di testo) e far apparire i dati in una maschera. La seconda guida, la User Guide, approfondisce in modo più dettagliato, caratteristiche peculiari di questo ambiente relativi all'interfaccia delle applicazioni, al debug ed alla interazione fra codice Java e C++ nello stesso ambiente. E' bene sottolineare, a tal proposito, che è possibile richiamare metodi e funzioni C/ C++ direttamente nel codice Java, in quanto entrambi i compilatori sono presenti in SuperCede (ricordiamo che SCD nasce inizialmente come compilatore C++). Tali manuali sono, anche, consultabili on-line in fomato Acrobat. E' presente, inoltre, la Java Quick Reference (edita da QUE Publishing), in formato help on-line, che riporta informazioni dettagliate riguardo le API del linguaggio. Conclude il tutto una guida sul funzionamento dell'Integrated Development Environment.

Il prezzo suggerito da Asymetrix per SuperCede Java Edition è di 294.000 (+IVA). I distributori italiani del prodotto sono:

  • CT2 (distributore e VAR) 02/ 48704265
  • Modo0522/ 512828
  • Ingram Micro 02/ 9579612
  • JSoft039/ 6899807

Potete raggiungere Marco Perrotti per suggerimenti o domande al suo indirizzo di posta elettronica: <perrotti@tin.it>. Marco Perrotti