Newsgroup: it.comp.java
Titolo: dilemma: Jbuilder o VisualAge?

ciao
 da poco lavoro su Java: volevo un opinione
 sui toolchain per sviluppare applicativi (non applet)
 in Java. Ho provato VisualAge e Jbuilder, ma data
 la scarsa esperienza, per me sono uguali.
 ciao
Enrico



Hanno tutti e due i loro pro e contro. JBuilder è un ambiente più
tradizionale, lavora con i files sorgenti come la maggioranza degli ambienti
di sviluppo. Mi sembra realizzato abbastanza bene anche se consuma una
quantità di memoria abnorme, e così il suo help (a malapena si riesce, con
128 mega di memoria, a far funzionare assieme JBuilder e help).
Di VisualAge conosco la versione 2, non so se certe cose siano migliorate
nel frattempo.
VisualAge ha un'impostazione tutta sua, in cui gli elementi del programma
(progetti, packages, classi) sono trattati direttamente in quanto tali (non
ci sono files sorgenti, o almeno non sono visibili all'utente) e il loro
mantenimento è interamente gestito dal repository, una sorta di "database"
che contiene tutti questi elementi nel loro ordine gerarchico e provvede
anche al mantenimento delle versioni. Oltre ad essere un sistema più
coerente con la struttura di un progetto, c'e il grosso vantaggio di una
gestione delle versioni totalmente integrata nell'ambiente e molto agevole
da usare. L'impostazione di base trovo che sia veramente buona.
Purtroppo non mancano i difetti: la concezione dell'interfaccia è spesso
assai poco intuitiva (per discutibili scelte di impostazione), quindi
richiede un certo tempo per orientarsi e per poterla usare in modo
abbastanza efficiente.
Il codice generato automaticamente dall'editor grafico non mi piace molto
(soprattutto nella gestione degli eventi, in cui l'eleganza del nuovo
modello di eventi Java viene vanificata e tutto è ricondotto a qualcosa di
più simile al vecchio modello, o a quello del Visual Basic); alcune parti
sono ben poco leggibili da un essere umano, e anche l'efficienza non mi
sembra il massimo. Gli oggetti generati sono sempre dei beans, che non è
detto sia sempre quello che uno vuole ottenere. Decisamente negativa la
scarsa integrazione e interazione tra editor grafico e editor testuale: ci
sono delle parti di codice che puoi modificare solo con l'editor grafico (se
fai modifiche testuali, perdi l'allineamento con l'editor grafico e alla
successiva rigenerazione perdi tutte le modifiche).
C'è da dire pero' che Visual Age offre delle possibilità di programmazione
visuale senz'altro più avanzate rispetto agli altri ambienti: si possono
stabilire graficamente dei "collegamenti" tra gli oggetti che automatizzano
o semplificano la gestione degli eventi, l'aggiornamento di componenti
collegati ecc. Su queste features non posso dire molto perchè  ho solo dato
un'occhiata, senza veramente sperimentarle...
Tutto sommato, propenderei per VisualAge nelle applicazioni in cui non si
intende usare l'editor grafico, o si intende usarlo poco (utilizzando,
magari, soprattutto i layout, se ci sono parti grafiche), mentre per
lavorare in maniera visuale, mi sembra preferibile JBuilder, in cui la
qualità del codice generato è migliore, e per preservare l'allineamento
testo/grafica devi solo mantenere l'inizializzazione degli oggetti nel
metodo jbinit.
Rimane poi la possibilità di provare a percorrere fino in fondo la strada
della programmazione visuale "alla VisualAge" e vedere dove conduce,
consapevoli però che in tal modo ci si lega a questo ambiente di sviluppo,
generando codice sostanzialmente ingestibile in altri ambienti.