Visual Basic .NET
Visual Basic .NET ist eine Neuentwicklung, und nicht nur eine Weiterentwicklung von Visual Basic 6. Visual Basic .NET wurde 2002 publiziert und baut auf das Microsoft .NET Framework auf.
Sie produziert einen Zwischencode für eine von Microsoft konstruierte virtuelle Maschine - Common Language Runtime genannt. Diese Maschine ist im .NET Framework enthalten.
Der Zwischencode wird erst zur Laufzeit in Maschinencode compiliert, durch diese Zwischenstufe der CLR bleibt sie mit anderen .NET-Sprachen interoperabel. Zur Ausführung wird jedoch das .NET Framework benötigt.
Visual Basic .NET unterstützt die objektorientierte Programmierung vollständig und verfügt über eine Ausnahmebehandlung, wie sie auch in den Programmiersprachen Java bzw. C++ bekannt ist.
Hallo-Welt-Programm in Visual Basic .NET
Der folgende Quelltext stellt ein einfaches Visual Basic-Programm dar, das eine Meldung auf der Standardausgabe ausgibt:
Module Module1 Sub Main() Console.WriteLine("Hello World") End Sub End Module
Erläuterungen:
Bei diesem Programm handelt es sich um eine einfache Konsolen-Anwendung, die aus einem einzigen Modul besteht. Ein Modul wird unter Visual Basic .NET wie eine Klasse behandelt, die nur statische Elemente enthalten kann.
In diesem Fall enthält das Modul nur die Prozedur Main, die standardmäßig beim Start des Programms aufgerufen wird.
Die Ausgabefunktion Console.WriteLine stammt aus der .NET-Klassenbibliothek und ermöglicht die Ausgabe auf der Standardausgabe, wobei die Ausgabe mit einem Zeilenumbruch abgeschlossen wird.
Obwohl der Befehl "Module" aus Kompatiblitätsgründen in Visual Basic .NET erhalten blieb gibt es eine konformere Schreibweise für das Hallo Welt Programm:
Class HalloWelt Shared Sub Main() Console.WriteLine("Hello World") End Sub End Class
Zwei Dinge fallen dabei auf. Der "Module" Befehl wurde durch den Class Befehl ersetzt und vor der Definition der Hauptmethode Main steht ein Shared (engl. "gemeinsam") Das Kommando "Shared" gibt dem Compiler an, dass die Methode ohne Instanzierung der Klasse verwendet werden kann. Das Schlüsselwort "Class" sagt dem Compiler dass es eine Klasse ist.
Unterschied zwischen "Class" und "Module" : In einer Klasse ("Class") sind alle Mitglieder standardmäßig Private (privat) und nicht "Shared" (Man muss diese Schlüsselwörter voranstellen)
"Module" erstellt auch eine Klasse in der alle Mitglieder standardmäßig Public (öffentlich) und Shared sind
Windows-Anwendungen
Für die Entwicklung von Windows-Anwendungen wird die Winforms-Technologie benutzt. Hierbei handelt es sich um ein ereignisorientiertes Programmiermodell, bei dem entsprechende Ereignisprozeduren aufgerufen werden, wenn das Betriebssystem eine entsprechende Benutzeraktion, wie z. B. das Betätigen einer Schaltfläche, meldet.
Im Gegensatz zu Visual Basic 6 handelt es sich bei den WinForm-Formularen nicht um Dateien, die in einem speziellen Format gespeichert werden. Stattdessen werden normale Klassen benutzt, die von einer entsprechenden Basisklasse abgeleitet werden.
Bei der Instanzierung einer solchen Klasse werden im Konstruktor die Objekte erzeugt, die innerhalb des Fensters dargestellt werden sollen. Dieses Modell wird auch in der Programmiersprache Java benutzt.
Moderne Entwicklungsumgebungen ermöglichen die visuelle Erstellung von Formularen, wobei der für den Konstruktor notwendige Code von der Entwicklungsumgebung erzeugt wird.
Web-Anwendungen
Für die Entwicklung von Web-Anwendungen wird ASP.NET benutzt. Hierbei erfolgt eine Trennung zwischen der Darstellung der Webseite und dem auszuführenden Code, der sich in einer VB.NET-Klasse befindet. Dies hat den Vorteil, dass der von ASP bekannte Spagetticode, der gerade die Wartung größerer Projekte erschwert, vermieden wird.
Für die Ausführung von ASP.NET-Anwendungen wird der IIS von Microsoft oder der Apache HTTP Server mit dem mod_mono-Modul benötigt.
ASP.NET ermöglicht auch die Entwicklung von so genannten Webservices. Die für die Publizierung von Webservices benötigten Informationen werden von der Entwicklungsumgebung auf Basis von Attributen, die der Programmierer in das Programm einfügt, generiert.
Für den Zugriff auf einen Webservice kann von der Entwicklungsumgebung auf Anforderung eine Klasse generiert werden, die den Zugriff auf die Methoden des Webservices kapseln.
Entwicklungsumgebung
Zur Entwicklung von VB.NET Programmen reicht es aus, wenn das .NET Framework auf dem Entwicklungsrechner installiert ist.
Für die professionelle Entwicklung wird dagegen der Einsatz von Visual Studio .NET empfohlen. Hierbei handelt es sich um eine IDE, die das komfortable Erstellen von Windows- und Web-Anwendungen ermöglicht.
Für Hobbyisten ist auch eine so genannte Standard-Edition der Entwicklungsumgebung von Microsoft verfügbar. Alternativ lässt sich auch die Open-Source-Software SharpDevelop unter Windows verwenden.
Für Linux gibt es ebenfalls eine IDE namens MonoDevelop, die, wie der Name schon sagt, auf der Mono-Portierung von .NET auf Linux aufbaut.
Migration von bestehenden Anwendungen
Obwohl VB.NET eine Weiterentwicklung von Visual Basic 6 darstellt, ist eine Portierung bestehender Anwendungen mit einem erheblichen Aufwand verbunden, da VB.NET nicht mehr die unter Visual Basic bekannte Laufzeitumgebung benutzt, sondern auf das .NET Framework aufbaut.
Bestehende COM-Komponenten können unter VB.NET weiterbenutzt werden. Hierzu wird von der Entwicklungsumgebung ein Proxy generiert, der als Schnittstelle zwischen der .NET-Welt und der COM-Komponente dient.
Der Aufruf einer .NET-Komponente aus einem Visual Basic 6 Programm ist auch möglich. In diesen Fall wird ein Wrapper erzeugt, der für die Visual Basic 6 Anwendung eine passende COM-Schnittstelle anbietet.
Visual Basic .NET 2005
Am 7. November wurde u. a. das .NET Framework 2.0 veröffentlich, welches eine weiterentwickelte Version von VB.NET enthält. Eine der wichtigsten Neuerungen ist die Verfügbarkeit von so genannten Generics. Generics erlauben die typsichere Implementierung von Containern.
Außerdem ist die Aufteilung einer Klasse über mehrere Dateien möglich. Dies ist insbesondere für die Entwicklung von Code-Generatoren sinnvoll, um die vom Benutzer durchgeführten Änderungen von dem generierten Code trennen zu können.
Auch das Überladen von Operatoren ist unter VB.NET 2005 möglich.
Innerhalb der Entwicklungsumgebung ist insbesondere das Feature "Edit and Continue" verfügbar. Das heißt, man kann ein Programm, das während einer Debugging-Sitzung angehalten wurde, ändern und mit der Ausführung fortfahren, ohne das der Debugger hierzu verlassen werden muss.
Hobbyisten können im ersten Jahr nach Erscheinen eine "Express-Edition" von VB.NET 2005 als Entwicklungsumgebung kostenfrei von der Website von Microsoft herunterladen.
Alternativen
RealBasic Mono-Projekt mit dem Compiler mbas und der Entwicklungsumgebung Monodevelop
Verweise
Siehe auch: Visual Basic
Weblinks
- http://msdn.microsoft.com/vbasic
- http://msdn.microsoft.com/vstudio/express/vb/ (Download von Visual Basic 2005 Express Edition)
- http://www.dotnetframework.de