.NET-Technologien: Die Grundlagen der Plattform-Umgebung

Die Navigation in der .NET-Umgebung kann problematisch sein, vor allem dann, wenn man noch nicht damit vertraut ist. ZDNet gibt mit der .NET-Serie Einblicke in die Grundlagen der offenen Plattform für die Anwendungsentwicklung.

In den nächsten Monaten werden in dieser .NET-Reihe die wichtigsten Bereiche der .NET-Umgebung und deren Hauptakteure vorgestellt. .NET-Neulinge können damit herausfinden, welche Technologien sie sich aneignen sollten und erhalten Hilfestellung, die verschiedenen Bestandteile des .NET-Systems zu verstehen. Im ersten Teil werden die .NET-Grundlagen behandelt.

Bei Visual Studio handelt es sich um Microsofts integrierte Umgebung für die .NET-Entwicklung. Die aktuelle Version ist Visual Studio 2010, das in verschiedenen Editionen erhältlich ist: vom (kostenlosen) Visual Studio 2010 Express bis hin zum (ziemlich teuren) Visual Studio 2010 Ultimate.

C# ist die Programmiersprache, die am häufigsten bei der Erstellung von .NET-Applikationen Anwendung findet. C# ist eine typische C-Sprache, die zwar ursprünglich stark an Java angelehnt war, sich inzwischen aber in eine Reihe von Versionen diversifiziert hat. Eine Zeitlang erhielt C# neue Sprachmerkmale vor VB.NET; inzwischen sind die beiden Sprachen praktisch gleichwertig. C# verfügt derzeit über Elemente funktionaler, dynamischer und deklarativer Paradigmen.

VB.NET bietet praktisch dieselben Möglichkeiten wie C#, ist aber anders als C# eher wort- als symbolorientiert. Insbesondere nutzt VB.NET zur Trennung von Anweisungen Zeilenvorschubzeichen, was beispielsweise die Verwendung von mehrzeiligen Lambda-Ausdrücken problematisch macht.

Bei F# handelt es sich um eine objektorientierte funktionale Programmiersprache auf Grundlage von OCaml, die sich am besten für die Arbeit mit Algorithmen eignet.

IronRuby und IronPython sind quelloffene Varianten von Ruby beziehungsweise Python, die in der Common Language Runtime (CLR) von .NET ausgeführt werden. Zwar ist keine absolut nahtlose Integration gegeben, wenn IronRuby und IronPython mit anderen .NET-Anwendungen genutzt werden oder von innen auf das .NET-Framework zugegriffen wird; aber wer sich für diese Nutzung interessiert, sollte sich mit diesen Sprachen beschäftigen.

Die .NET CLR ist eine virtuelle Maschine, in der der .NET-Code ausgeführt wird. Wird eine .NET-Anwendung kompiliert und verknüpft, entsteht dadurch keine native Binärdatei, sondern eine Datei, die in der .NET CLR läuft. Jeder kann demnach eine .NET CLR für andere Plattformen schreiben und .NET-Anwendungen ausführen, ohne diese erneut kompilieren beziehungsweise verknüpfen zu müssen. Die einzige interessante Alternative zur .NET CLR ist Mono, das zwar kompatibel, jedoch in Hinblick auf die Implementierung des .NET-Frameworks nicht absolut identisch ist.

Das .NET-Framework besteht aus einer Reihe von Standardbibliotheken, die die am häufigsten genutzten Funktionalitäten für .NET-Applikationen zur Verfügung stellen. Das .NET-Framework umfasst Tausende von Objekten und Dutzende von Namensräumen. Um ein effektiver .NET-Entwickler zu werden, muss man insbesondere lernen, wo im .NET-Framework was zu finden ist. Außerdem ist es wichtig zu verstehen, was schon vorhanden ist, um sich keine unnötige Mühe zu machen.

WinForms ist das bewährte .NET-Werkzeug zur Arbeit mit Benutzerschnittstellen in Desktopanwendungen. Es wird ein Code zur prozeduralen Erzeugung von Objekten erstellt, die Elemente von Benutzerschnittstellen repräsentieren, wobei dieser Code sie auch manipuliert. Zur Aktivierung des Codes durch Benutzereingabe benötigt WinForms einen Event-Handler. WinForms wird bald durch die Windows Presentation Foundation (WPF) ersetzt.

WPF besteht aus einer Reihe von Technologien, die mit Windows Vista und .NET 3.0 eingeführt wurden und dem Anwender erlauben, Benutzerschnittstellen via XML deklarativ zu definieren, und zwar in der Sprache XAML. Mit WPF, das die Grundlage für Silverlight bildet, können Entwickler Animationen, Übergänge und sonstige Effekte viel einfacher erzeugen als mit WindForms. Während Visual Studio 2008 noch seine Probleme mit WPF hatte, eignet sich Visual Studio 2010 gut für unterschiedlichste Anwendungen – man muss nicht direkt XAML oder Expression Blend (ein XAML-Werkzeug) lernen.

Silverlight ist ein bis zu einem gewissen Grad portables System zur Ausführung von .NET-Code. Es verwendet eine abgespeckte Version des .NET-Frameworks und WPF als Schnittstelle. Derzeit läuft Silverlight mit Windows und Mac OS X mit Binärdaten von Microsoft, kann aber in Form der Moonlight-Implementierung auch mit Linux betrieben werden. Obwohl Silverlight meist in Zusammenhang mit Browser-Plugins steht, können Silverlight-Applikationen auch außerhalb der Browserumgebung ausgeführt werden und erhalten dabei einen umfassenderen Zugriff auf das lokale OS.

ASP.NET ist für Webanwendungen das, was WinForms für Desktopapplikationen ist. Bei ASP.NET wurde im Grunde versucht, das WinForms-Modell für die Webentwicklung nutzbar zu machen. ASP.NET ist zwar funktional, kann aber recht verwirrend sein und nimmt dem Entwickler viele Kontrollmöglichkeiten. Zurzeit verlagert sich ein großer Teil der Entwicklungsarbeit hin zu ASP.NET MVC.

Wie WPF ist auch ASP.NET MVC eine wesentlich deklarativere Umgebung zur Programmierung von Webapplikationen und gibt dem Entwickler mehr Kontrolle als ASP.NET. ASP.NET MVC beruht auf Ideen, die in Systemen wie Ruby on Rails implementiert wurden. Insbesondere wird bei ASP.NET MVC „die Konvention der Konfiguration vorgezogen“ und Wert auf Aufgabentrennung gelegt. Während ASP.NET MVC reift, entwickelt es sich zu einer gangbaren Option für die meisten .NET-Webentwicklungsprojekte.

In der nächsten Ausgabe dieser .NET-Serie werden Technologien zur Arbeit mit Daten vor (und nicht nur Datenbanken) vorgestellt.

Themenseiten: Anwendungsentwicklung, Microsoft, Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu .NET-Technologien: Die Grundlagen der Plattform-Umgebung

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *