C# Builder: Ein verschärftes C#
Artikel erschienen in Swiss IT Magazine 2003/14
Bereits zu Beginn dieses Jahres hatte Borland angekündigt, man wolle den .Net-Markt mit Entwicklungswerkzeugen ins Visier nehmen. Die vorgestellten Pläne klangen vielversprechend, denn die Pascal-Veteranen geniessen mit JBuilder bereits seit Jahren einen hervorragenden Ruf in der Java-Szene, und nach den Übernahmen von Firmen wie TogetherSoft, BoldSoft und StarBase ist das Unternehmen mittlerweile in der Lage, Werkzeuge für das gesamte Lifecycle-Management aus einer Hand anzubieten.
Mit C# Builder haben die Borländer nun das erste Produkt ihrer .Net-Palette lanciert (Delphi.Net soll gegen Ende des Jahres folgen). Das Ergebnis kann sich sehen lassen: C# Builder ist ein umfassendes Entwicklungswerkzeug, das sich hinter dem Microsoft-Konkurrenten Visual Studio.Net (VS.Net) nicht zu verstecken braucht.
Borland hat seinem C#-Produkt zumindest in dieser ersten Version noch keinen eigenen Compiler verpasst. Statt dessen nutzt C# Builder den Compiler von Microsofts .Net Framework. Auch bei den Klassenbibliotheken stützt sich das Tool weitgehend auf das Original-Framework ab.
Damit stellt sich die Frage, was C# Builder denn bieten kann, was VS.Net nicht hat. Die Antwort: Borland will ihren C# Builder dazu nutzen, ihre Lifecycle- und Enterprise-Technologien für Modelling, Datenzugriff, Corba-/Java-Integration, Profiling und SourceCode-Management aus .Net nutzbar zu machen.
Beim Design der Benutzeroberfläche von C# Builder hat sich Borland an Visual Studio.Net nicht nur angelehnt, sondern dessen Look&Feel regelrecht geklont. Es gibt ein mit Registern aufgegliedertes Arbeitsfenster sowie andockbare Toolboxen für Eigenschaften, Komponenten, Projektverwaltung und Modellansicht.
Immerhin findet man aber auch einige kleine, aber feine Verbesserungen gegenüber VS.Net. So kann etwa in der Komponenten-Toolbox mit einem Filter nach bestimmten Controls gesucht werden. Zudem gibt es ein spezielles Fenster, in dem sich Code-Snippets komfortabler verwalten lassen als im Microsoft-Produkt. Bei Web-Anwendungen werden darüber hinaus Code-behind-Dateien und der ASP/HTML-Code im selben Dokument verwaltet. Man kann so jederzeit bequem zwischen Design-, HTML- und Code-behind-Ansicht wechseln. Das ist nicht nur praktisch, sondern schafft auch mehr Übersicht, da sich die Zahl der offenen ASP.Net-Dokumente um die Hälfte reduziert.
Anders als Visual Studio.Net bietet C# Builder keine integrierten Tools zum Erstellen und Modifizieren von Datenbanken. Mit dem DataExplorer lassen sich zwar die verfügbaren Datenbankelemente betrachten, Änderungen können aber nur über ein simples SQL-Fenster vorgenommen werden. Auch gibt es keine Tools für XML- und XSLT-Editing, und der Makrorekorder ist auf blosses Aufzeichnen von Tastatureingaben beschränkt. Immerhin hat Borland das HtmlTidy-Utility des W3C integriert, mit dessen Hilfe sich wohlgeformtes HTML und XHTML produzieren lassen.
C#-Projekte können direkt aus Visual Studio.Net importiert und bearbeitet werden. Wir haben für unseren Test einige bereits vorhandene Projekte übernommen und neu kompiliert. Probleme haben wir dabei keine festgestellt. Lediglich bei einer Anwendung, die für das .Net Compact Framework geschrieben wurde, musste C# Builder passen: Dieses wird in der aktuellen Version noch nicht unterstützt.
Eines der von Borland klar definierten Ziele bei C# Builder war eine breitere Unterstützung von Datenbanken. Statt nun für jede Datenbank einen eigenen .Net-Data-Provider zu schreiben, haben sich die Kalifornier dazu entschlossen, mit dem Borland Data Provider (BDP.Net) einen einheitlichen Datenbank-Treiber mit Add-in-Treibern für Oracle, InterBase, DB2 und SQL Server mitzuliefern (ab Professional Edition). Via BDP.Net lassen sich dadurch wesentlich einfacher datenbankunabhängige Anwendungen entwickeln. Zudem hat Borland BDP.Net so erweitert, dass bereits zur Design-Zeit direkt in der IDE mit Live-Daten gearbeitet werden kann.
Allerdings hat BDP.Net auch Nachteile. So bieten die direkten Managed Provider, wie sie im .Net Framework etwa für SQL Server oder Oracle (IBM DB2 im Betatest) zu finden sind, im Gegensatz zu BDP.Net eine höhere Performance und eine bessere Nutzung von herstellerspezifischen Datenbank-Features. Selbstverständlich können die .Net-Provider auch mit C# Builder genutzt werden.
Die Enterprise- und Architect-Versionen von C# Builder werden standardmässig mit Janeva ausgeliefert, der .Net-Implementation von Borlands VisiBroker-Client. Janeva erlaubt es, sowohl Corba- als auch J2EE-Komponenten direkt aus .Net-Anwendungen anzusteuern. Basis dafür liefert die Janeva-Runtime, die .Net Remoting Calls nach IIOP (Internet Inter-Orb Protocol) übersetzt. Janeva-Clients können nicht nur mit C#, sondern mit jeder .Net-Sprache erstellt werden. Dementsprechend ist Janeva auch als eigenständiges Produkt erhältlich.
Neben Janeva kommt C# Builder mit weiteren interessanten Werkzeugen und Add-ons. So verfügt die Entwicklungsumgebung über einen sogenannten Reflector, mit dem sich Assemblies (Bezeichnung für .Net-Komponenten) inspizieren lassen. Die Enterprise-Version enthält zudem mit Component One Studio eine Bibliothek mit vielen interessanten Komponenten (darunter beispielsweise Toolbars, Charts, Print Preview, Zip-Kompression) für WinForm- und ASP.Net-Anwendungen. Mit WiseOwl Demeanor wird wie in VS.Net 2003 ein Obfuscator mitgeliefert.
Schade ist allerdings, dass es die Borländer unterlassen haben, einige der coolsten Features aus ihren anderen Entwicklungsumgebungen zu übernehmen. So sucht man beispielsweise den XML-Mapper von Delphi ebenso vergeblich wie die Refactoring-Funktionen aus JBuilder.
Alles in allem hinterlässt C# Builder bereits in der ersten Version einen soliden Eindruck. Da und dort könnte das Werkzeug punkto Funktionalität zwar noch einen Zacken zulegen, die gebotenen Features reichen aber für die professionelle Anwendungsentwicklung mit .Net vollkommen aus. Bei der J2EE/Corba-Integration und in Sachen MDA (falls Borland die gemachten Versprechungen einhält) kann Microsoft derzeit nichts Vergleichbares entgegenhalten. Vorbildlich ist auch die etwas abgespeckte, dafür aber preiswerte Personal-Edition für 114 Franken. Diese ist sogar als kostenloser Internet-Download verfügbar, darf dann aber nur für nicht-kommerzielle Zwecke verwendet werden.
Borland plant, die Architect Edition mit Werkzeugen für MDA (Model Driven Architecture), einem Standard für die Modellierung von Anwendungen, auszustatten. Dabei sollen unter dem Überbegriff Enterprise Core Objects (ECO) Werkzeuge der Together-Umgebung sowie eine .Net-Umsetzung von Bold, einem MDA Add-in für Delphi, direkt in C# Builder integriert werden. Die Architect-Version kommt allerdings erst im 4. Quartal 2003 auf den Markt und stand uns für diesen Test noch nicht zur Verfügung. Mit C# Builder Architect Edition wird man UML-Modelle erstellen und daraus die Applikationsgerüste generieren können. Änderungen im Modell werden automatisch im Programmcode und im Datenbankschema aktualisiert.