zurück zum Artikel

Genügt das kostenfreie Visual Studio Express oder muss man eine "Professional"-Variante kaufen?

Dr. Holger Schwichtenberg, Alexander Neumann

Microsofts Entwicklungsumgebung für .NET, Visual Studio, gibt es auch kostenfrei in sogenannten Express-Varianten. Wenn auch Microsoft den Einsatz bei "Hobbyisten" sieht, findet man sie in manchem professionellen Entwicklungsprojekt.

Microsofts Entwicklungsumgebung für .NET, Visual Studio, gibt es auch kostenfrei in sogenannten Express-Varianten. Obwohl Microsoft den Einsatz bei "Hobbyisten" sieht, findet man sie in manchem professionellen Entwicklungsprojekt.

Mehr Infos

10 wichtige Fragen zu .NET

In dieser zehnteiligen Serie liefert .NET-Experte Holger Schwichtenberg Antworten auf die am häufigsten gestellten Fragen, die .NET-Entwickler beschäftigen.

  1. Reicht .NET 2.0, oder muss man .NET 3.5 einsetzen? [1]
  2. C# oder Visual Basic? Die richtige Programmiersprache für .NET-Entwickler [2]
  3. Genügt das kostenfreie Visual Studio Express oder muss man eine "Professional"-Variante kaufen?

Visual Studio 2008 gibt es in den Varianten Standard, Professional und fünf sogenannten Team-Versionen. Meist findet man in den Unternehmen Visual Studio Professional, das laut "heise online-Preisvergleich [3]" ab 660 Euro zu haben ist (beziehungsweise ab 490 Euro als Update für die Vorgängerversion und für 113,90 Euro in der Schulversion). Die größte Version, Visual Studio Team Suite, findet man im gleichen Preisvergleich [4] aktuell mit einer Preisspanne von 6999 bis 13.649 Euro.

Seit Visual Studio 2005 bietet Microsoft mit der Express-Produktfamilie kostenlose Varianten der Entwicklungsumgebung an: C++ Express, C# Express, Visual Basic Express, J# Express und Visual Web Developer Express. Mit Visual Studio 2008 hatte Microsoft die Produkte aktualisiert. J# Express gibt es nun nicht mehr, da Microsoft die Entwicklung der Java-Variante für .NET eingestellt hat. Ergänzend gibt es als Datenbank die kostenlosen Express- und Compact-Varianten des SQL Server 2008.

Ursprünglich sollten die Express-Varianten einen Preis von 49 Dollar haben. Der Autor des Artikels gehörte zu der Gruppe von Externen, die auf dem MVP Summit [5] 2005 die Produktmanager fast schon angefleht hatten, auf die Summe zu verzichten, um .NET zu größerer Verbreitung zu verhelfen. Bis dahin gab es von Microsoft lediglich kostenlose Angebote im Bereich Webentwicklung (mit dem Editor Web Matrix) und Datenbank (MSDE). Auch intern gab es viele Diskussionen, und am Ende stellt es für die Anwender ein kleines Wunder dar, dass das Unternehmen die Express-Varianten umsonst anbietet und die Lizenzbedingungen dennoch den kommerziellen Einsatz erlauben.

Die Express-Varianten gibt es als Download [6] sowie als Beilage auf Buch-CD und Heft-CDs in Computerzeitschriften. Die Download-Größe liegt zwischen 56 MByte (C# Express) und 122 MByte (Web Developer Express). Als Betriebssystem muss man XP, Vista, Windows 2003/2008 oder Windows 7 installiert haben. 1 GByte RAM ist empfehlenswert. Die Express-Varianten laufen auf 64-Bit-Systemen, aber im WOW, denn eine eigenständige 64-Bit-Version gibt es derzeit für keine Visual-Studio-Variante. 30 Tage nach der Installation ist eine Registrierung notwendig. In dem hierfür eingerichteten Formular sagen laut Microsoft [7] 80 Prozent der Personen, dass sie sich nicht als "Softwareentwickler" bezeichnen würden.

Die Express-Versionen weichen primär vom kommerziellen Visual Studio dadurch ab, dass es für unterschiedliche Sprachen und Anwendungsbereiche eigene Produkte gibt. In der kommerziellen Version findet der Entwickler Projektvorlagen für die Sprachen C#, Visual Basic und C++ sowie für Desktop- und Webanwendungen (siehe Abb. 1). In einer Projektmappe kann der Entwickler Projekte in diversen Sprachen und unterschiedlichen Anwendungsarten zusammenfassen.

ABB1.jpg

Die Vielfalt der Projektvorlagen in Visual Studio 2008 Team Suite mit Service Pack 1 (Abb. 1)

Mit C# Express, Visual Basic Express und C++ Express kann man hingegen nur Desktop-Anwendungen in einer Sprache entwickeln. In einer Projektmappe lassen sich keine Sprachen mischen. Visual Web Developer Express hingegen dient nur der Entwicklung von ASP.NET-Anwendungen. Hier kann man Visual Basic und C# verwenden (C++ gibt es grundsätzlich nicht für ASP.NET) und die Sprachen innerhalb eines Webprojekts mischen, wie es in ASP.NET üblich ist. Visual Web Developer Express kennt aber keine Projektmappen. Es lässt sich immer nur ein Projekt in einer Instanz der Entwicklungsumgebung bearbeiten.

ABB2.jpg

Die Projektvorlagen in Visual C# Express 2008 mit Service Pack 1 (Abb. 2)
ABB3.jpg

Die Projektvorlagen in Visual Web Developer Express 2008 mit Service Pack 1 (Abb. 3)

Abbildung 2 zeigt die Projektvorlagen für Visual C# Express. Die drei wichtigsten Benutzeroberflächenarten – Konsolenanwendungen, Windows Forms und Windows Presentation Foundation (WPF) – unterstützt es ebenso wie Klassenbibliotheken. Gegenüber den kommerziellen Varianten fehlen Windows-Systemdienst, Erweiterungen für Microsoft Office, Anwendungen für Pocket PCs und Smartphones, .NET-Projekte für SQL Server, Testprojekte und die Unterstützung für Enterprise-Projekte mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF). Ebenso gibt es keine Setup-Projekte zur Erstellung von MSI-Paketen und keine Add-ins, um Visual Studio zu erweitern. Das heißt nicht, dass man nicht alle Anwendungsarten mit den Express-Varianten entwickeln kann, aber dass den Express-Varianten dafür die Projektvorlagen mit dem zugehörigen Designer und Assistenten fehlen, die der Produktivität der Entwickler dienen. Es steht dem Programmierer, der eine Express-Variante nutzt, aber frei, eine Referenz auf Bibliotheken wie System.ServiceModel (WCF), System.Workflow.Runtime (WF) oder System.ServiceProcess (Windows-Systemdienste) anzulegen und sie "zu Fuß" zu verwenden.

Bei den Webprojektvorlagen in Visual Web Developer Express fehlt gegenüber dem kommerziellen Visual Studio im Wesentlichen nur "ASP.NET Web Service", eine Vorlage für die ältere Webservice-Bibliothek in .NET. Es unterstützt die neuere Bibliothek (WCF), und man kann Klassenbibliotheken mit Visual Web Developer Express seit dem Service Pack 1 entwickeln.

Das Projektformat der Express-Varianten ist kompatibel zum kommerziellen Visual Studio. Das bedeutet, dass man Express-Projekte in Visual Studio Professional und umgekehrt öffnen kann. Es lassen sich alle Express-Varianten parallel auf einem System installieren und so doch mehrere Programmiersprachen (allerdings nur in unterschiedlichen Fenstern) nutzen. Der Parallelbetrieb mit den kommerziellen Versionen ist möglich. Abzuraten ist nur von einer Mischung der Sprachversionen, da dann das Chaos aus Abbildung 4 entsteht.

ABB4.jpg

Das deutsch-englische Sprachwirwarr ist entstanden, als ein deutsches Visual C# Express auf einem System installiert wurde, auf dem es bereits eine englische Visual Studio 2008 Team Suite gab (Abb. 4).

Visual Studio 2008 zeichnet sich dadurch aus, dass man damit gleichermaßen Anwendungen für .NET Framework 2.0, 3.0 und 3.5 entwickeln kann. Schon der Projektdialog (siehe Abb. 1) bietet eine Auswahl. Alle in der Entwicklungsumgebung angebotenen Funktionen (zum Beispiel referenzierbare Bibliotheken) richten sich danach. In den Projektauswahldialogen der Express-Varianten scheint die Funktion zu fehlen; die Entwicklungsumgebung zeigt immer ".NET Framework 3.5" an. Doch nach dem Anlegen kann man in den Projekteigenschaften die Versionsanforderung herunterschrauben (siehe Abb. 5). Allerdings gibt es unsinnige Konstellationen: Als Projekt "WPF Application" zu wählen und dann ".NET Framework 2.0" einzustellen zu können, ergibt keinen Sinn, denn WPF gibt es erst ab .NET 3.0.

ABB5.jpg

Projektoptionen in Visual C# Express 2008 (Abb. 5)

Typische Desktop- und Webanwendungen kann man für .NET 2.0, 3.0 und 3.5 mit den Express-Varianten entwickeln. Es lassen sich zudem wiederverwendbare Klassenbibliotheken anlegen. Nur im Visual Web Developer kann man nicht ein Webprojekt und eine Klassenbibliotheken in einem Fenster bearbeiten. Es sind mehrere Instanzen von Visual Studio zu starten, eine für das Webprojekt und die andere für die Klassenbibliothek. Der Entwickler kann dann nicht das Projekt, sondern nur das Kompilat referenzieren und muss bei Änderungen der Klassenbibliothek in der zweiten "Visual Web Developer"-Instanz zuerst kompilieren. Beim anschließenden Kompilieren in der Instanz mit dem Webprojekt merkt Visual Web Developer, dass sich das Kompilat geändert hat, und kopiert die aktualisierte DLL automatisch in das Webprojekt.

Alle wesentlichen Visual-Studio-Funktionen sind vorhanden: Code-Editor mit Syntaxhervorhebung und IntelliSense-Eingabeunterstützung, Code Snippets und Refactoring, grafische Designer für Benutzeroberflächen (Windows Forms, WPF, HTML/CSS), das Referenzieren von Softwarekomponenten, das Generieren von Proxies für Webservices, das Erstellen von SQL-Server-Datenbanken (inklusive "SQL Server Compact"-Variante) und die Drag&Drop-Erzeugung von Datenmasken. Assistenten sowie Designer für typisierte Datasets und sogar für das objektrelationale Mapping mit LINQ-to-SQL beziehungsweise dem ADO.NET Entity Framework gibt es ebenfalls.

Neben den oben erwähnten Projektarten fehlt vor allem die Unterstützung für Berichte. Die kommerziellen Varianten von Visual Studio bieten wahlweise Berichte mit Crystal Reports oder Microsoft Reports (kompatibel zu den SQL Server Reporting Services). Das Click-Once-Deployment, das die einfache Verbreitung und Aktualisierung von Desktop-Anwendungen über Netzwerkressourcen ermöglicht, fehlt ebenfalls. Das Debugging ist nur auf dem lokalen System umsetzbar; die kommerziellen Varianten (ab Professional) können Programmcode untersuchen, der auf entfernten Systemen läuft. Aus dem Server Explorer, den man aus Visual Studio kennt, gibt es in den Express-Varianten nur den Datenbank-Explorer. Die anderen Äste, in denen man Ereignisprotokolle, Systemdienste, Leistungsindikatoren, Nachrichtenwarteschlangen und WMI-Instanzen betrachten kann, fehlen. Quellcodeverwaltungssysteme wie Visual Source Safe und Team Foundation Server (TFS) lassen sich nicht aus der Entwicklungsumgebung bedienen. Unit Testing und alles, was es nur in den Team-Varianten gibt (beispielsweise Profiling, Code-Analyse, zentrale Aufgaben- und Fehlerverwaltung), unterstützen die Express-Versionen nicht. Das Optionsmenü ist deutlich schlanker und die mitgelieferte Dokumentation viel kürzer.

Im Menü Extras (beziehungsweise Tools in der englischen Variante) fehlt zudem der "Add-in Manager". Das ist eine wesentliche Einschränkung, denn die Express-Varianten unterstützen keine Add-ins. Von den vielen nützlichen Visual-Studio-Erweiterungen kann man keine in den Express-Varianten nutzen. Grundsätzlich ließen sich zwar Erweiterungen programmieren, die auf den Express-Varianten laufen, aber in den Lizenzbedingungen verbietet Microsoft das und macht Personen, die es dennoch wagen, über seine Anwälte Druck, wie das Beispiel TestDriven .NET Express [8] (ein Unit Testing-Add-in, das es für die Express-Varianten gab) zeigte. Auch nach dem Verbot von TestDriven .NET Express kann man Unit-Tests nutzen, indem man das Open-Source-Werkzeug NUnit [9] außerhalb des "Visual Studio Express"-Fensters startet.

Die fehlenden Add-ins bedeuten übrigens nicht, dass man keine Softwarekomponenten (zum Beispiel Steuerelemente) von Drittanbietern verwenden kann. Microsoft bietet als "Entgegenkommen" für die Registrierung eines Express-Produkts [10] einige Zusatzkomponenten kostenlos zum Download.

Die wesentlichen Produktivitätswerkzeuge von Visual Studio gibt es auch in den Express-Varianten. Für Desktop- und Weboberflächen, Datenbankzugriffe und Webservices ist fast alles vorhanden. Von den fehlenden Funktionen schmerzen am meisten die Berichte und die Add-ins. Ansonsten lässt sich mit den Express-Varianten fast genauso gut entwickeln wie mit den kommerziellen. Dass Unternehmen dennoch vorherrschend eine kommerzielle Variante einsetzen, liegt – neben dem Imagefaktor– daran, dass es für die Express-Varianten Support nur über Foren gibt. Die Microsoft-Hotline anrufen kann man verständlicherweise nicht, wenn man gar nichts bezahlt hat. Nur wenn das Unternehmen einen "Premier Support [11]"-Vertrag mit Microsoft besitzt, darf man Fragen zu den Express-Produkten stellen.

Und außerdem kaufen viele Unternehmen Visual Studio 2008 Professional im Bundle mit einem Abonnement des Microsoft Developer Network (MSDN [12]), das den Entwicklerarbeitsplatz von Betriebssystem über Office bis Serverprodukten mit allem ausstattet, was Microsoft zu bieten hat. Für alle, die sich ein Abo nicht leisten können oder wollen, sind die Express-Varianten eine hervorragende Option, mit .NET zu arbeiten.

Dr. Holger Schwichtenberg
bietet mit seinem Unternehmen www.IT-Visions.de [13] Beratung und Schulungen im .NET-Umfeld. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.
(ane [14])


URL dieses Artikels:
https://www.heise.de/-227246

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Reicht-NET-2-0-oder-muss-man-NET-3-5-einsetzen-227230.html
[2] https://www.heise.de/hintergrund/C-oder-Visual-Basic-Die-richtige-Programmiersprache-fuer-NET-Entwickler-227234.html
[3] http://www.heise.de/preisvergleich/?fs=Visual+Studio+2008+professional&in=&cs_id=1206858352&ccpid=hocid-developer
[4] http://www.heise.de/preisvergleich/a309917.html?cs_id=1206858352&ccpid=hocid-developer
[5] http://www.it-visions.de/l5759.aspx
[6] http://www.microsoft.com/germany/Express/
[7] http://blogs.msdn.com/danielfe/archive/2007/05/31/visual-studio-express-and-testdriven-net.aspx
[8] http://www.windows-now.com/blogs/robert/weighing-in-on-the-visual-studio-express-eula-debacle.aspx
[9] http://www.nunit.org/index.php
[10] http://www.microsoft.com/express/registration/
[11] http://www.microsoft.com/Microsoftservices/support_premier.aspx
[12] http://msdn.microsoft.com/en-us/default.aspx
[13] http://www.it-visions.de
[14] mailto:ane@heise.de