| Begriff |
.NET Framework |
| Abkürzung |
.NET FX |
| Synonyme/Aliase |
|
Erläuterung des Begriffs
.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.
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“).
Versionsgeschichte
- Erste öffentliche Alpha-Version: Juli 2000
- Version 1.0: 5.1.2020
- Version 1.1: 1.4.2003
- Version 2.0: 7.11.2005
- Version 3.0: 19.11.2006
- Version 3.5: 19.11.2007
- Version 4.0: 12.4.2010
Microsoft verwendet intern und auch in öffentlichen Dokumenten Codenamen anstelle der Versionsnummer:
- Everett = .NET 1.1
- Whidbey = .NET 2.0
- Orcas = .NET 3.0
- Hawaii = .NET 4.0
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
Weitere Ressoucen auf dieser Website
Artikel in gedruckten Medien
|
|
Damit die Mail ankommt: devMX.Net Email Validation Component (Tools & Components 3/06)
(DotNetPro - Das .NET-Magazin für Entwickler, 2006)
|
Microsoft .NET 3.0 Crashkurs
(.NET 3.0 Crashkurs, 2007)
|
Unter der Lupe - Testwerkzeug NUnit
(DotNetPro - Das .NET-Magazin für Entwickler, 2004)
|
NT fest im Blick - Windows Server 2003 Launch Event
(iX - Magazin für professionelle Informationstechnik, 2003)
|
Ausgepackt: .NET Framework und Visual Studio .NET Final
(iX - Magazin für professionelle Informationstechnik, 2002)
|
Das .NET Framework
(Praxishandbuch Windows 2000, 2002)
|
Vista: Weniger .NET als erwartet (Neuerungen für Entwickler in Windows Vista)
(Computerwoche, 2006)
|
Trends bei Microsoft: .NET auf dem Vormarsch
(ObjektSpektrum - Die Zeitschrift für Web- und Objekttechnologie, 2005)
|
Ereignisprotokolle: Wachtmeister Windows protokolliert. Auch für Sie!
(DotNetPro - Das .NET-Magazin für Entwickler, 2002)
|
Mächtige Helfer - .NET-Anwendungen entwicklen mit Visual Studio .NET
(iX Special, 2003)
|
Objektfischer: Datenbankprogrammierung mit ADO.NET
(iX - Magazin für professionelle Informationstechnik, 2002)
|
Ausgewählte Namespaces im .NET Framework
(iX Special, 2003)
|
Wanderkarte für neue .NET-Pfade - .NET 1.1 und 2.0: Kompatibilität und Migration
(DotNetPro - Das .NET-Magazin für Entwickler, 2006)
|
Webreporting des Active Directory mit ASP.NET
(ASP.NET Professional, 2003)
|
Internet-Anwendungen mit dem .NET Framework (Forts.)
(Praxishandbuch Windows 2000, 2003)
|
Fernkontrolle - Remote Task Manager (Teil 1)
(Admins Favorite, 2004)
|
Objektfischer - Datenbankprogrammierung mit ADO.NET
(iX Special, 2003)
|
Lohnt sich der Umstieg auf .NET 2.0?
(devdorado, 2006)
|
Spontanes Programmieren: Skripte unter .Net: Dotnet Scripting Host
(iX - Magazin für professionelle Informationstechnik, 2003)
|
Bunte Diagramme - Profiling im .Net Framework
(iX - Magazin für professionelle Informationstechnik, 2004)
|
Magisches Werk - Web Services mit dem .NET Framework
(iX Special, 2003)
|
Spontanes Programmieren: Skripte unter .Net: Dotnet Scripting Host
(iX Special, 2003)
|
Brückenschlag zwischen den Systemwelten: Third-Party-Werkzeuge für robuste Kopplung benötigt – Ansätze unterschieden sich zum Teil deutlich – Gates-Company stellt Gratisleitfaden ins Netz
(Computer Zeitung, 2004)
|
Einblick: Microsofts PDC 2003
(iX - Magazin für professionelle Informationstechnik, 2003)
|
Baut auf, baut auf - Build-Werkzeug NAnt
(DotNetPro - Das .NET-Magazin für Entwickler, 2004)
|
Frühjahrsputz: Windows Server 2003
(iX - Magazin für professionelle Informationstechnik, 2003)
|
Internet-Anwendungen mit dem .NET Framework
(Praxishandbuch Windows 2000, 2002)
|
SmartPhones: Windows auf dem Handy
(iX - Magazin für professionelle Informationstechnik, 2002)
|
Weniger tippen: Ausblick auf .Net 2.0 und Visual Studio 8.0
(iX - Magazin für professionelle Informationstechnik, 2003)
|
Nette Vielfalt: Sprachen und Entwicklungstools für das .NET Framework
(iX - Magazin für professionelle Informationstechnik, 2002)
|
.NET Framework 1.1 und Visual Studio .NET 2003
(DotNetPro - Das .NET-Magazin für Entwickler, 2002)
|
Nette Vielfalt - Sprachen und Entwicklungstools für das .NET Framework
(iX Special, 2003)
|
Die Zukunft von .Net
(iX - Magazin für professionelle Informationstechnik, 2004)
|
Runderneuerung: Microsofts neue Programmierumgebung .NET Beta2
(iX - Magazin für professionelle Informationstechnik, 2001)
|
.NET Framework Sicherheit
(Praxishandbuch Windows Security Administration, 2002)
|
Magisches Werk: Webservices mit dem .NET Framework
(iX - Magazin für professionelle Informationstechnik, 2003)
|
On the Road to No-Code-Ware - .NET Framework 2.0 und VS.NET 8.0
(ObjektSpektrum - Die Zeitschrift für Web- und Objekttechnologie, 2004)
|
Bewertung des .NET Frameworks
(Praxishandbuch Windows 2000, 2003)
|
Microsoft .NET 2.0 Crashkurs - Final Edition
(Microsoft .NET 2.0 Crashkurs - Endgültige Version, 2006)
|
|
|
Querverweise zu anderen Begriffen im Lexikon
Distributed Component Object Model Microsoft Intermediate Language Common Language Specification .NET Framework Client Profile .NET Framework Class Library Rich Internet Application ADO.NET Entity Framework Write Once Run Anywhere Registrierungsdatenbank Framework Class Library Common Language Runtime .NET Compact Framework Component Object Model Just-in-Time-Compiler Remote Procedure Call Microsoft Silverlight Common Type System Objektorientierung Softwarekomponente Komponentenmodell Internet Explorer Compact Framework Visual Basic .NET Xcopy-Deployment Active Scripting .NET-Komponente Windows Phone 7 Ressourcendatei Intermediation XML-Webservice COM-Komponente Registrierung Windows Forms Active Script Systemdienste .NET Remoting JScript .NET Managed C++ Typkonzept System.Xml Webservice Komponente Metadaten Exception Dokumente Scripting Ressource Datenbank Vererbung Ausnahme .NET 3.0 .NET 4.0 Compiler Hardware Wrapper JScript Whidbey Everett Thread Hawaii DOTNET C-DLL Orcas Java Mono Perl
|
|