.NET
Was ist das .NET-Framework?
Microsoft .NET ist ein sogenanntes Entwicklungsframework. Frei übersetzen lässt sich der Begriff Framework mit Arbeitsrahmen. Es handelt sich dabei um eine Art Gerüst zum Programmieren einer Anwendung oder zum Erstellen von Webinhalten.
Software, die mit .NET entwickelt wurde, ist ohne das Framework nicht lauffähig. Daher funktioniert .NET als wichtige Middleware zwischen diesen Anwendungen und dem Betriebssystem.
Wie zu anderen Frameworks auch gehören zum .NET-Framework drei wichtige Komponenten:
- Eine Laufzeitumgebung
Die Laufzeit definiert die Zeitspanne vom Start einer Anwendung bis zum Beenden. Eine Laufzeitumgebung lädt Programme. Diese werden dann auf einer Plattform ausgeführt. So können auch Anwendungen in einer Software-Umgebung ausgeführt werden, für die sie nicht direkt entwickelt wurden. Darüber hinaus wird das Öffnen von Dateiformaten in verschiedenen Anwendungen unterstützt. Bei der Programmierung von Software wird diese in einer eingeschränkten Laufzeitumgebung ausgeführt. So können u. a. Fehler leichter lokalisiert werden. - Klassenbibliotheken
In diesen digitalen Bibliotheken werden Softwarekomponenten gesammelt, auf die bei der Anwendungsentwicklung im Microsoft .NET-Framework zurückgegriffen werden kann. Diese dienen u.a. für den Zugriff auf Datenbanken und Dateien, für die Netzwerkkommunikation und als Grundlage für die grafische Benutzeroberfläche. - Ein Compiler
Der Compiler übersetzt beim Programmieren einer Anwendung den Quellcode in maschinenlesbare Sprache, die nur aus Einsen und Nullen besteht. Der .NET-Framework-Quellcode kann in einem Texteditor, wie er in Visual Studio enthalten ist, verfasst und später kompiliert werden.
Die .NET-Framework-Vorteile
In seinem über zwanzigjährigen Bestehen machte .NET eine gewaltige Entwicklung durch. Der Ansatz des Frameworks folgt den Grundsätzen einer Open-Source-Software. Somit ist bei .NET der Download kostenlos. Außerdem kann das Framework ohne die Entrichtung von Lizenzgebühren zur Entwicklung von Software genutzt werden. Durch eine aktive Community wird es beständig weiterentwickelt. Das gilt bei .NET für die aktuelle Version genauso wie für ältere Versionen.
So wird das Framework durch Programmierer auf der ganzen Welt beständig aufs Neue optimiert. Dieser Umstand wirkt sich besonders gut auf die Handhabung aus. Darüber hinaus erleichtert .NET Entwicklern die Arbeit an Windows-Programmen, da es einen einheitlichen Ansatz für die Programmierung in Windows bietet.
Weitere Vorteile bei der .NET-Framework-Entwicklung sind zum Beispiel:
- Hohe Zuverlässigkeit
- Gute Skalierbarkeit
- Kompatibilität mit allen Windows-Betriebssystemen
- Kompatibilität mit vielen anderen Betriebssystemen
- Kann für nahezu jede Art von Softwareentwicklung eingesetzt werden
- Kann unter Anwendung mehrerer Programmiersprachen verwendet werden
- Große Vorlagenbibliothek
.NET oder dotnet?
Die Schreibweise von Microsoft .NET variiert im Internet stark. Oft ist der Begriff ausgeschrieben zu lesen, in Klein- oder Großschreibung, mit Leerzeichen oder ohne. Diese Schreibweisen sehen dann so aus:
- DOTNET
- DOT NET
- dotnet
- dot net
Obwohl Microsoft die Plattform mit der Großschreibweise .NET veröffentlicht hat, nutzt das Unternehmen selbst in einigen Fällen andere Varianten wie .Net oder .net. Letztere hat den Nachteil, dass sie auch für die Domain-Endung net genutzt wird. Mit Microsoft .NET hat das allerdings nichts zu tun. Hier kann es leicht zu Verwechslungen kommen.
Was steckt hinter Microsoft .NET?
Microsoft .NET war ursprünglich mehr als ein Framework für Entwickler. Tatsächlich war .NET Framework nur ein Teil der Plattform .NET, die selbst eine Sammlung verschiedener Programme und Programmierwerkzeuge darstellt. Microsoft .NET wurde im Jahr 2000 zum ersten Mal veröffentlicht und beinhaltete zum Beispiel:
- Server
- Webbasierte Speicherung von Daten
- Programmiersprachen wie C# oder Visual Basic .NET
- Gerätesoftware
- Identitätsprüfung
Die sechs Teilbereiche der Plattform gliederten sich damals folgendermaßen auf:
- .NET Framework
- Enterprise Server
- User Experience
- Gerätesoftware
- Entwicklungswerkzeuge
- .NET MyServices
Unter anderem diente die .NET-Plattform dazu, Informationen zu Nutzern automatisch zu synchronisieren und durch zentralisierte Datenspeicherung einen effizienteren Zugriff auf Informationen zu ermöglichen.
.NET Core
Ab ca. 2003 begann Microsoft, .NET nur noch mit Software-Development in Verbindung zu bringen. Die Plattform wurde zur Basis einer zunehmend webfähigen Benutzer-Oberfläche. Jetzt rückte vor allem das von Microsoft in Verbindung mit der Firma Xamarin entwickelte .NET Framework mehr in den Fokus. Ziel der weiteren .NET-Entwicklung war es u. a., eine einheitliche Entwicklungsplattform für Windows zu schaffen. Zuvor wurden Windows-Applikationen z. B. mit Visual Basic, C++ und COM programmiert. Hier sollte .NET eine Standardisierung bringen und gleichzeitig eine plattformunabhängige Entwicklung bieten.
Die .NET-Entwicklung wurde kontinuierlich fortgesetzt. Im Jahr 2016 brachte Microsoft mit .NET Core zusätzlich zu .NET Framework eine neue Variante auf den Markt, der vor allem eine vereinfachte Version der Klassenbibliotheken zugrunde lag. In erster Linie war .NET Core zum Entwickeln von Serveranwendungen gedacht, die nicht nur auf Windows, sondern auch auf Betriebssystemen wie Linux und MacOS lauffähig sind.
Das Besondere an .NET Core war damals, dass der komplette Quellcode veröffentlicht wurde und die Software nahezu ohne Einschränkungen von Programmierern genutzt werden konnte.
Aus .NET Core wird „.NET“
In den Jahren 2016 bis 2019 erschienen von .NET Core 1.0 bis 3.1 sieben verschiedene Versionen dieses Frameworks. Veröffentlicht wurden sie zusammen mit Visual Studio, einer in Microsoft integrierten Entwicklungsumgebung. 2020 schließlich wurde im Framework .NET Core der Zusatz „Core“ gestrichten. Seitdem existieren die Frameworks .NET und .NET Framework parallel nebeneinander. Es wird damit gerechnet, dass .NET die Software .NET Framework, die in erster Linie eine Windows-spezifische Software ist, mit der Zeit gänzlich ablösen wird. ### Welche Version von .NET Framework habe ich?
Oft stellen sich Windows-Nutzer die Frage: Ist .NET Framework installiert oder muss ich es downloaden? Seit Windows-Vista ist .NET Framework ein fester Bestandteil der Windows-Umgebung. In der Regel ist also ein .NET-Download für Microsoft-Betriebssysteme nicht notwendig.
Generell wird ab Windows 10 .NET Framework 4.5 verwendet. Nach der Veröffentlichung von NET Framework 4.8 gab Microsoft an, keine weiteren Updates mehr anzubieten. Die .NET Framework-Entwicklung wird nicht weiterverfolgt. Die Software kann jedoch weiter genutzt werden und bleibt eine wichtige Komponente in MS-Betriebssystemen. Nähere Informationen darüber sind auf den Infoseiten von Microsoft zu finden.
Wo wird das .NET-Framework verwendet?
Hardwaretreiber können mit dem Microsoft .NET-Framework nicht entwickelt werden. Davon abgesehen ist die Palette an Möglichkeiten zum Programmieren jedoch nahezu unbegrenzt. So kann .NET für die Entwicklung von
- Web-Anwendungen
- Systemprogrammen
- Server Apps
- Datenbanken
- Desktop-Programmen
- Mobile-Apps
- IoT-Apps
- Cloud-Lösungen
oder zum Programmieren von Computerspielen eingesetzt werden.
ASP.NET und ASP.NET Core
ASP.NET ist ein zusätzliches Kernframework, dass im .NET-Framework integriert ist. Es erweitert die .NET-Plattform um diverse Tools und Bibliotheken. Diese dienen der Entwicklung von Web-Apps und Web-Services. Das ist u. a. möglich, da ASP.NET in JavaScript-Frameworks integriert werden kann. Zum Erstellen von Internetschnittstellen, die http verwenden, kann die Bibliothek ASP.NET-Web-API genutzt werden.
Außerdem stellt das Framework ASP.NET die Vorlagensyntax Razor für die Erstellung dynamischer Webseiten bereit. Integriert sind zudem Bibliotheken für gängige Webmuster und ein Authentifizierungssystem. In der Regel werden Visual Basic, F# und C# zum Programmieren für den Back-End-Code von ASP.NET verwendet.
ASP.NET Core ist eine Open-Source-Version von ASP.NET. Es wurde im Jahr 2016 als Re-Design bestehender Windows-Versionen veröffentlicht. Laut Microsoft ist es in der Perfomance schneller als andere beliebte Frameworks, die zu Web-Entwicklung genutzt werden.
Mithilfe von ASP.NET können webbasierte Anwendungen, die in .NET für Windows programmiert werden, auch auf eine andere Plattform transferiert werden. Dadurch ist gewährleistet, dass .NET Kompatibilität zu den meisten gängigen Betriebssystemen aufweist. Applikationen können mit ASP.NET neben Windows auf folgenden Betriebssystemen programmiert und ausgeführt werden:
- macOS
- Linux
- Docker
Laut einer Erhebung im Jahr 2019 kommt beim Programmieren via Server ASP.NET bei 11,5 Prozent aller Webseiten zum Einsatz. Noch häufiger zur Verwendung kommen Frameworks, die auf der Programmiersprache PHP basieren. Eines der beliebtesten ist Laravel. Es wurde seinerseits stark von ASP.NET inspiriert. Beide Frameworks nutzen das Entwurf-Muster Model View Controller (MVC), das häufig als Grobentwurf von komplexen Softwaresystemen dient.
.NET MAUI
Die Bezeichnung MAUI leitet sich ab von Multi-Platform App User Interface. MAUI ist ein .NET-Framework, mit dem native Apps für mobile Geräte und Desktops entwickelt werden können. Dabei arbeiten die Programmierer mit C# und der deklarativen Programmiersprache XAML. Da .NET MAUI plattformübergreifend ist, lassen sich damit auf einer einzigen Codebasis Applikationen für verschiedene Mobile-Betriebssysteme entwickeln. Nicht nur die Funktionalität, auch die Layouts passen sich automatisch an das jeweilige Betriebssystem an. Das sorgt für eine gute User Experience.
Internet of Things und Machine Learning
Der Begriff IoT (Internet of Things) umfasst Geräte und Gegenstände, die mit Prozessoren ausgestattet sind. Sie verfügen über eine IP-Adresse und können über ein Netzwerk mit anderen Geräten bzw. mit der Außenwelt kommunizieren. Diese Technologie kommt z. B. in der Raumfahrt, in Logistik-Systemen oder auch als effizienzsteigernde Maßnahme in der Warenproduktion zum Einsatz.
Auch der Consumer-Bereich ist ein großes Anwendungsgebiet. IoT-Technologie kommt z. B. zum Einsatz in:
- Alarmanlagen und Überwachungssystemen
- Smart-Home-Devices
- Pulsmessern und Smartwatches
- Klimaanlagensystemen
Damit IoT-Apps mit den dazugehörigen Geräten kommunizieren können, werden spezielle IoT-Bibliotheken benötigt. Diese sind in .NET implementiert.
Im Zusammenhang mit IoT kommt des Öfteren auch Machine Learning zum Einsatz. Es handelt sich jedoch um zwei unabhängige Bereiche der IT-Branche. Machine Learning bezieht sich auf hochentwickelte Computerprogramme, sogenannte Künstliche Intelligenzen. Aufgrund von Algorithmen und mithilfe großer eingespeister Datenmengen können sie im Rahmen vordefinierter Gesetzmäßigkeiten eigenständig Schlussfolgerungen ziehen. Machine Learning wird heutzutage in vielen Fachgebieten angewandt. Zu nennen wären beispielsweise:
- Verkehrsüberwachung
- Öffentlicher Nahverkehr
- IT-Sicherheit
- Marketing
- Verwaltung
- Digitale Assistenten
Das .NET Framework verfügt über eine Vielzahl an Funktionen und Implementierungen, die einen Einsatz im Bereich Machine Learning ermöglichen. Zum Beispiel das Integrieren von Cognitive Services zur Sprach- oder Seh-Erkennung oder zum Deuten von Stimmungen und Emotionen.
.NET-Entwicklung bei TenMedia in Berlin
Als professioneller IT-Dienstleister in Berlin entwickeln wir Software-Lösungen, die mit jedem Betriebssystem kompatibel sind. Auf Wunsch laufen unsere Anwendungen auf Android, IOS, MacOS, Linux und selbstverständlich auch auf Windows. Neben Frameworks wie Laravel nutzen wir auch ASP.NET und .NET MAUI. Mit der Arbeit in der .NET-Umgebung sind wir also bestens vertraut.
Seit 2011 hat sich die TenMedia GmbH auf dem deutschen Markt im Bereich Softwareentwicklung etabliert. Wir programmieren u.a. Datenbanken und Personalmanagement-Software. Dabei liegt unser Fokus speziell auf dem Entwickeln von Individualsoftware. Anstelle von Standardlösungen setzen unsere Entwickler Anwendungen um, die speziell auf die Wünsche unserer Kunden zugeschnitten sind. So stellen wir sicher, dass unsere Auftraggeber am Ende ein Produkt in Händen halten, dass zu 100 Prozent ihren Vorstellungen entspricht. Auch Serviceleistungen wie Support, Monitoring oder Hosting übernehmen wir gern und stehen unseren Kunden als langfristiger Partner zur Seite.