Koele koffie, heet geschonken

0
24

Symantec marcheerde met VisualCafé steeds in de voorste gelederen van de Java ontwikkeling. De nieuwe eigenaar BEA Logic, gekend van de WebLogic Application Server, gaf VisualCafé onderdak bij dochter WebGain. Met aan het hoofd Sun’s voormalig Java-opperhoofd Alan Baratz en met een overnameprijs van dik 74 miljoen euro, leek deze Java ontwikkelomgeving ons een bespreking waard. We bekeken de Expert Edition van versie 4, aangezien voor de Enterprise Edition de teller nog op 3 staat.
visualcafedoos
In VisualCafé’s verleden ging de snelle Java vooruitgang dikwijls ten koste van stabiliteit. Bij deze VisualCafé 4 (VC4) evenwel kregen we nauwelijks nog crashes. Toch is ook deze editie overhaast op CD gezet. De VisualCafé Tour, die ons vertrouwd moest maken met het nieuws in deze geïntegreerde ontwikkelomgeving (IDE), heeft duidelijk geen eindtest ondergaan. Het installatieprogramma zet immers een pad naar de verkeerde Java bibliotheek, waardoor de boel gewoon niet werkt. Gelukkig hebben wij ondertussen zowat alle mogelijke versies van Java bibliotheken op CD staan, en ervaring genoeg om dit soort problemen te onderkennen. Jij hopelijk ook.

Broncode
Van een IDE (geïntegreerde ontwikkelomgeving) verwachten we visuele hulp om gebruiksinterfaces te maken. VC4 ontleedt voortdurend je broncode, zodat je wijzigingen zowel in het lay-outscherm als in de resulterende broncode kunt aanbrengen. Helaas blijkt dit al te dikwijls nodig. In plaats van een versleepte component in de juiste cel van zeg maar een rooster-LayoutManager te plaatsen, vervuilt VC4 je code gewoon met pixelposities. Die worden door Java’s platformonafhankelijke LayoutManagers niet gebruikt. Uiteindelijk schrijf je best eerst de broncode om die, o omgekeerde wereld, door de wizard schermopmaak te laten vertalen naar een voorbeeldscherm. Daarin definieer je dan de koppelingen tussen de componenten.

Database
De database-wizard laat LayoutManagers gauw links liggen, en pint componenten vast op pixelposities. Dat zal je leren een werkpost met grote letters te gebruiken. Met deze wizard sleep je tabellen of kolommen ineens naar een lay-outscherm. Dat toont de records in formulier- of tabelvorm, met live data. Voor de meeste ontwikkelaars is het natuurlijk overbodig dit te zeggen, en voor de overige zinloos: geen productiebestanden gebruiken! Gek genoeg kan je enkel voor formulieren veldnaamlabels opgeven; bij tabelweergave moet je die achteraf bijprogrammeren. Om meer tabellen aan een scherm toe te voegen moet je weinig meer doen dan de JOIN voorwaarden opgeven. VC4 verwekt dan code voor databasenavigatie en updates, en desgewenst ook voor query-by-example, een status balk en een log van de uitgevoerde SQL commando’s.

Object Oriëntalisme
Bij de generatie van code blijkt wel dat VC4 in overdreven mate aan Object Oriëntalisme lijdt. Er worden te gemakkelijk nieuwe klassen gecreëerd waar een functie-aanroep op een standaardklasse volstaat. Zo maakt VC4 van een “OK”-dialoog een nieuwe klasse, waar je zelf met vijf lijntjes code de standaard Dialog klasse zou oproepen. Zeker applets voor het internet worden hierdoor te zwaar. Ook de databasecode is niet vrij van overhead, maar dat kan moeilijk anders: als je met dezelfde code alle courante SQL-dialecten wil spreken, moet je de grootste gemene deler gebruiken, en groot is die niet.

Vlot in code
Alhoewel VC4 met de gebruikelijke ‘.java’-bronbestanden werkt, geeft de Class Browser vlot toegang tot individuele methoden en velden (zie schermafdruk). Wie liever een grote brok broncode ziet, kan zowel met een Single Document Interface (SDI) als met een Multiple Document Interface (MDI) werken. Je kunt zelfs Class Browser en documentvensters samen gebruiken: VC4 synchronizeert de code bij elke wissel. Een betere manier om verschillende stukken broncode in de pas te laten lopen is er niet.De werkvensters in de IDE krijgen allemaal een tab in een aparte balk, zodat je zelfs tussen vele gemaximaliseerde vensters nog snel het juiste terugvindt. Diverse informatievensters staan zwevend of tegen de randen geschikt, en kunnen met een klik open en dicht gevouwen worden. VC4 biedt hiermee zonder meer de beste en meest flexibele schermindeling van alle Java IDE’s.Toch spijtig dat de informatievensters dikwijls te smal zijn voor de teksten die ze tonen. In andere IDE’s laat je dan met de muis een kadertje met de volledige tekst oplichten; in VC4 niet.

Vertaalhulp
Sterk in deze VC4 is de vertaalhulp. Op aanvraag zondert hij alle tekstconstanten van je programma af in een aparte klasse. Met enkele muisbewegingen, afgezien natuurlijk van de vertalingen, maak je daar extra taalversies van. Bijna perfect. Helaas zijn er voor de prefab programmadelen geen vertalingen; die moet je bij elk gebruik handmatig toevoegen. Verder maakt VC4 geen onderscheid met tekstuitdrukkingen van Java zelf, die geen vertaling hoeven, met dubbel onderhoud tot gevolg. En driewerf helaas is dit zowat het enige programma-onderdeel dat geregeld blokkeert; erg ongelegen, vermits de vertaalwizard je broncode wijzigt.

Nooit tevreden
Moest al dit moois werken, dan was VC4 de bijna perfecte IDE. Voortgebrachte Java code moet je moeizaam aanpassen omdat naamswijzigingen niet consequent worden doorgevoerd. Uitvoeren van de gegenereerde databasetoepassing geeft keer op keer een ander resultaat, van gewoon niet opstarten om diverse redenen tot onvolledige weergave van de database. En dit zonder aan toepassing of database ook maar één letter te wijzigen. De aangemaakte code respecteert Java’s standaard naamgeving niet.En dan zijn er nog de vele snoepjes die wel de feature list lang maken, maar aan je tanden blijven kleven. De JavaDoc editor moet je zelf van HTML-syntaxis voorzien, de ‘code autocompletion’ is nog steeds te traag, te weinig automatisch, te pietluttig over hoofd- en kleine letters, herkent van te veel Java-constructies de klasse niet, en doet vooral te dikwijls foute suggesties. Het contextgevoelige hoofdmenu laat de rest van het IDE-venster op een neer springen, met geregeld fout aanklikken tot gevolg, en helpt met dat geweld de knoppenbalken naar de knoppen. De functie ‘ongedaan maken’, eindelijk meervoudig, heeft geen ‘opnieuw doen’, zodat je dikwijls een brug te ver gaat. Volgende versie beter.

Conclusie
Deze Java ontwikkelomgeving is ondanks de versie 4 niet af. Maar kan dat ooit, met een Java omgeving die in Internet-tijd evolueert? Vooral de flexibele database-ondersteuning maakt VisualCafé het proberen waard. Een groot bezwaar is wel dat je de voortgebrachte code te dikwijls moet bijschaven. En laat je zeker niet misleiden door de lengte van de feature list, want een deel ervan is louter marketingpraat.
Adviesprijs
1255,57 euro
Vorig artikelDrinken, zeven dagen lang
Volgend artikelWij slaven van de computer