.NET (gesprochen wird es „dotnet“) ist eine Software-Plattform, mit der die Entwicklung und Ausführung von Anwendungsprogrammen möglich ist. Unter Anwendungsprogramm versteht man all jene Software, die keine Systemsoftware ist (= alle Programme und Dateien, die die Abläufe während des Betriebs steuern). Apps (Abkürzung für Applikation = Anwendung) helfen dem Anwender bei der Lösung von Benutzerproblemen. Darunter fallen Programme zur Bild-, Video- oder Textbearbeitung, Programme zur Tabellenkalkulation und auch Computerspiele.
.NET wurde von der Firma Microsoft für Windows entwickelt. Ursprünglich wurde das .NET Framework in den späten 1990er Jahren unter dem Namen Next Generation Windows Services geführt und am 13. Februar 2002 zusammen mit Visual Studio als .NET Framework für Windows 98, NT 4.0, 2000 und XP veröffentlicht.
Die neueste Version ist die 4.5.1, die am 12. Oktober 2013 veröffentlicht wurde. Es ist zwar auf verschiedenen Plattformen verfügbar, im vollen Umfang jedoch nur für Windows. Eine frei verfügbare .NET-Reimplementierung ist Mono, mit der .NET-Programme auch unter Linux laufen können.
.NET setzt sich aus zwei großen Komponenten zusammen: der Common Language Runtime (CLR), einer Laufzeitumgebung, und der Klassenbibliothek (Framework Class Library (FCL)), einer Bibliothek von Klassen, Schnittstellen und Werttypen. Diese ermöglichen den Zugriff auf die Systemfunktionen.
Die Common Language Runtime ist sprachenunabhängig und kann in verschiedenen Sprachen programmiert werden. Das sind u. a. die von Microsoft für die .NET-Plattform angepassten Sprachen C#, Visual Basic .NET, F# und C++/CLI (eine ausführliche Liste gibt es auf Wikipedia). Denn bevor ein .NET-Programm von der Laufzeitumgebung ausgeführt wird, wird es zunächst mithilfe eines Just-In-Time-Compilers in eine Zwischensprache, die Common Intermediate Language (CIL) übersetzt. Also können Programmierer Anwendungen in ihrer bevorzugten Sprache schreiben und dennoch die CLR, die Klassenbibliothek und die von anderen Entwicklern in anderen Sprachen geschriebenen Komponenten im vollen Umfang nutzen. Die CLR stellt den Interpreter für die CIL dar. Sie liest den Quellcode ein, analysiert ihn und führt ihn aus. Dieses laufzeitbasierte System soll unter anderem Systemabstürze vermindern, denn es kann Applikationsfehler auffangen.
Die .NET Framework-Klassenbibliothek hält bereits getesteten und wiederverwendbaren Code bereit. Das heißt: Es werden selbständige Programmkomponenten gesammelt, Programmierer können diese wiederverwenden und müssen sie nicht jedes Mal neu erzeugen. Dies sind sogenannte Klassen (ein abstraktes Model bzw. ein Bauplan für ähnliche Objekte) und Schnittstellen (auch application programming interface kurz API genannt). Sie sind eine Basis für den Entwurf von Anwendungen, Komponenten und Steuerelementen in .NET.
Wer jetzt ganz tief in die Materie einsteigen möchte (oder eigentlich schon eher drin ist), dem empfehlen wir unseren Titel Moderne Webanwendungen mit ASP.NET MVC & JavaScript von Manfred Steyer und Holger Schwichtenberg.
Und was ist ASP.NET MVC?
ASP.NET MVC ist ein Webframework aus der ASP.NET-Familie. ASP.NET (ASP steht für Active Server Pages .NET) ist eine serverseitige Technologie, mit der dynamische Webseiten, Webanwendungen und Webservices auf Basis des Microsoft-.NET-Frameworks erstellt werden. ASP.NET MVC implementiert dabei das weit verbreitete MVC-Muster (MVC steht für Model-View-Controller, bei diesem Modell wird eine Applikation in drei Teile aufgeteilt: Model, View und Controller).
Und von der Backlist:
Reguläre Ausdrücke, 3. Auflage
Reguläre Ausdrücke – kurz & gut
C# von Kopf bis Fuß
Programming C# 5.0
Designing Evolvable Web APIs with ASP.NET