.NET Compact Framework inklusive

Visual Studio: Service-Release mit Extras

02.05.2003
Knapp ein Jahr nach der Auslieferung von "Visual Studio .NET" präsentiert Microsoft den Nachfolger mit dem Namenszusatz "2003". Auch wenn das Update zunächst den Eindruck eines Service-Packs vermittelt, besitzt es doch einige bedeutende Neuerungen, darunter das ".NET Compact Framework".Von Peter Monadjemi*

Visual Studio .NET 2003 fasst in erster Linie jene Erweiterungen in einem Paket zusammen, die bislang nur als Betaversion oder einzeln zum Download bereitstanden. Es wurde optisch ein wenig aufgepäppelt und wirkt nicht nur moderner, sondern bietet auch eine etwas übersichtlichere Projektauswahl. Die Namensgebung darf aber nicht darüber hinwegtäuschen, dass es sich um eine typische Version 1.1 handelt.

Zum integrierten Zubehör, das bislang nur einzeln über Developer-Downloads verfügbar war, gehört vor allem das .NET Compact Framework, das die Entwicklung von .NET-Anwendungen für Microsofts Pocket PC Phone Edition unterstützt. Der Support für die Smart-Phone-Plattform der Redmonder wird erst mit einer eigenen Version voraussichtlich im Herbst dieses Jahres kommen. Damit rückt die Entwicklung von .NET-Anwendungen für PDAs und andere Smart Devices auch für alle Visual-Basic-.NET- und C#-Programmierer in direkte Reichweite, sofern ihnen nicht die "Embedded Visual Tools" (eVB und eVSC++) beziehungsweise deren reduzierte Versionen der Programmiersprachen Visual Basic und C++ zur Verfügung standen.

Visual Studio .NET 2003 bietet eine etwas größere Sprachenvielfalt, denn neben C#, Visual Basic .NET und Visual C++ ist auch J#, die Java-Version von Microsoft, im Paket enthalten. Auf den ersten Blick mag es zwar so aussehen, als würde sich Java nicht mit der Microsoft-Welt vertragen, doch dieses Problem wurde geschickt gelöst: J# ist lediglich eine weitere .NET-Sprache, die keinen Java-Byte-Code, sondern Code der Microsoft Intermediate Language (MSIL) produziert. Das Vorhandensein von J# darf daher nicht aus dem Blick geraten lassen, dass die Java-Plattform nicht unterstützt wird. Dies gilt für Applets, Java Native Interface (JNI), Raw Native Interface (RNI) oder Remote Method Invocation (RMI). Dafür bietet Visual Studio .NET einen "Forms Designer", der J#-Code produziert, sowie eine relativ vollständige Implementierung jener Erweiterungen, die Java-Programmierer bereits von Visual J++ 6.0 gewohnt waren. Wer der Meinung ist, dass Java nach wie vor die wichtigste Programmiersprache ist, kann es als gleichwertige Alternative zu C# oder Visual Basic .NET benutzen.

Visual C++ unterstützt Forms Designer

Viel Neues gibt es für C++-Programmierer, die in Version 1.0 von Visual Studio ein wenig vernachlässigt wurden. Das neue Visual C++ mit verwalteten Erweiterungen ist nicht nur sehr viel stärker an den offiziellen ANSI-Standard für C++ angelehnt, sondern unterstützt den Forms Designer, so dass C++-Programmierer genauso schnell zu einer Windows-Anwendung kommen wie ihre C#- und VB-.NET-Kollegen.

Ebenfalls im Paket enthalten sind .NET-Daten-Provider für ODBC- und Oracle-Datenbanken, wobei es zu Letzteren auch eine Alternative von Oracle selbst gibt. Zu den kleinen Highlights gehört der Umstand, dass Visual Studio .NET 2003 mit "Dotfuscator" von Preemptive Systems eine Möglichkeit bietet, den erzeugten IL-Code so zu verschleiern, dass er über einen Decompiler nicht mehr in Quellcode zurückverwandelt werden kann.

Dem Trend zu mehr Mobilität bei Anwendungen trägt Visual Studio .NET 2003 durch die Einbeziehung des "Mobile Internet Toolkit" Rechnung, das bislang nur als separater Download zur Verfügung stand. Dahinter verbirgt sich kein Entwicklungssystem, sondern lediglich ein Satz von ASP.NET-Web-Steuerelementen, die für die physikalischen Eigenschaften mobiler Geräte optimiert sind. Die Anwendungen selbst laufen weiterhin auf dem Web-Server - das mobile Gerät spielt lediglich die Rolle eines mehr oder weniger intelligenten Browsers. Der Namespace "System.Mobile.Web.UI.MobileControls" unterstützt über 200 unterschiedliche Widgets, wobei die Auswahl laufend erweitert wird. Bei den Steuerelementen handelt es sich nicht nur um eine Umsetzung der bereits vorhandenen, sondern auch um neue, die speziell für mobile Geräte geschaffen wurden: So etwa das Phonecall-Steuerelement, das für die Eingabe von Telefonnummern gedacht ist.

Mehr Komfort für Entwickler

Insbesondere Visual-Basic-Programmierer bedauern, dass es nicht möglich ist, während einer Programmunterbrechung Änderungen am Quellcode vorzunehmen. Dies wird auch bei Visual Studio .NET 2003 noch nicht der Fall sein, doch es gibt zahlreiche kleinere Verbesserungen. Dazu gehört der Umstand, dass beim Implementieren einer Schnittstelle automatisch die Funktionsrahmen der zu implementierenden Mitglieder oder zu einem Catch- der passende End-Try-Befehl eingefügt werden. Das Direktfenster bietet nun Auswahllisten an, und alle auf einem Computer vorhandenen Web-Services lassen sich vor dem Einfügen eines Verweises auflisten. C#-Programmierer profitieren von einem komfortableren Debugger und der Möglichkeit, bei einem Build-Vorgang spezielle Aktionen festlegen zu können, die vorher oder nachher ausgeführt werden. Kleine Verbesserungen gibt es auch in der Hilfe, die mehr Beispielcode enthält und bei der sich festlegen lässt, welche Hilfethemen verfügbar sein sollen.

.NET Framework SDK 1.1

Visual Studio .NET 2003 setzt auf dem .NET Framework 1.1 auf, zu dem es das passende Framework SDK als separaten und nach wie vor kostenlosen Download gibt. Das .NET Compact Framework SDK ist darin allerdings nicht enthalten. In Version 1.1 wurden zahlreiche Fehler korrigiert, Klassen überarbeitet und geringfügig erweitert - ein kleines Highlight ist die Unterstützung für das IPv6-Protokoll. Visual-Basic-Programmierer, die befürchtet haben, dass ihre Sprache auf ein langes Abstellgleis geschoben wird, können nun feststellen, dass Version 1.1 zwei kleine Spracherweiterungen mit sich bringt: Variablen können im Kopf einer For-Schleife definiert werden, und mit ">>" und "<<" gibt es zwei Bitschiebeoperatoren.

Eine wichtige Änderung gibt es bei den Sicherheitseinstellungen. Assemblies, die von der Common Language Runtime 1.0 (CLR) der Internet-Zone zugeordnet wurden, erhalten von der CLR 1.1 die etwas weniger restriktiven Einstellungen, die mit dem Internet-Permission-Set verbunden sind. In Version 1.0 (inklusive Service Pack 1 und 2) erhielten diese Assemblies die Einstellungen, die mit dem Nothing-Permission-Set verbunden sind, und konnten nicht ablaufen.

Zu 99,5 Prozent kompatibel

In Bezug auf die Kompatibilität zur Version 1.0 des .NET Framework gibt es eine sehr gute Nachricht. Dank einer Technik, die als "Side by Side Execution" bezeichnet wird, ist es problemlos möglich, Anwendungen auf einem System parallel zu betreiben, die entweder Version 1.0 oder 1.1 voraussetzen. Auch nach der Installation von Visual Studio .NET 2003 kann die Vorgängerversion gestartet werden. Auf der anderen Seite gibt es etwa ein Dutzend "breaking changes", also kleinere Inkompatibilitäten, die durch Änderungen an den Klassenbibliotheken entstehen können. Auch das Dateiformat der Projektdateien hat sich geringfügig geändert, so dass Projektdateien aus Visual Studio .NET 1.0 konvertiert, anschließend aber nicht mehr mit dieser Version geöffnet werden können.

Visual Studio .NET 2003 gehört zu jenen Updates, die keiner Abwägung von Vor- und Nachteilen bedürfen, da endlich alle wichtigen Bestandteile des .NET Framework in einem Paket enthalten sind. Vor allem C#-Programmierer erhalten mit dem verbesserten Debugger ein deutlich komfortableres Werkzeug. Dennoch ist Version 1.1 nur ein Zwischen-Update. Einige wichtige Features werden erst mit der nächsten Version fertig gestellt, an der zurzeit unter dem Codenamen "Whidbey" beziehungsweise Visual Studio .NET for Yukon gearbeitet wird und die für 2004 geplant ist. Ein Schwerpunkt ist die nahtlose Integration der nächsten Version des Microsoft SQL Server (Codename "Yukon").

Mit diesem Release möchte Microsoft jenen Komfort zurückbringen, der einst das Erfolgsrezept von Visual Basic war. Unter anderem wird es möglich sein, dass mit dem Ablegen einer Tabelle auf einem Formular der komplette Code eingefügt wird, durch den der Tabelleninhalt etwa in einem Data-Grid angezeigt wird. Whidbey wird für C#-Programmierer die Version 2.0 des Sprachenstandards bieten, wobei allerdings nicht klar ist, ob die geplanten Erweiterungen wie Generics (auf Templates basierende parametriesierbare Klassen) oder namenlose Methodenaufrufe auch in Visual Basic .NET implementiert werden. Möglich ist auch, dass eine neue, auf XML basierende Sprache (Codename "X#") im Paket enthalten sein wird. (ue)

*Peter Monadjemi ist freier Fachautor in Starnberg.

Neuerungen

- .NET Compact Framework für Smart Devices;

- Internet Mobility Toolkit;

- J#;

- Visual C++ unterstützt das Windows Forms-Modell;

- .NET-Daten-Provider für Oracle und ODBC;

- Obfuscator von Preemptive Systems;

- verbessertes Intellisense bei C#;

- zwei Spracherweiterungen für Visual Basic .NET;

- .NET Framework SDK 1.1 mit Side-by-Side-Ausführung.

Microsoft gibt Quellcode von Windows CE frei

MÜNCHEN (CW) - Microsoft hat das im Juli 2000 aufgelegte Shared-Source-Programm für Windows CE ausgeweitet. Konnten Lizenznehmer, etwa Embedded-Systeme- oder Chiphersteller, bisher nur den Code ansehen, erhalten sie nun den kompletten Quellcode und können diesen für ihre Zwecke modifizieren.

Die neuen Shared-Source-Bestimmungen ("Windows CE Shared Source Premium License Program") betreffen lediglich das Betriebssystem Windows CE .NET, aber nicht die darauf aufsetzenden Systemsoftwareprodukte "Pocket PC" für PDAs und "Smartphone". Microsoft begründet die neue Strategie damit, Lizenznehmern die Anpassung des Betriebssystems zu vereinfachen, um neue Produkte rascher entwickeln zu können. Modifikationen beziehungsweise Erweiterungen des Kernels müssen sie an Microsoft übergeben. Der Konzern behält sich das Recht vor, die Änderungen in Folgeversionen von Windows CE .NET allen Kunden zur Verfügung zu stellen. Allerdings würden damit Unternehmen von Erweiterungen profitieren, die ihre Konkurrenten entwickelt haben. Diese Gefahr schätzt Hardy Poppinga, Product Manager der Embedded and Appliance Platforms Group in Europa, dem Mittleren Osten und Afrika (Emea), als gering ein, da die Hersteller üblicherweise sehr spezialisierte Produkte entwickeln würden - anders als zum Beispiel im PDA-Markt. Partner haben innerhalb des Lizenzprogramms aber auch die Möglichkeit, ihre Eigenentwicklungen, die keinen Microsoft-Code enthalten, mit dem Betriebssystem-Image von Windows CE .NET zu verbinden, ohne dabei dessen Quellcode zu verändern. In diesem Fall, so Poppinga, sind Firmen nicht verpflichtet, ihr geistiges Eigentum offen zu legen.

Zu den ersten Lizenznehmern des neuen Shared-Source-Programms von Microsoft zählen unter anderen Samsung, Mitsubishi, Intel, ARM und Toshiba. Windows CE konkurriert im Embedded-Bereich unter anderem mit dem Open-Source-Betriebssystem Linux. (fn)

Links

Download .NET Compact Framework Distributable 1.0:

http://www.microsoft.com/downloads/details.aspx?FamilyID=78974b4d-1bc6-4f29-8bd5-5ad5a37c7408&DisplayLang=en

Office 11 für Entwickler:

http://www.microsoft.com/office/preview/developer/default.asp

Infos zu möglichen Inkompatibilitäten:

http://www.gotdotnet.com/team/changeinfo/Backwards1.0to1.1/default.aspx

http://msdn.microsoft.com/msdnmag/issues/03/03/WindowsForms