Sie sind hier: Wissen
Begriff .NET
Abkürzung DOTNET
Eintrag zuletzt aktualisiert am 10.04.2022

 Zur Stichwortliste unseres Lexikons

Was ist .NET ?

.NET (gesprochen DOTNET) ist der Oberbegriff für die wichtigste Softwareentwicklungsinfrastruktur der Firma Microsoft.

.NET umfasst

Anfänge um den Jahrtausendwechsel

.NET wurde erstmals im Juni des Jahres 2000 von Bill Gates erwähnt. Einen Monat später, auf der Professional Developers Conference (PDC), verteilte Microsoft dann CDs mit eine Alpha-Version .NET Framework 1.0 und der zugehörigen Entwicklungsumgebung Visual Studio .NET für die Sprachen C#, Visual Basic .NET, J# (Java-Syntax), Jscript.NET (JavaScript-Syntax) sowie Managed C++ (später: C++/CLI).

Microsoft sieht als offiziellen Erscheinungstermin des .NET Framework 1.0 den 13. Februar 2002 an, auch wenn laut Quellen im Netz der Download der fertigen Version im Microsoft Developer Network (MSDN) schon am 14. Januar 2002 möglich war.

Viele Implementierungen bis "One .NET"

Die erste Implementierung von .NET war das Microsoft .NET Framework. Es gab in der Vergangenheit diverse Implementierung von .NET, die meisten innerhalb von Microsoft, einige aber auch außerhalb von Microsof6t (Mono und DotGnu Portable .NET). Viele sind davon wieder beerdigt worden.
Mit .NET 5.0 und .NET 6.0 hat Microsoft die drei verbliebenen Varianten .NET Framework, .NET Core und Mono/Xamarin zusammengeführt zu "One .NET".

Standardisierung

.NET ist in Teilen bei der ECMA und ISO standardisiert.

Schreibweise

Bezüglich der genauen Schreibweise von .NET gibt es einige Meinungsverschiedenheiten. Zum Teil schreibt Microsoft selbst .net oder .Net. Einige Medien schreiben den Begriff aus: DOTNET oder dotnet. Vorherrschend und von Micro-soft selbst meist verwendet ist jedoch die Schreibweise mit drei Großbuchstaben. Diese Schreibweise wird auch in diesem Buch verwendet (außer auf dem Cover, da hier das offizielle Logo abgebildet ist, das die Kleinschreibweise verwendet).

Ziele von .NET

Ziel von .NET waren und sind:
  • moderne, flexible und plattformneutral Softwareentwicklungsplattform auf hohem Abstraktionsniveau
  • für die Entwicklung von Software aller Art zu schaffen, als
  • Nachfolger für das zuvor herrschende Wirrwarr von Softwareentwicklungsplattformen für Windows (C++ MFC, Visual Basic, COM)
  • Konkurrenz zu Java
.NET bietet Unterstützung für die Programmierparadigmen Mit Ausnahme der Hardwaretreiberprogrammierung deckt .NET von Desktop-Anwendung bis Web-Anwendungen, von Systemdiensten bis Webservice und von Datenbankroutinen bis zur Office-Programmierung alle Anwendungsarten ab.

Plattformneutralität

.NET war immer schon grundsätzlich plattformneutral – durch seine Intermediate Language und den Just-in-Time-Compiler. Microsoft hatte schon 2002 durch das Projekt "Rotor" (alias Shared Source Common Language Infrastructure) eine auch auf FreeBSD und dem Mac lauffähige Version von .NET erstellt. Diese Implementierung war Voraussetzung für die Standardisierung von .NET und C# bei der European Computer Manufacturers Association ( ECMA-335) einschließlich der späteren Übernahme des Standards durch die International Standardization Organization (ISO / IEC 23271).

Nur war Microsoft damals noch eine "Windows only"-Firma und der Meinung, Linux sei ein Krebsgeschwür [https://www.heise.de/newsticker/meldung/Microsoft-Chef-Ballmer-bezeichnet-Linux-als-Krebsgeschwuer-38381.html] und lieferte deshalb sein .NET Framework nur für Windows. Die Lizenzbedingungen von Rotor ließen keine kommerzielle Nutzung auf anderen Betriebssystemen zu.

Diese Verweigerungshaltung führte dazu, dass sich zwei Open Source-Projekte, Mono und DotGnu, eine eigene .NET-Implementierung erschufen. Mono-Gründer Miguel de Icaza beteuerte damals, dass er niemals den Code von Rotor auch nur angeschaut habe, um nicht Gefahr zu laufen, ähnlichen Programmcode wie Microsoft zu produzieren.
In den ersten Jahren wurden in der Entwicklergemeinde wetten abgeschlossen, wie lange Microsoft die Nacharmer gewähren lassen wird, bis die Anwälte vor der Tür standen. Über die Jahre wurde aber klar, dass Microsoft Mono nicht nur tolerierte, sondern sogar inoffiziell durch Informationsaustausch unterstützt. Kommerzielle bedeutend wurde Mono erst, als man auf den Zug der neu aufkommenden Mobilbetriebssysteme Android und iOS aufsprang.

Auf der TechEd 2014 in Housten verkündete Microsoft das "Project K": eine schlankere, modulare und plattformneutrale Neuimplementierung von .NET mit dem Werbeattraibut "cloud-optimized .NET Framework". Erster offizieller Produktname war ".NET Core 5.0" [https://www.heise.de/developer/meldung/Microsoft-NET-wird-zur-Cross-Entwicklungsplattform-2454712.html], dann entschlossen sich Microsoft, die Versionszählung neu zu starten. Nach einigen Verzögerung kam dann .NET Core 1.0 ist am 26. Juni 2016 für Windows, Linux und macOS.

Geschichtliches

Anfangs (Jahre 2000-2003) hatte Microsoft .NET als Marketing-Begriff für alle neuen Produkte (Betriebssystem, Server, Office) verwendet – nach Kritik von Kunden und Medien hat Microsoft jedoch die sinnvolle Redu-zierung auf das .NET Framework und zugehörige Softwarekomponenten und Werkzeuge vollzogen.

Ursprünglich hatte .NET sechs Teilbereiche:
1. .NET Framework
2. .NET Enterprise Server
3. .NET Device Software
4. .NET Tools (Visual Studio .NET)
5. .NET User Experience
6. . NET My Services ("Hailstorm")

Es folgt eine Beschreibung der damaligen Teilbereiche:

1. das .NET Framework als ein neues technisches Konzept zur Anwendungsentwicklung unter Windows, das ein neues Komponentenmodell, eine Laufzeitumgebung und ein Intermediation-Konzept beinhaltet
Das .NET Framework umfasst auch ein Regelwerk zum Bau von Compilern (Common Language SpecificationCLS) und die Common Language Runtime (CLR), die einerseits Laufzeitumgebung für alle .NET-Anwendungen ist und andererseits für alle Sprachen eine einheitliche Klassenbibliothek bereitstellt.
2. Entwicklungswerkzeuge wie Visual Studio .NET (VS.NET) und Visual Studio for Applications (VSA), die die Entwicklung von Anwendungen auf Basis des .NET Frameworks erlauben
3. die .NET Enterprise Server, die die Infrastruktur für .NET-Anwendungen bereitstellen. Der Name .NET En-terprise Server umfasst zurzeit folgende Produkte:
  • Exchange Server 2000
  • Host Integration Server 2000
  • SQL Server 2000
  • Internet Security and Acceleration Server 2000 (ISA-Server)
  • Commerce Server 2000
  • Biztalk Server 2000
  • Application Center 2000
  • SharePoint Portal Server 2001
  • Mobile Information Server 2001
Da diese Produkte aber bereits im Winter 2000 bzw. Frühjahr 2001 – also vor der Verfügbarkeit einer endgültigen Version des .NET Frameworks – erschienen sind, basiert natürlich keines dieser Pro-dukte auf dem .NET Framework. Die Bezeichnung .NET Enterprise Server ist so zu verstehen, dass diese Serveranwendungen den Aufbau von .NET-Anwendungen unterstützen. Technisch basieren alle diese Server aber noch auf COM; sie benötigen keinen Teil der .NET-Laufzeitumgebung. Die .NET-Laufzeitumgebung war zum Zeitpunkt der Veröffentlichung der meisten .NET Enterprise Server auch noch nicht über das Beta-Stadium hinaus. Möglich ist, dass zukünftige Versionen mit dem .NET Framework neu entwickelt werden.
4. die .NET Device Software zur Anbindung von mobilen Geräten wie Mobiltelefonen, Handheld-Computern (PDAs) und anderen technischen Geräten (z.B. Kühl-schränke, Fernseher)
5. neue Dienste für den Endanwender ("User Experience"). Dieser Bereich ist von Microsoft noch am wenigsten klar definiert. In Fortsetzung des früheren Marketing-Slogans "Information at your Fingertips" verspricht Microsoft bessere Benutzerschnittstellen mit natürlicherer Bedienung und besseren Werkzeugen, die dem Benutzer mehr Informationen anbieten. In diesem Zusammenhang wird insbesondere der Einsatz von Agententechnologie genannt. Die Umsetzung dieser User Experience sieht Microsoft in der Benutzeroberfläche "Luna", die mit Windows XP und Windows .NET Server ausgeliefert wird.
6. ein Satz von Anwendungen und Diensten, die zur Bereitstellung dieser Endanwenderdienste genutzt werden können. Diese werden als Building Blocks oder auch als Foundation Services bezeichnet. Beispiele dafür sind Storage, Authentication, Code-Updates, Suchdienste und Messaging.

Von diesen Teilbereichen sind als Teil von .NET nur noch übrig:
  • Das .NET Framework
  • Die Entwicklungswerkzeuge
  • Einige wenige Building Block Webservices
Alle anderen Produkte existieren noch, tragen aber nicht mehr den Namen ".NET", z.B.

Aktuelle Implementierungen von .NET

Frühere Implementierungen von .NET

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

Internet-Ressourcen:

https://dotnet.microsoft.com/en-us/
https://www.dotnetframework.de/

Aktuelle Online-Artikel

 Geschichte und Zukunft des .NET Frameworks: Erscheinungsdaten und Versionsnummern
 ASP.NET 2.0-Beispielanwendung
 ASP.NET-Anwendungen installieren und konfigurieren
 Tracing in ASP.NET-Webanwendungen
 Globale Ereignisse in ASP.NET-Webanwendungen - Die Anwendungsdatei "Global.asax"
 Die Architektur von ASP.NET unter IIS 5.0 und IIS 6.0 im Vergleich
 Eine prägnanter, tabellarischer Vergleich von ASP und ASP.NET 1.x
 .NET Framework - eine kompakte Einführung
 Sicherheit in ASP.NET-Webanwendungen
 Einführung in Webserverprogrammierung mit ASP.NET-Webforms

Weitere Ressoucen auf dieser Website

 Referenzliste .NET-Entwicklerwerkzeuge (Tools)
 Webbasiertes Diskussionsforum zum .NET Framework
 .NET-Klassenreferenz
 Buch-FAQ: Fragen und Antworten zu den Büchern von Holger Schwichtenberg
 DOTNET Scripting Host
 Marktstudien Softwarekomponenten und Komponentenmodelle
 Technische Einführung in die AJAX-Erweiterungen für ASP.NET 2.0
 WCF Barometer - Leistungsmessungen der Windows Communication Foundation (WCF)
 Liste der .NET-fähigen Programmiersprachen (Produktreferenz)
 Referenzliste Softwarekomponenten für das .NET Framework (Produktreferenz)
 Website-FAQ: Fragen und Antworten zu dieser Website
 .NET-Fachbegriffslexikon
 Neuigkeiten zum .NET Framework und Visual Studio .NET
 FAQ zu dem Buch ".NET 3.0 Crashkurs"
 Newsletter von Dr. Holger Schwichtenberg
 Codebeispiele .NET (C#, Visual Basic und PowerShell)
 Der DOTNET-DOKTOR / Das .NET-Weblog auf www.heise.de

Querverweise zu anderen Begriffen im Lexikon

Shared Source Common Language Infrastructure (SSCLI)
European Computer Manufacturers Association (ECMA )
International Standardization Organization (ISO)
Professional Developers Conference (PDC)
Visual Studio for Applications (VSA)
.NET Framework Client Profile
Common Language Specification (CLS)
Microsoft Developer Network (MSDN)
Universal Windows Platform (UWP)
Common Language Runtime (CLR)
.NET Compact Framework (.NET CF)
Just-in-Time-Compiler
Windows Server System (WSS)
Entwicklungsumgebung
.NET Micro Framework
DotGnu Portable .NET (PNET)
Windows .NET Server
Windows Server Core
Windows Server 2003
Programmiersprache
.NET Framework 1.0 (.NET 1.0)
Softwarekomponente
Objektorientierung (OO)
Application Center
Visual Studio .NET (VS.NET)
Visual Basic .NET (VB.NET)
Komponentenmodell
Windows Runtime (WinRT)
User Experience (UX)
Intermediation
Biztalk Server
.NET Core 5.0
.NET Core 1.0
Systemdienste
.NET Native
Open Source
Managed C++ (MCPP)
Windows XP
JavaScript (JS)
SQL Server
Webservice
Hailstorm
Project K
Windows 8
Datenbank (DB)
Hardware
Ausnahme
.NET 6.0 (.NET 6)
.NET 5.0 (.NET 5)
One .NET
Xamarin
C++/CLI
Android
Storage
Rotor
Mono
iOS
Java Enterprise Edition (Java EE)
Microsoft TechEd (TechEd)
Visual Studio .NET (VS.NET)
Windows Runtime (WinRT)
European Computer Manufacturers Association (ECMA )
Microsoft Developer Network (MSDN)
Primary Domain Control (PDC)
Microsoft Foundation Classes (MFC)
Visual Studio for Applications (VSA)
Universal Windows Platform (UWP)
International Standardization Organization (ISO)
Common Language Specification (CLS)
Common Language Runtime (CLR)

Beratung & Support

 Beratung/Consulting: Werkzeugauswahl und -einführung für die .NET-Anwendungsentwicklung (Microsoft-Werkzeuge und/oder Drittanbieterwerkzeuge)
 Beratung/Consulting: ADO.NET Entity Framework-Leistung / Entity Framework-Performance: Optimierung von Entity Framework-Datenzugriffen
 Beratung/Consulting: .NET-Performanceprobleme / Leistungsprobleme
 Beratung/Consulting: .NET/C# und Java/JEE im Vergleich: Welche Softwareentwicklungsplattform ist besser?
 Beratung/Consulting: Umstellung/Migration/Umstieg von Windows Forms-Anwendungen von .NET Framework auf .NET 6.0/.NET 7.0
 Beratung/Consulting: Umstellung/Migration/Umstieg von ASP.NET-Anwendungen von .NET Framework auf ASP.NET Core 6.0/7.0
 Beratung/Consulting: ASP.NET-Leistung / ASP.NET-Performance
 Beratung/Consulting: Umstellung/Migration/Umstieg von .NET Framework auf .NET 6.0/7.0
 Beratung/Consulting: .NET versus .NET Core
 Beratung/Consulting: .NET-Webservices mit Windows Communication Foundation (WCF) oder ASP.NET Web API
 Beratung/Consulting: Moderne Webanwendungen/Webprogrammierung mit Blazor (ASP.NET Core Blazor)
 Beratung/Consulting: Best Practices bei der Softwareentwicklung mit .NET/ASP.NET/WPF/WCF/Entity Framework u.a.
 Beratung/Consulting: Umstellung/Migration/Umstieg von WPF-Anwendungen von .NET Framework auf .NET 6.0/.NET 7.0
 Beratung/Consulting: Migration zu .NET / Umstieg auf .NET
 Beratung/Consulting: Umstellung/Migration/Umstieg von ADO.NET Entity Framework auf Entity Framework Core
 Beratung/Consulting: Webserverframeworks im Vergleich: ASP.NET versus node.js versus Ruby-on-Rails
 Beratung/Consulting: Pattern einsetzen
 Beratung/Consulting: Begutachtung bestehender Softwarearchitekturen (Architekturreviews/Technikreviews)
 Beratung/Consulting: REST versus SOAP (SOAP und REST im Vergleich)
 Beratung/Consulting: Programmcodereview
 Beratung/Consulting: Machbarkeitsstudien
 Beratung/Consulting: Entwicklung von Teilsystemen
 Beratung/Consulting: Anwendungsredesign
 Beratung/Consulting: Webtechniken, Web-Frameworks/-Bibliotheken und Web-Tools auswählen
 Beratung/Consulting: Architekturreviews
 Beratung/Consulting: Anwendungsarchitektur / Anwendungsdesign / Softwarekonzept (Entwurf einer Softwarearchitektur)
 Beratung/Consulting: Best Practices für moderne Webanwendungen mit HTML5, CSS3 und JavaScript
 Beratung/Consulting: Entwicklung von Prototypen
 Beratung/Consulting: Sicherheitsanalyse/Sicherheitsreview
 Beratung/Consulting: Laufendes Coaching von Entwicklungsteams
 Anfrage für Beratung/Consulting zu .NET DOTNET  Gesamter Beratungsthemenkatalog  Technischer Support zum .NET DOTNET

Schulungen zu diesem Thema

 Windows-Systemdienste entwickeln mit .NET
 .NET Remoting
 Visual Basic .NET - Basiswissen
 Windows-Desktop-Anwendungen: Von den .NET- und C#-Grundlagen zu Windows Forms und Windows Presentation Foundation (WPF)
 Neuerungen in .NET Core 2.1/2.2 gegenüber Version 2.0 (inkl. ASP.NET Core, Entity Framework Core)
 AJAX mit ASP.NET (Microsoft AJAX Framework / ASP.NET AJAX Extensions / "Atlas")
 Objekt-Relationales Mapping (ORM) mit .NET
 .NET 4.5.1/.NET 4.5.2/4.5.3 Update / Neuerungen in .NET Framework 4.5.1/.NET Framework 4.5.2/.NET Framework 4.5.3
 Grundlagen der objektorientierten Programmierung anhand von C# oder Visual Basic .NET
 Konfigurationsinformationen in .NET und .NET Core
 MySQL- oder MariaDB-Anwendungsentwicklung (z.B. PHP oder .NET oder Java)
 ADO.NET - Datenbankzugriff mit System.Data - Aufbauwissen
 .NET im Überblick für Softwareentwickler
 C# für Umsteiger von Visual Basic .NET
 ASP.NET Webforms im Überblick - Weboberflächen mit .NET
 Event Driven Design (mit .NET/C# oder Java)
 .NET-Sicherheit (.NET Security)
 MySQL-Datenzugriff mit dem .NET Framework
 .NET 7.0 - Änderungen und Neuerungen gegenüber .NET 6.0
 .NET Akademie: Unit Testing und Test Driven Development (TDD) mit .NET/C# (3-Tages-Agenda des öffentlichen Seminars)
 .NET 8.0 - Änderungen und Neuerungen gegenüber .NET 7.0
 Kryptografie/Verschlüsselung mit .NET
 SAP Crystal Reports in .NET-Anwendungen mit Visual Studio - Berichte erstellen
 .NET-Programmierung mit Delphi
 Tipps & Tricks für bessere Websites/Webanwendungen mit ASP.NET Core
 Windows Modern Apps/Windows Universal Apps entwickeln mit der Windows Runtime (WinRT), XAML und .NET/C#/Visual Basic
 .NET Best Pactices
 Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
 .NET-Softwarearchitektur (Architektur von .NET-Anwendungen)
 .NET 6.0 - Änderungen und Neuerungen gegenüber .NET 5.0
 Anfrage für eine individuelle Schulung zum Thema .NET DOTNET  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

  Blazor 9.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 9.0, C# 13.0 und Visual Studio 2022
  .NET 9.0 Update: Die Neuerungen in .NET 9.0 gegenüber .NET 8.0
  .NET 8.0 Update: Die Neuerungen in .NET 8.0 gegenüber .NET 7.0
  Blazor 8.0: Moderne Webanwendungen und hybride Cross-Platform-Apps mit .NET 8.0, C# 12.0 und Visual Studio 2022
  Cross-Plattform-Apps mit .NET MAUI entwickeln
  App Engineering: SwiftUI, Jetpack Compose, .NET MAUI und Flutter
  C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin
  ASP.NET Core Blazor 5.0: Blazor WebAssembly und Blazor Server - Moderne Single-Page-Web-Applications
  ASP.NET Core Blazor 3.1/3.2: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  ASP.NET Core Blazor 3.0/3.1: Blazor Server und Blazor Webassembly - Moderne Single-Page-Web-Applications mit .NET, C# und Visual Studio
  C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Webanwendungen für .NET-Entwickler: Server-Anwendungen, Web APIs, SPAs & HTML-Cross-Platform-Anwendungen mit ASP.NET, ASP.NET Core, JavaScript
  C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Modern Data Access with Entity Framework Core: Database Programming Using .NET, .NET Core, UWP, and Xamarin with C#
  C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Effizienter Datenzugriff mit Entity Framework Core: Datenbankprogrammierung mit C# für .NET Framework, .NET Core und Xamarin
  .NET Praxis - Tipps und Tricks für .NET und Visual Studio
  Moderne Webanwendungen mit ASP.NET MVC und JavaScript
  Microsoft ASP.NET 4.5 - Entwicklerbuch
  Moderne Webanwendungen mit ASP.NET MVC
  Verteilte Systeme und Services mit .NET 4.5
  .NET 4.5 Update
  Datenbankprogrammierung mit .NET 4.5
  Verteilte Systeme und Services mit .NET 4.0
  Microsoft ASP.NET 4.0 mit C# 2010 - Entwicklerbuch
  Datenbankprogrammierung mit .NET 4.0. Mit Visual Studio 2010 und SQL Server 2008 R2
  Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
  Programmieren mit dem ADO.NET Entity Framework
  .NET 4.0 Crashkurs
  Visual Basic 2010: Grundlagen, ADO.NET, Windows Presentation Foundation
  .NET 4.0 Update
  ASP.NET 4.0
  ASP.NET 4.0 mit Visual C# 2010
  SQL Server 2008 R2: Das Programmierhandbuch. Inkl. ADO.NET 3.5, LINQ to Entities und LINQ to SQL
  Microsoft ASP.NET 3.5 mit Visual Basic 2008 - Entwicklerbuch
  .NET 3.5
  .NET 3.5 Crashkurs
  Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Alle unsere aktuellen Fachbücher  E-Book-Abo für ab 99 Euro im Jahr