Publications‎ > ‎Software reviews‎ > ‎

Borland's nieuwe hart

Borland JBuilder 2 JBuilder is de visuele programmeeromgeving voor Java in de produktfamilie van Borland ontwikkelgereedschappen. Maakte Borland C++Builder onlangs nog een kattesprong van versie 1 naar 3, JBuilder's vernieuwde en uitgebreidere ontwikkelomgeving is gestaag naar versie 2 geklauterd. Behalve in een standaard en professionele versie is JBuilder 2 ook verkrijgbaar als client/server suite, en die kreeg PCM in handen.

Borland JBuilder 2



Help!

De Help Viewer is een op HTML gebaseerd navigatie-systeem dat je prettig moet vinden zoals het er hier uitziet, want je kunt geen instellingen wijzigen. De meegeleverde documentatie bij JBuilder bestaat uit een Quick Start, de Developer's Guide, de tweedelige JavaBeans Component Library Reference en een handleiding voor de Borland Deployment Server for Java. De electronische documentatie is te benaderen via de Help Viewer, een op HTML gebaseerd navigatie-systeem. Hierin zijn onder meer de digitale versies van alle handleidingen opgenomen. Inhoudelijk valt er dan ook niets aan te merken op de documentatie. De beschikbare functionaliteit is echter nogal beperkt. Het is vooral storend dat er geen functie is voor het doorzoeken van de volledige tekst. Gelukkig maar dat alle hulppagina’s als ZIP-archieven zijn ingepakt, zodat je na het uitpakken tenminste de standaard W indows zoekfunctie kunt gebruiken, aangezien de in JBuilder geïntegreerde grep-functie alleen .java bestanden accepteert... Dat moet in de volgende versie toch echt beter!

Componenten

De werkomgeving van JBuilder bestaat uit het Main Window en de AppBrowser. Het Main Window van JBuilder is kenmerkend voor alle Borland ontwikkelomgevingen en bevindt zich boven in het scherm. Dit venster bevat de menubalk, de werkbalk en het Component Palette. In JBuilder bevat het Main Window bovendien nog een statusbalk.

Het Component Palette bestaat uit 9 tabbladen, waarvan de eerste twee pagina's zijn gereserveerd voor JBuilder's eigen JBCL componenten. Deze JavaBeans Component Library bevat meer dan 200(!) uitbreidingen op de elementen in de standaard java.awt en java.swing bibliotheken. Zo hebben alle JBCL componenten aanvullende eigenschappen zoals onder meer transparantie, ondersteuning voor tooltips en een dynamisch instelbaar Windows, Motif of Java Metal uiterlijk.

Natuurlijk zijn ook de standaard AWT of JFC Swing componenten aanwezig. Deze versies zou je kunnen gebruiken als je bijvoorbeeld een applet voor het Internet ontwikkelt, aangezien de bestandsgrootte van de toepassing dan beter binnen de perken blijft. Overigens is er nóg een alternatief dankzij de aanwezigheid van de JClass bibliotheken van de KL Group, die net als JBCL een breed scala aan uitbreidingen op de standaard Abstract Window Toolkit biedt. Je zult dan ook wel even twijfelen als je bijvoorbeeld een button aan je eerste applet wilt toevoegen: de AWT button, de Swing of misschien wel de dbSwing button, de JBCL button, of toch maar de JClass button?!

DataExpress

Met de DataExpress modules kun je database toepassingen ontwikkelen die onafhankelijk zijn van zowel de database server als het besturingssysteem waarop de toepassing wordt uitg evoerd. Dit is mogelijk dankzij Java DataBase Connectivity (JDBC), de SQL abstractielaag voor Java. Je moet dan natuurlijk wel JDBC stuurbestanden inzetten die volledig in Java ontwikkeld zijn, en niet een JDBC-ODBC of JDBC-BDE overbruggingsbestand, aangezien voor het gebruik van Open DataBase Connectivity en de Borland Database Engine platform-afhankelijke stuurbestanden nodig zijn. Het is dan ook een stuk lastiger om een database client en server in Java op te zetten dan in ontwikkelomgevingen voor andere programmeertalen vanwege de extra abstractielaag die de platform-onafhankelijkheid met zich meebrengt.

JBuilder's DataExpress architectuur is geheel afgestemd voor gebruik in het Network Computing model. Zo kan bijvoorbeeld voor iedere actie opnieuw contact gelegd worden tussen de applicatie-onderdelen, zodat verbindingen niet geopend hoeven te blijven, wat de robuustheid verhoogt. Ook de systeemeisen van de DataStore kerncomponent zijn minimaal gehouden, zodat deze in vrijwel alle Java-gebaseerde apparaten ingezet kan worden.

Wanneer je tenslotte de gewenste gegevens opgevraagd hebt en deze daarna wilt tonen aan de gebruiker, kun je de dbSwing componenten uit de JBCL inzetten. Zoals de naam al doet vermoeden, voegt deze serie onderdelen een 'database-bewustzijn' toe aan de standaard JFC Swing elementen door toevoeging van de dataSet en columnName eigenschappen.

Een nieuw gezicht

De invulling van de overige ruimte in de JBuilder werkomgeving wijkt af van de vertrouwde Borland 4GL-concept. De JBuilder ontwikkelcyclus speelt zich namelijk niet af rondom de vertrouwde Property Editor en enkele applicatie-formulieren, maar voltrekt zich volledig binnen één enkel AppBrowser venster. Als geheel gezien is de JBuilder werkruimte misschien wel het best te bevatten als een versmelting van pluspunten in de omgevingen van zowel de Borland als Microsoft ontwikkel gereedschappen.

Het AppBrowser venster bestaat uit drie secties: linksboven de Navigation Pane, aan de rechterkant de Content Pane en linksonder tenslotte de Structure Pane. De Navigation Pane toont alle bestanden waaruit het geopende project is opgebouwd. Wanneer je uit deze lijst een bestand selecteert, wordt het geopend in de Content Pane en verschijnt in de Structure Pane een overzicht van de hierarchische relaties tussen de elementen in dat bestand.

Inhoudelijk

Bovenin het scherm van JBuilder bevindt zich het Main Window en aan de linkerkant kun je de Navigation Pane en de Structure Pane zien. In de Content Pane is de UI Designer geselecteerd met aan de rechterkant de Property Editor. De Content Pane is weer opgedeeld in enkele tabbladen, afhankelijk van het bestandstype dat geopend is. Zo is er bijvoorbeeld een Viewer pagina die .GIF en .JPG afbeeldingen toont en een Source blad dat als syntax-gekleurde editor dient. De JBuilder UI Designer verschijnt wanneer je de Design modus kiest. Op deze pagina kun je het Java object visueel ontwikkelen met behulp van onder meer de Property Editor, net zoals je dat zou doen in bijvoorbeeld Delphi. Bij het selecteren van het Doc tabblad verschijnt de documentatie behorende bij deze klasse, wat natuurlijk bijzonder handig is.

Als je in de Navigation Pane een Java bronbestand opent en vervolgens in de Content Pane de Beans pagina selecteert, activeer je BeansExpress. Op het Events blad kun je dan onder meer standaard events uitkiezen die de Java component dient te ondersteunen. Bij Java bronbestanden kun je bovendien de Beans pagina selecteren, waarmee je BeansExpress start. Hiermee kun je Java componenten visueel ontwikkelen met behulp van de Property Designer, BeanInfo Designer, Event Designer en de Property Editor Designer, die te benaderen zijn via een nieuwe rij tabbladen. In tegenstelling tot de andere JBuilder editors gebruik je de BeansExpress editors om de reeds intern aanwezige functionaliteit van het Java object aan te bieden aan client-objecten.

Gestructureerd

Ook de Structure Pane heeft, afhankelijk van het bestandstype, enkele tabbladen. Afgezien van de reeds genoemde Project pagina, zijn standaard ook de Opened en Directory bladen aanwezig. Het is hopelijk geen verrassing dat de Opened pagina alle geopende bestanden in het project toont en dat je met het Directory tabblad door de logische structuur van de harde schijf kunt navigeren. Ook niet wereldschokkend, maar uitermate praktisch is bovendien de automatische toevoeging van het Search Results tabblad nadat je eenmaal het Search Source Path commando hebt gebruikt om alle voorkomens van een string te zoeken in een aantal bestanden.

Een stuk interessanter is de Class Hierarchy pagina, die het afleidingspad van de Java klasse in beeld brengt. Je dient deze helaas wel eerst zelf toe te voegen aan de beschikbare tabbladen. Nog mooier zou het zijn als deze in de achtergrond automatisch zou worden voorbereid wanneer je een Java bestand opent. Maar het resultaat mag er zijn: dit is een ideale manier om voor iedere superklasse de bijbehorende methoden, eigenschappen en benodigde import packages op te zoeken.

Tijdens een debugsessie in JBuilder zie je linksboven de Call Stack per subproces, met in het venster daaronder de huidige waarden van de locale variabelen. De Debug en Watch tabbladen verschijnen zodra je de Debugger start. De Debug pagina toont per subproces de Call Stack, zodat je het uitvoeringspad op ieder moment kan traceren. Dit komt vooral van pas als je een implementatiefout wilt opsporen. In het Watch blad kun je tenslotte de waarden van variabelen op het moment van een onderbreking opvragen en wijzigen. Overigens kun je bij integrale variabelen ook de waarde aflezen met behulp van de Tooltip expressie.

Kortom, de AppBrowser biedt als ontwikkelhart van JBuilder een zeer uitgebreide functionaliteit die op een prettig compacte wijze toegankelijk is gemaakt.

Er is nog meer

Het is tegenwoordig geen probleem meer wanneer je als programmeur een geheugen als een zeef hebt. Ook JBuilder beschikt over verslavende technologieën die het leven van de hardploeterende programmeur veraangenamen, zoals Code Insight, Code Completion, Parameter Lists en de reeds genoemde Tooltip Expression evaluatie. Deze implementatie-hulpjes vind je dus werkelijk in de gehele familie Borland onwikkelgereedschappen terug!

Ook de Object Gallery is een feest der herkenning voor gebruikers van Borland omgevingen. Deze centrale opslagplaats van code-generatoren bevat onder meer wizards voor het aanmaken van JavaBeans, Data Modules, Applets, Servlets, CORBA Servers, ... Je zou bijna vergeten dat je ook nog op zichzelf staande programma's kan creëren.

JBuilder heeft overigens nog meer te bieden, zoals bijvoorbeeld het PVCS versiecontrole-systeem voor werkgroepen en hulpgereedschappen zoals SQL Explorer, JDBC Monitor en BeanInsight. De meesten hiervan komen dus overeen met de hulpj es zoals je die ook bij andere Borland ontwikkelomgevingen aantreft.

Dus...

Het ontwikkelhart van JBuilder, de AppBrowser, is Borland's sterkste troef. Het verschaft je namelijk als ontwikkelaar veel functionaliteit, terwijl de schermvervuiling tot een minimum beperkt blijft. De Help Viewer steekt hier wel schril bij af. JBuilder bevat een uitgebreide verzameling voorgebakken componenten, waarvan vooral JBuilder's eigen JBCL bibliotheek zeer veel functionaliteit biedt. Bovendien garandeert Borland 100% Java, wat alvast weer één zorg minder is. Met JBuilder 2 ben je thuis in Javaland.

Gegevens

Produkt: JBuilder 2 Client/Server Suite
Producent: Inprise
Toepassing: Java ontwikkelomgeving
Minimale systeemeisen: Pentium/90 MHz, Windows 95 of NT4, 48MB intern geheugen, 65 MB schijfruimte en CD-ROM speler
Adviesprijzen exclusief BTW voor Full Version / Upgrade: Standard: 225 (geen upgrade), Professional: 1700 / 600, Client/Server: 6075 / 4875
Leverancier: Inprise, Telefoon Nederland en België: +31 20 503 51 00
Internet: http://www.inprise.com/jbuilder/

Afbeeldingen

Borland JBuilder 2 De Help Viewer is een op HTML gebaseerd navigatie-systeem dat je prettig moet vinden zoals het er hier uitziet, want je kunt geen instellingen wijzigen. Bovenin het scherm van JBuilder bevindt zich het Main Window en aan de linkerkant kun je d e Navigation Pane en de Structure Pane zien. In de Content Pane is de UI Designer geselecteerd met aan de rechterkant de Property Editor. Als je in de Navigation Pane een Java bronbestand opent en vervolgens in de Content Pane de Beans pagina selecteert, activeer je BeansExpress. Op het Events blad kun je dan onder meer standaard events uitkiezen die de Java component dient te ondersteunen. Tijdens een debugsessie in JBuilder zie je linksboven de Call Stack per subproces, met in het venster daaronder de huidige waarden van de locale variabelen. Het is tegenwoordig geen probleem meer wanneer je als programmeur een geheugen als een zeef hebt.