Sie sind hier: Startseite | Wissen
Begriff .NET Framework
Abkürzung .NET
Eintrag zuletzt aktualisiert am 06.10.2016

 Zur Stichwortliste unseres Lexikons

Was ist .NET Framework?

Das .NET Framework (abgekürzt .NET) ist eine in direkter Konkurrenz zu Java SE und Java EE stehende betriebssystem- und hardwareneutrale Softwareentwicklungsplattform. .NET wurde ursprünglich von der Firma Microsoft entwickelt und ist in Teilen bei der ECMA und ISO standardisiert.

Versionsgeschichte


Erste öffentliche Alpha-Version: Juli 2000


Implementierungen
Microsoft selbst liefert heute auch noch die wichtigsten Implementierungen von .NET:
  • Das vollständige Microsoft .NET Framework für die Windows-Betriebssysteme
  • Das Microsoft .NET Compact Framework (.NET CF) für Window Embedded und Windows Mobile 6.x (außer Windows Phone 7)
  • Microsoft Silverlight für Windows-Betriebssysteme (einschließlich Windows Phone 7) und Mac OS
  • XNA für die Computerspielekonsole in der Spielekonsole Xbox und Windows
  • Micro Framework (.NET MF) für Kleinstgeräte (seit November 2009 ein Open Source-Projekt)

Durch die Open Source-Initiative „Mono“, die inzwischen zur Firma Novell gehört, steht auch eine Imp-lementierung von .NET aber auch für Linux und andere Unix-basierte Systeme und Mac OS zu Verfügung.
Eine Differenzierung in allgemeine Anwendungen (Java SE) und Unternehmensanwendungen (Java EE) gibt es nicht. .NET differenziert vielmehr zwischen Funktionen für den Client („.NET Framework Client Profile“) und zusätzlichen Funktionen für Server („.NET Framework Extended“).

Bedeutung
Das im Jahr 2002 eingeführte .NET Framework hat – im Gegensatz zu anderen, von Microsoft zum Hype erklärten Neuerungen – die Softwareentwicklung auf der Windows Plattform grundsätzlich verändert. Vergleichbare Veränderungen waren der Schritt von DOS zu Windows und von 16-Bit-Windows zu 32-Bit-Windows.

Technische Merkmale des .NET Framework
Wesentliche Merkmale des .NET Framework sind:
 Plattformunabhängigkeit durch Zwischensprache / Intermediation mit Just-in-Time-Compiler wie bei Java (Write Once Run Anywhere-Prinzip)
 Sprachunabhängigkeit (mehr als 70erschiedene Programmiersprachen) mit sprachübergreifenden Aufrufen und sprachübergreifender Vererbung
 Durchgängige Objektorientierung: auch elementare Datentypen wie Zahlen und Zeichenketten sind Objekte
 Unterstützung für wiederverwendbare Softwarekomponenten
 Verschiedene Anwendungstypen (Fat-Clients, Standard-Webanwendungen, Rich Internet Applications, Systemdienste, Webdienste, Pocket-Programmcode-Anwendungen, SmartPhone-Anwendungen)
 Einheitliche Laufzeitumgebung mit Diensten wie Codeüberprüfung (Sicherheit, Array-Grenzen etc.), Threading, Speicherbereinigung und Ausnahmebehandlung
 Umfangreiche Klassenbibliothek mit mehr als 12.000 Klassen, einheitlich für alle .NET-fähigen Pro-grammiersprachen
XML-basierte Konfiguration von Anwendungen (Abkehr von der Windows-Registrierungsdatenbank)
 Parallelbetrieb verschiedener .NET Framework-Versionen (eine .NET-Anwendung startet automatisch mit der Framework-Version, für die sie entwickelt wurde)
 Bereitstellen von Metadaten über den Programmcode (automatische Metadatengenerierung und manu-elle Metadaten)
 Lose Schnittstellenverträge, die ermöglichen, dass man Klassenmitglieder ergänzt, ohne den Schnitt-stellenvertrag zu brechen (Der Vertrag wird erst gebrochen, wenn man Mitglieder oder Parameter ent-fernt bzw. Datentypen ändert.)
Xcopy-Deployment (Verteilung von Anwendungen durch einfaches Kopieren der Programmdateien sowie der zugehörigen Bibliotheken und Ressourcendateien)
 Interoperabilität zu älteren Plattformen (COM, Windows 32 API) sowie über XML-Webservices zu anderen Plattformen
 Schutz vor »gefährlichem« Programmcode durch Sandbox-Konzepte wie in Java.

Links:
http://msdn.microsoft.com/net/
http://www.dotnetframework.de/

Varianten:
Eine Differenzierung in allgemeine Anwendungen (Java SE) und Unternehmensanwendungen (Java EE) gibt es nicht. .NET differenziert vielmehr zwischen Funktionen für den Client („.NET Framework Client Profile“) und zusätzlichen Funktionen für Server („.NET Framework Extended“).


Kernbausteine des .NET Framework
Common Language Runtime (CLR)
Laufzeitumgebung mit Gar-bage Collector, Exception Handling, Multi-Threading, Code-Sicherheit, u.a.

Microsoft Intermediate Language (MSIL)
Zwischensprache

Common Type System (CTS)
Sprachunabhängiges Typkonzept

Common Language Specification (CLS)
Regelwerk für Sprachinteroperabilität

C#, Managed C++, Visual Basic .NET, Jscript .NET, C#, u.a.
.NET-fähige Programmierhochsprachen

.NET Framework Class Library (FCL)
Klassenbibliothek
Zu der Klassenbibliothek gehören auch die Benutzerschnittstellentechnologien wie ASP.NET, Windows Forms und WPF, ebenso wie Datenzugriff (ADO.NET, ADO.NET Entity Framework, System.Xml) und Verteilungstechnologie wie .NET Remoting und WCF.

Geschichte
.NET kann als die dritte Evolutionsstufe der Programmierung mit Microsoft Windows bezeichnet werden. In Zeit vor 1993 wurden Windows-Anwendungen hauptsächlich mit C und C++ geschrieben. Das Wieder-verwendungsmodell basierte auf einfachen C-DLL. Verteilung basierte auf Remote Procedure Calls (RPC). Für den Zugang zu Betriebssystemresourcen stand das Windows-16-API, später das Windows-32-API, jeweils als eine Sammlung von DLLs zur Verfügung. Skriptprogrammierung basierte auf der DOS-Shell-Batchsprache.

1993 führte Microsoft das Component Object Model (COM) und später auch die Verteilung auf Basis des Distributed Component Object Model (DCOM). COM/DCOM stellte ein sprachunabhängiges Software-komponnetenmodell dar. Es gab mit Visual Basic, Delphi, VBScript, JavaSctipt, Perl u.a. Sprachen, die COM/DCOM nutzten. Skriptprogrammierung wurde im Rahmen von "Active Scripting" stark verallge-meinert und diente nun nicht mehr nur dem Scripting des Betriebssystems, sondern auch innerhalb von Anwendungen wie dem Internet Explorer-Webbrowser und dem Microsoft Exchange-Mailserver. Viele Teile des Windows-32-API wurden in COM-Komponenten gekapselt.

Trotz des gemeinsamen Komponentenmodells musste jede Programmiersprache unter Windows weiterhin eine eigene Laufzeitumgebung implementieren, insbesondere auch für den Zugriff auf lokale und entfernte Komponenten. Dies führte zu großen Unterschiedenen in der Programmierung. Auch waren COM-Komponenten nicht plattformneutral. Sie lagen immer in Maschinencode vor, der für jede Prozessorarchi-tektur und jedes Betriebssystem separat zu kompilieren war. Zudem bot COM kein Sicherheitsmodell zum Schutz vor bösem Code. Eine weitere Schwäche vom COM war, dass Softwarekomponenten in der Win-dows-Registrierungsdatenbank verzeichnet werden mussten und es dort schnell zur sogenannten "DLL-Hölle" kam, wenn zwei Anwendungen jeweils eine verschiedene Version einer einzigen COM-Komponente benötigten.

Das 2002 eingeführte .NET Framework eliminierte diese Nachteile. Es gibt zahlreiche Programmierspra-chen für .NET, die alle auf die .NET-Laufzeitumgebung zurückgreifen. Das Kompilat verwendet genau wie Java eine Zwischensprache, sodass .NET plattformneutral ist. .NET bietet ein Sicherheitsmodell und erfordert nicht mehr, dass man Softwarekomponenten in der Windows-Registrierungsdatenbank zentral verzeichnet. Jede Anwendung kann vielmehr eine eigene, dezentrale Version einer Komponente besitzen, sodass die "DLL-Hölle" vermieden wird. Die Verteilung hauptsächlich basiert auf dem plattformunabhän-gigen Webservices.

Auch fast 10 Jahre nach der Einführung von .NET basieren heute aber noch sehr viele Anwendungen auf den beiden Vorgängermodell. Auch das Windows-Betriebssystem selbst basiert noch komplett auf C, C++ sowie COM/DCOM. Nicht alle Funktionen des Windows-Betriebssystem stehen als .NET-Softwarekomponente zur Verfügung und Microsoft führt auch in neuen Windows-Betriebssystemen immer neue C-basierte Programmierschnittstellen ein ohne dafür einen Wrapper als .NET-Komponente bereitzu-stellen.

Daher ist die Abwärtskompatibilität sehr wichtig. .NET kann auf sowohl COM/DCOM-Komponenten als auch C-DLLs zugreifen. Auch umgekehrt kann man von den alten Welten auf .NET-Komponenten zugrei-fen.

Aktuelle Online-Artikel

 Geschichte und Zukunft des .NET Frameworks: Erscheinungsdaten und Versionsnummern
 .NET Framework - eine kompakte Einführung

Weitere Ressoucen auf dieser Website

 Referenzliste .NET-Entwicklerwerkzeuge (Tools)
 Webbasiertes Diskussionsforum zum .NET Framework
 .NET-Klassenreferenz
 DOTNET Scripting Host
 Marktstudien Softwarekomponenten und Komponentenmodelle
 Neuigkeiten zum .NET Framework und Visual Studio .NET
 WCF Barometer - Leistungsmessungen der Windows Communication Foundation (WCF)
 Liste der .NET-fähigen Programmiersprachen (Produktreferenz)
 Referenzliste Softwarekomponenten für das .NET Framework (Produktreferenz)
 .NET-Fachbegriffslexikon
 Codebeispiele .NET (C#, Visual Basic und PowerShell)
 FAQ zu dem Buch ".NET 3.0 Crashkurs"
 Newsletter von Dr. Holger Schwichtenberg
 Der DOTNET-DOKTOR / Das .NET-Weblog auf www.heise.de

Beratung & Support:

 Beratung/Consulting: Migration zu .NET / Umstieg auf .NET
 Beratung/Consulting: Best Practices bei der Softwareentwicklung mit .NET/ASP.NET/WPF/WCF/Entity Framework u.a.
 Beratung/Consulting: ADO.NET Entity Framework-Leistung / Entity Framework-Performance: Optimierung von Entity Framework-Datenzugriffen
 Beratung/Consulting: ASP.NET-Leistung / ASP.NET-Performance
 Beratung/Consulting: .NET/C# und Java/JEE im Vergleich: Welche Softwareentwicklungsplattform ist besser?
 Beratung/Consulting: Webserverframeworks im Vergleich: ASP.NET versus node.js versus Ruby-on-Rails
 Beratung/Consulting: .NET-Webservices mit Windows Communication Foundation (WCF) oder ASP.NET Web API
 Beratung/Consulting: .NET versus .NET Core
 Beratung/Consulting: Werkzeugauswahl und -einführung für die .NET-Anwendungsentwicklung (Microsoft-Werkzeuge und/oder Drittanbieterwerkzeuge)
 Beratung/Consulting: .NET-Performanceprobleme / Leistungsprobleme
 Beratung/Consulting: Pattern einsetzen
 Beratung/Consulting: Moderne Webanwendungen mit ASP.NET MVC und JavaScript
 Beratung/Consulting: Begutachtung bestehender Softwarearchitekturen (Architekturreviews/Technikreviews)
 Beratung/Consulting: Microsoft .NET 4.5 Update - Crashkurs
 Beratung/Consulting: Microsoft .NET 4.5 Update - Crashkurs (EBOOK - PDF)
 Beratung/Consulting: Laufendes Coaching von Entwicklungsteams
 Beratung/Consulting: REST versus SOAP (SOAP und REST im Vergleich)
 Beratung/Consulting: Programmcodereview
 Beratung/Consulting: Machbarkeitsstudien
 Beratung/Consulting: Entwicklung von Teilsystemen
 Anfrage für Beratung/Consulting zu Thema .NET Framework;.NET  Gesamter Beratungsthemenkatalog  Support zum Thema .NET Framework;.NET

Schulungen zu diesem Thema:

 Anfrage für eine individuelle Schulung zum Thema .NET Framework;.NET  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema:

 Moderne Webanwendungen mit ASP.NET MVC und JavaScript
 Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
 Moderne Webanwendungen mit ASP.NET MVC
 .NET 4.0 Crashkurs (EBOOK - PDF)
 Microsoft ASP.NET 2.0 mit C# 2005 - Das Entwicklerbuch
 Windows PowerShell 4.0 - Das Praxishandbuch
 .NET Praxis - Tipps und Tricks für .NET und Visual Studio
 Einblicke in C# 6.0 (shortcuts 181) Kindle Edition
 Microsoft ASP.NET 4.5 mit C# 2012 - Entwicklerbuch
 Datenbankprogrammierung mit .NET 4.0. Mit Visual Studio 2010 und SQL Server 2008 R2
 Moderne Datenzugriffslösungen mit Entity Framework 6 (gedruckte Ausgabe)
 Effizienter Datenzugriff mit Entity Framework Core: Datenbankprogrammierung mit C# für .NET Framework, .NET Core und Xamarin
 Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Das Entwicklerbuch
 Microsoft .NET 3.0 Crashkurs
 XML mit .NET
 Windows XP Professional
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.1 und 2.0-Preview2 (Buchversion 1.4)
 Verteilte Systeme und Services mit .NET 4.5
 .NET 3.5 Crashkurs
 JavaScript
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.1.2 und 2.0-Preview2: Datenbankprogrammierung mit .NET/.NET Core und C# (PDF)
 Windows XP - Die Expertentipps
 ASP.NET 4.0
 Windows PowerShell 5 und PowerShell Core 6 - Das Praxishandbuch
 Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 .NET Essentials - Schuber
 Datenbankprogrammierung mit .NET 4.5. Mit Visual Studio 2012 und SQL Server 2012
 Microsoft ASP.NET. Das Entwicklerbuch.
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0: Datenbankprogrammierung mit .NET/.NET Core und C# (EBOOK - PDF)
 Windows Server 2003 - Die Expertentipps
 Windows PowerShell 3.0
 Moderne Datenzugriffslösungen mit Entity Framework Core 2.0/2.1 (Buchversion 5.x, Kindle | PDF)
 C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin (PDF)
 Windows PowerShell und PowerShell Core - Der schnelle Einstieg: Skriptbasierte Systemadministration für Windows, Linux und macOS
 .NET 3.5
 Programmierung mit der .NET-Klassenbibliothek
 Moderne Datenzugriffslösungen mit Entity Framework Core 2.0 (Buchversion 4.x): Datenbankprogrammierung mit .NET/.NET Core und C# (EBOOK - PDF)
 Windows PowerShell - Konzepte, Praxiseinsatz, Erweiterungen
 Microsoft Visual C# 2010
 Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
 Microsoft ASP.NET 2.0 mit Visual Basic 2005 - Das Entwicklerbuch
 C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
 .NET 4.0 Update
 Microsoft .NET 2.0 Crashkurs Beta Edition
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.1.1 und 2.0-Preview2: Datenbankprogrammierung mit .NET/.NET Core und C# (gedruckte Ausgabe und Kindle)
 Microsoft .NET 4.5 Update - Crashkurs (EBOOK - PDF)
 Microsoft ASP.NET 4.0 mit C# 2010
 ADO.NET
 Moderne Datenzugriffslösungen mit Entity Framework 6 (EBOOK - PDF, MOBI, EPUB)
 Verteilte Systeme und Services mit .NET 4.0
 Microsoft .NET 4.5 Update - Crashkurs
 Microsoft ASP.NET 3.5 mit Visual C# 2008 - Das Entwicklerbuch
 SQL Server 2008 R2: Das Programmierhandbuch. Inkl. ADO.NET 3.5, LINQ to Entities und LINQ to SQL
 Essential PowerShell
 ASP.NET 4.0 mit Visual C# 2010
 Moderne Webanwendungen für .NET-Entwickler: Server-Anwendungen, Web APIs, SPAs & HTML-Cross-Platform-Anwendungen mit ASP.NET, ASP.NET Core, JavaScript/TypeScript und Angular
 Windows 8 Apps entwickeln mit C# und XAML - Crashkurs
 Web Forms - Webprogrammierung mit ASP.NET
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.1: Datenbankprogrammierung mit .NET/.NET Core und C# (gedruckte Ausgabe)
 Microsoft .NET 2.0 Crashkurs - Final Edition
 Programmierung mit der .NET-Klassenbibliothek
 WPF 4.5 und XAML: Grafische Benutzeroberflächen für Windows inkl. Entwicklung von Windows Store Apps
 Windows PowerShell 5 – kurz & gut
 Modern Data Access with Entity Framework Core: Database Programming Using .NET, .NET Core, UWP, and Xamarin with C#
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0: Datenbankprogrammierung mit .NET/.NET Core und C# (gedruckte Ausgabe oder Kindle)
 Windows PowerShell 5.0 - Das Praxishandbuch
 .NET Core 1.0 und 1.1 - Entwicklung mit den Core-Produkten
 Moderne Datenzugriffslösungen mit Entity Framework Core 1.1 (PDF)
 Programmieren mit dem ADO.NET Entity Framework
 Microsoft SQL Server 2008 R2 - Das Entwicklerbuch
 .NET 4.0 Crashkurs
 Moderne Datenzugriffslösungen mit Entity Framework Core 2.0 (Buchversion 4.x): Datenbankprogrammierung mit .NET/.NET Core und C# (gedruckte Ausgabe oder Kindle)
 Alle unsere aktuellen Fachbücher