MokaByte
Numero 09 - Giugno 1997
|
|||
|
Visual Café 1.0 |
||
Giovanni Puliti |
|
||
Molti di voi
ricorderanno che Symantec è stata la prima, oltre a Sun naturalmente,
a credere in questo nuovo linguaggio rilasciando il primo pacchetto commerciale
per sviluppare per Java ai tempi di Cafè.
Solo successivamente
Microsoft per non perdere troppo terreno ha deciso di uscire con VJ++,
una versione derivata, anche se perfettamente funzionante, dal VC++. Nonostante
la politica di MS è essere pronti su tutti i terreni della sfida
tecnologica, inizialmente a Redmond non credevano che fosse poi così
importante seguire anche questo settore, cercando invece di spingere la
propria tecnologia ActiveX. Questo tentennamento iniziale ha di fatto favorito
la concorrenza, come ad esempio Symantec che ha potuto fare esperienze
ed affermarsi nel settore: oggi ci propone un ottimo prodotto di sviluppo
come il VCafé. Ho deciso di partire dalla versione standard per
analizzare tutti i prodotti disponibili, e quindi solo successivamente
parleremo della versione PRO.
VISUALITA' ALLA SYMANTEC
Differentemente da quanto accade in MS Visual J++, in questo caso l'appellativo visuale indica una reale capacità grafica di progettazione delle GUI. ##Gli ambienti di sviluppo visuale possono essere suddivisi in due categorie: la prima in cui l'ambiente visuale è totalmente integrato nel linguaggio di programmazione, e di fatti non è possibile spearare le due componenti. Esempio tipico di tale categoria è il Visual Basic re indiscusso di tutti i prodotti visuali, che proprio grazie a questa completa integrazione fra linguaggio e ambiente, offre una elevata flessibilità di lavoro permettendo con poco lavoro di realizzare molto. Il prezzo che si deve pagare purtroppo è legato alla assoluta mancanza di portabilità del codice generato, che può essere manipolato e compilato solo con tale prodotto, contrariamente a quanto è invece possibile ad esempio un tool per Java o C++. ##L'altra categoria di prodotti di sviluppo visuale, è costituita da quegli ambienti che fanno riferimento a linguaggi evoluti come C++ o Java, non visuali, in cui il tool di sviluppo assomiglia a qualcosa che tempo fa (milleni in ere informatiche) venivano detti case tools. ##Prodotti come il Visual C++, o il Visual J++, appartengono a questa seconda categoria, e sicuramente possiamo includere anche il Visual Cafe' di Symantec. Questa categoria di prodotti in genere offre meno flessibilità e spesso non sono troppo amati dai programmatori per le scarse doti di flessibilità che essi offrono. Se l'ambiente non è progettato in modo ottimale, si rischia infatti di subire le sue decisioni, e di dover in definitiva lavorare maggiormente per personalizzare il lavoro. A tal proposito riconsiderando i molti wizard che VJ++ mette a disposizione, ricordo che in certi casi tutta quella automazione non era poi così vantaggiosa. ##Nel caso di Symantec devo dire però che le cose sono state realizzate molto bene, e l'ambiente che mette a disposizione risulta essere flessibile ma al tempo stesso propenso a seguire le direttive dell'utente.
2WAY Tool
Questo tool di
sviluppo è totalmente visuale, nel vero senso della parola e non
alla maniera del VJ++. Come accennavo precedentemente non è semplice
accoppiare la visualità applicata a linguaggi non visuali come Java,
ed è per questo motivo che VCafé è stato uno dei primi
ambienti ad implementare la programmazione 2-Way: questa caratterisitca
permette da un lato, durante la fase di creazione visuale di un oggetto
e la successiva modifica, di generare automaticamente il codice relativo,
e la creazione di una tabella delle proprietà, che in ogni istante
sono allineati con quanto si vede a video (first way). ##Contemporaneamente
una modifica al codice fatta mano, aggiorna automaticamente la tabella
delle proprietà e l'oggetto grafico (second way). ##L'assenza della
programmazione 2-Way porta a dover aggiornare a mano le varie parti del
progetto con un terribile aumento dei tempi di sviluppo: lo sviluppatore
si deve infatti preoccupare di quello che ha in mente e che vuole fare,
ma anche di quello che l'ambiente non si incarica di eseguire. ##Con la
programmazione 2-Way invece si ha quasi la sensazione di lavorare in un
ambiente totalmente integrato con il linguaggio visuale, quasi come avviene
quando si lavora col VB.
Devo dire purtroppo
che per il resto l'ambiente grafico messo a disposizione non mi ha convinto
completamente: infatti, anche se dopo un primo periodo di disorientamente
si riesce a lavorare bene e a organizzare le molte finestre che sono messe
a disposizione, trovo che una strutturazione più spartana e omogenea
renderebbe le cose più semplice. ##Ad esempio, anche se la rappresentazione
grafica è molto accattivante e piacevole alla vista, la suddivisione
del class browser dalla finestra delle risorse fa' rimpiangere l'ottima
finestrina presente in VJ++ che mantiene tutto sotto controllo . Per chi
usa un monitor da 21 pollici le cose sicuramente sono più semplici,
ma sono dell'avviso che una buona organizzazione a possa evitare di ricorrere
a tali dispendiose soluzioni.
Quello che invece è molto apprezzabile è l'organizzazione delle finestre di editing del codice, che come in VB hanno la possibilità di passare velocemente con un colpo di mouse su una combo box da oggetto ad un altro e da un metodo/evento ad un altro; gli eventi vengon automaticamente aggiunti alla lista man mano che se ne aggiungono al listato e per quelli standard si ha la colorazione in neretto se sono implementati. Molto comodo, proprio come in VB: ricordo che anche in questo caso si ha un perfetto allineamento fra il codice e la lista delle funzioni, e la sincronizzazione automatica non porta ad codice o proprietà fantasma. Per qunato riguarda la gestione delle varie finestre si tenga presente che come ormai avviene in tutti gli ambienti grafici sono tutte dockable aggancibili alla toolbar principale, ma in questo caso si ha una sgradevole cattiva gestione dei vari pezzi agganciati, e molto spazio viene sprecato: non è certo questo un particolare di fondamentale importanza, ma sicuramente può dare fastidio a chi usa un monitor piccolo.
PROGETTAZIONE VISUALE
Dal punto di vista della progettazione visuale lavorando col mouse è possibile scegliere fra un numero molto fornito di classi per la generazione di GUI ultima generazione: oltre alle classi standard fornite col jdk infatti, è possibile utilizzare un insieme piuttosto fornito di oggetti realizzati da Symantec e liberamente utilizzabili nelle proprie applicazioni. Anche in VJ++ é possibilie estendere il set di base delle classi, ma in quel caso si tratta di oggetti ActiveX, e quindi l'uso pregiudica la portabiliità dell'applicazione. ##In questo caso invece le classi fornite sono in tutto e per tutto Java, e quindi non sussistono problemi di porting. Per il controllo degli oggetti disponibili è
presente una
finestra molto comoda (una volta tanto) che nel look dell'Explorer di Windows
(95/NT) elenca le varie classi e package raccolti in cartelle e sottocartelle.
La cosa veramente utile è che con un semplice drag & drop da
Explorer è possibile aggiornare tale raccolta di classi. Fra le
classi aggiuntive direi che interessanti sono le cosiddette multimediali,
che permettono la visualizzazione di immagini ed animazioni in modo molto
semplice, anche se con qualche richiesta di troppo in termini di requisiti
di sistema.
Sempre legato
al concetto di programmazione visuale è presente un wizard per la
stesura in automatico del codice necessario per la gestione degli eventi:
utilizzando questo strumento è possibile in modo grafico scegliere
i due oggetti da far interagire fra loro e con una procedura step-to-step
simile a quella dei vari setup-wizard, decidere la sequenza di eventi e
le operazioni conseguenti. Per la verità questo wizard è
un po' troppo magico e lo consiglio solo a chi è alle prime
armi e non ha voglia di imparare, o nel caso in cui si debba realizzare
una applicazioncina in 4 minuti. E' infatti un po' troppo automatizzato
e non lascia troppa libertà al programmatore, in controtendenza
con il resto dell'ambiente di sviluppo (ed infatti fa parte del pacchetto
ma non è integrato con l'ambiente).
COMPILATORE
Il compilatore utilizzato da Symantec rispecchia la notorietà che la casa si è fatta sul campo con i vari C e C++. Devo dire che se qualche pecca si può trovare relativamente alla parte di interfaccia dell'ambiente, non mi sento di criticare minimamente il compilatore che si è dimostrato velocissimo e preciso nell'analisi sintattica del codice.
Da alcune mail apparse in JAVA-IT qualcuno ha chiesto se e come sia possibile utilizare il JDK 1.1 con VCafe': ebbene è possibile programmare per tale piattaforma, ed in questo il VCafè si è dimostrato un ottimo ambiente integrato nel linguaggio, ma capace all'occorrenza di svincolarsi da certi vincoli. ##Per utilizzare il jdk 1.1 basta impostare l'opzione use Sun's compiler e settare il path di sistema in modo che alla chiamata del compilatore risponda il javac.exe della 1.1, preoccupandosi inoltre di cambiare anche la variabile classpath. E' possibile quindi anche mantenere sulla stessa macchina entrambi i jdk 1.0.xx e 1.1 scegliendo di volta in volta cosa utilizzare da VCafé. Le numerose opzioni del compilatore permettono fra le altre cose di scegliere il tipo di compilazione (final o debug), se si vuol creare una applet o application, e molte altre opzioni a cui ormai siamo abituati. Eventualmente cosa interessante è che nella finestra dei messaggi viene visualizzata la stringa dei parametri del compilatore, per cui i puristi di Unix e riga di comando possono memorizzare e lavorare da shell. Al termine di questa prima serie di test dei vari compilatori verrà pubblicato un articolo riassuntivo delle performance dei vari compilatori.
CONCLUSIONE
Il termine di questo breve articolo sul VCafé potrei per una volta sbilanciarmi consigliando a chi ne avesse bisogno di acquistare questo prodotto, sicuramente un ottimo pacchetto costruito dalla casa che per prima ha creduto in Java realizzando il primo pacchetto di sviluppo per tale linguaggio ai tempi del semplice Café. Anche i successi commerciali sembrano confermare questo fatto: da recenti notizie che circolano in rete, sembra che grazie al pacchetto Cafe' (e successivamente VCafe') Symantec abbia incrementato le vendite ben oltre le più rosee previsioni degli analisti della casa.
|
||
|
||
MokaByte ricerca
nuovi collaboratori
|
||
|