Hugendubel.info - Die B2B Online-Buchhandlung 

Merkliste
Die Merkliste ist leer.
Bitte warten - die Druckansicht der Seite wird vorbereitet.
Der Druckdialog öffnet sich, sobald die Seite vollständig geladen wurde.
Sollte die Druckvorschau unvollständig sein, bitte schliessen und "Erneut drucken" wählen.

C# und .NET 8 - Grundlagen, Profiwissen und Rezepte

E-BookEPUBePub WasserzeichenE-Book
1080 Seiten
Deutsch
Hanser Fachbuchverlagerschienen am06.05.20241. Auflage
Dieser komplett überarbeitete Klassiker der C#-/.NET-Programmierung bietet Ihnen Know-how und zahlreiche Rezepte, mit denen Sie häufig auftretende Probleme meistern. Einsteiger erhalten ein umfangreiches Tutorial zu den Grundlagen der C# 12-Programmierung mit Visual Studio, dem Profi liefert es fortgeschrittene Programmiertechniken zu allen wesentlichen Einsatzgebieten der Programmierung mit .NET 8. Zum sofortigen Ausprobieren finden Sie am Ende eines jeden Kapitels hochwertige Lösungen für nahezu jedes Problem.
Das Buch gliedert sich in einen Grundlagenteil zur Programmierung, eine Einführung in die Desktop-Programmierung (WPF, MAUI (Multi-platform App UI), einen Technologieteil zu fortgeschrittenen Themen sowie einen Teil zur Web-Programmierung (ASP.NET Core, MVC, Razor, Web-API, Blazor).
Es ist der ideale Begleiter für Ihre tägliche Arbeit und zugleich - dank der erfrischenden und unterhaltsamen Darstellung - eine spannende Lektüre, die Lust macht, Projekte auch in der Freizeit umzusetzen.

Jürgen Kotz arbeitet seit über 20 Jahren als freiberuflicher Trainer, Berater, Entwickler und Autor. Mit .NET beschäftigt er sich seit der ersten Beta-Version. Mit seiner Firma PrimeTime Software in München entwickelt er .NET-Projekte und führt Schulungen in diesem Umfeld durch. Seine Hauptthemen sind dabei die Entwicklung von REST- bzw. SOAP-basierten Services und der Datenzugriff mittels Entity Framework. Darüber hinaus hat er zahlreiche Fachbücher und -artikel geschrieben.
mehr
Verfügbare Formate
E-BookPDF1 - PDF WatermarkE-Book
EUR49,99
E-BookEPUBePub WasserzeichenE-Book
EUR49,99
BundleGebunden
EUR49,99

Produkt

KlappentextDieser komplett überarbeitete Klassiker der C#-/.NET-Programmierung bietet Ihnen Know-how und zahlreiche Rezepte, mit denen Sie häufig auftretende Probleme meistern. Einsteiger erhalten ein umfangreiches Tutorial zu den Grundlagen der C# 12-Programmierung mit Visual Studio, dem Profi liefert es fortgeschrittene Programmiertechniken zu allen wesentlichen Einsatzgebieten der Programmierung mit .NET 8. Zum sofortigen Ausprobieren finden Sie am Ende eines jeden Kapitels hochwertige Lösungen für nahezu jedes Problem.
Das Buch gliedert sich in einen Grundlagenteil zur Programmierung, eine Einführung in die Desktop-Programmierung (WPF, MAUI (Multi-platform App UI), einen Technologieteil zu fortgeschrittenen Themen sowie einen Teil zur Web-Programmierung (ASP.NET Core, MVC, Razor, Web-API, Blazor).
Es ist der ideale Begleiter für Ihre tägliche Arbeit und zugleich - dank der erfrischenden und unterhaltsamen Darstellung - eine spannende Lektüre, die Lust macht, Projekte auch in der Freizeit umzusetzen.

Jürgen Kotz arbeitet seit über 20 Jahren als freiberuflicher Trainer, Berater, Entwickler und Autor. Mit .NET beschäftigt er sich seit der ersten Beta-Version. Mit seiner Firma PrimeTime Software in München entwickelt er .NET-Projekte und führt Schulungen in diesem Umfeld durch. Seine Hauptthemen sind dabei die Entwicklung von REST- bzw. SOAP-basierten Services und der Datenzugriff mittels Entity Framework. Darüber hinaus hat er zahlreiche Fachbücher und -artikel geschrieben.
Details
Weitere ISBN/GTIN9783446481787
ProduktartE-Book
EinbandartE-Book
FormatEPUB
Format HinweisePub Wasserzeichen
Erscheinungsjahr2024
Erscheinungsdatum06.05.2024
Auflage1. Auflage
Seiten1080 Seiten
SpracheDeutsch
Dateigrösse43618 Kbytes
Artikel-Nr.14686948
Rubriken
Genre9200

Inhalt/Kritik

Leseprobe


1 .NET 8


Mit .NET 8 ist im November 2023 die aktuellste Version des Microsoft Frameworks, das mittlerweile auf eine über 20-jährige Geschichte zurückblickt, erschienen. Seit der Version .NET 6 handelt sich dabei wieder um eine Version, welche das gesamte .NET-Universum wieder vereint, es gibt somit wieder ein one .NET.

.NET 8 ist eine Long Term Support -Version (LTS) von .NET (weil gerade Versionsnummer) und wird somit bis zum November 2026 mit Fehlerbehebungen und Sicherheitsupdates unterstützt.

Mit dem .NET Framework können völlig unterschiedliche Applikationstypen (Desktop, Web, Mobile) in unterschiedlichen Programmiersprachen (C#, VB, F# etc.) entwickelt werden und egal was man macht, man hat eine einheitliche Funktionsbibliothek, eben das .NET Framework.

Im Jahre 2016 erschien parallel zum .NET Framework ein sogenanntes .NET Core Framework, das speziell für plattformübergreifende Webentwicklung konzipiert war. Keine Bindung somit mehr an Windows, sondern zeitgemäße plattformübergreifende Möglichkeiten (auch für mobile Plattformen wie iOs und Android), um seine Applikationen zu entwickeln und auch zu deployen. Da es sich bei .NET Core um Open Source handelte, hat Microsoft hier auch bewiesen, dass Open Source für Microsoft nicht nur ein Lippenbekenntnis ist, sondern ein wesentliches Fundament in der weiteren Entwicklung des Softwaregiganten.

Eigentlich war die Wiedervereinigung des klassischen .NET Frameworks mit den .NET-Core-Versionen bereits 2020 mit der Version 5.0 geplant, jedoch musste diese dann aufgrund der Coronapandemie um ein Jahr verschoben werden.

Somit wurden erst mit .NET 6 diese beiden Entwicklungsstränge (.NET und .NET Core) zusammengeführt und man hat wieder ein einheitliches Framework - laut Microsoft auch das performanteste .NET -, um seine Anwendungen zu schreiben. Nur die Entwicklung von Desktopapplikationen mit Windows Forms oder WPF ist noch an Windows gebunden, alle anderen Anwendungsmöglichkeiten sind plattformübergreifend.

Mit den seitdem erschienenen Versionen .NET 7 und nun eben auch .NET 8 hat Microsoft vor allem in Bezug auf Performance viele Besserungen durchgeführt.

Vor allem im Bereich der JSON-Serialisierung wurden im Namensraum System. Text.Json in der aktuellsten Version .NET 8 viele Serialisierungsverbesserungen eingearbeitet (mehr dazu in Kapitel 17).
1.1 Microsofts .NET-Technologie
Ganz ohne Theorie geht nichts! In diesem leider etwas trockenen Abschnitt werden Einsteiger mit der grundlegenden .NET-Philosophie und den damit verbundenen Konzepten, Begriffen und Features vertraut gemacht. Dazu dürfen Sie Ihrem Rechner ruhig einmal eine Pause gönnen.
1.1.1 Zur Geschichte von .NET
Das Kürzel .NET ist die Bezeichnung für eine gemeinsame Plattform für viele Programmiersprachen. Beim Kompilieren von .NET-Programmen wird der jeweilige Quelltext in MSIL (Microsoft Intermediate Language) übersetzt. Es gibt nur ein gemeinsames Laufzeitsystem für alle Sprachen, die sogenannte CLR (Common Language Runtime), die die MSIL-Programme ausführt.

Die im Jahr 2002 eingeführte .NET-Technologie wurde notwendig, weil sich die Anforderungen an moderne Softwareentwicklung dramatisch verändert hatten, wobei das rasant wachsende Internet mit seinen hohen Ansprüchen an die Skalierbarkeit einer Anwendung, die Verteilbarkeit auf mehrere Schichten und ausreichende Sicherheit der hauptsächliche Motor war, sich nach einer grundlegend neuen Sprachkonzeption umzuschauen.

Mit .NET fand ein radikaler Umbruch in der Geschichte der Softwareentwicklung bei Microsoft statt. Nicht nur dass jetzt echte objektorientierte Programmierung zum obersten Dogma erhoben wird, nein, auch eine langjährig bewährte Sprache wie das alte Visual Basic wurde völlig umgekrempelt und die einst gelobte COM-Technologie wurde zum Auslaufmodell erklärt!



HINWEIS: Dem unerfahrenen Leser mögen einige Ausführungen im Laufe dieses Kapitels noch sehr fremd sein. Machen Sie sich deswegen keine Sorgen und wenn Sie etwas nicht verstehen, kommen Sie einfach am Ende des Buches nochmals hierher zurück.


Warum eine eigene Programmiersprache?
C# wurde ausschließlich für das .NET Framework konzipiert, wobei versucht wurde, das Beste aus den etablierten Programmiersprachen Java, JavaScript, Visual Basic und C++ zu kombinieren, ohne aber deren Nachteile zu übernehmen.

Da sich die etablierten Sprachen nicht ohne größere Kompromisse an das .NET Framework anpassen ließen, haben die .NET-Entwickler die Gelegenheit beim Schopf gepackt und eine maßgeschneiderte .NET-Sprache entwickelt. C# setzt auf dem .NET Framework auf und kommt ohne faule Kompatibilitätskompromisse aus, wie sie z.B. teilweise bei Visual Basic erforderlich waren.

Als konsequent objektorientierte Sprache erfüllt C# folgende Kriterien:

       Abstraktion: Die Komplexität eines Geschäftsproblems ist beherrschbar, indem eine Menge von abstrakten Objekten identifiziert werden können, die mit dem Problem verknüpft sind.

       Kapselung: Die interne Implementation einer solchen Abstraktion wird innerhalb des Objekts versteckt.

       Polymorphie: Ein und dieselbe Methode kann auf mehrere Arten implementiert werden.

       Vererbung: Es wird nicht nur die Schnittstelle, sondern auch der Code einer Klasse vererbt (Implementationsvererbung statt der COM-basierten Schnittstellenvererbung).

Microsoft konnte natürlich nicht über Nacht die COM-Technologie auf die Müllkippe entsorgen, denn zu viele Programmierer wären dadurch auf immer und ewig verprellt worden und hätten sich frustriert einer stabileren Entwicklungsplattform zugewandt. Aus diesem Grund hat COM auch in .NET noch einige Zeit sein Gnadenbrot erhalten.



HINWEIS: Das gesamte Office-Paket wird auch weiterhin mit COM programmiert und die Schnittstellen zur Office-Automatisierung stehen über COM, das aus .NET heraus aufgerufen werden kann, zur Verfügung. Mittlerweile gibt es sogenannte PIA (Primary Interop-Assemblies)-Schnittstellen, die einen Wrapper für die COM-Schnittstelle bieten.

Ja, und das Ganze funktioniert auch weiterhin mit .NET 8.


Wie funktioniert eine .NET-Sprache?
Jeder in einer beliebigen .NET-Programmiersprache geschriebene Code wird beim Kompilieren in einen Zwischencode, den sogenannten MSIL-Code (Microsoft Intermediate Language Code), übersetzt, der unabhängig von der Plattform bzw. der verwendeten Hardware ist und dem man es auch nicht mehr ansieht, in welcher Sprache seine Source geschrieben wurde.



HINWEIS: Es gibt über 50 verschiedene Programmiersprachen für .NET. Sogar das ehrwürdige COBOL besitzt eine Version für .NET!



Erst wenn der MSIL-Code von einem Programm zur Ausführung genutzt werden soll, wird er vom Just-in-Time(JIT)-Compiler in Maschinencode übersetzt1. Ein .NET-Programm wird also vom Entwurf bis zu seiner Ausführung auf dem Zielrechner tatsächlich zweimal kompiliert (siehe Bild 1.1).



HINWEIS: Für die Installation eines Programms ist in der Regel lediglich die Weitergabe des MSIL-Codes erforderlich. Voraussetzung ist allerdings das Vorhandensein der .NET-Laufzeitumgebung (CLR), die Teil des .NET Frameworks ist, auf dem Zielrechner.




Bild 1.1 Übersetzungsschritte einer .NET Programmiersprache


Eine der wesentlichsten Änderungen in .NET 7 mit einer Weiterführung in .NET 8 ist die Einführung eines AoT-Compilers (Ahead of Time). Bislang gab es in der .NET-Welt nur JiT-Compiler (Just in Time), die den erzeugten IL-Code (Intermediate Language-Code) während der Ausführung des Programms in nativen Maschinencode übersetzten. Bislang war es nur mit den Tools ngen.exe (klassisches .NET) bzw. crossgen.exe (.NET Core) möglich, nativen Maschinencode zu erstellen.

Nun hat man tatsächlich auch die Möglichkeit, bereits zur Compilezeit nativen Maschinencode zu erstellen.

Bei der Projektanlage (zumindest bei ausgewählten Projekttypen)) kann man bereits die Option native AOT-Veröffentlichung aktivieren anhaken (siehe Bild 1.2), und dadurch wird der folgende zusätzliche Eintrag in die Projektdatei geschrieben:



true



Dadurch aktiviert man die Option für die Ahead-of-Time Kompilierung.


Bild 1.2 Neue AOT-Veröffentlichungsoption bei der...


mehr

Autor

Jürgen Kotz arbeitet seit über 20 Jahren als freiberuflicher Trainer, Berater, Entwickler und Autor. Mit .NET beschäftigt er sich seit der ersten Beta-Version. Mit seiner Firma PrimeTime Software in München entwickelt er .NET-Projekte und führt Schulungen in diesem Umfeld durch. Seine Hauptthemen sind dabei die Entwicklung von REST- bzw. SOAP-basierten Services und der Datenzugriff mittels Entity Framework. Darüber hinaus hat er zahlreiche Fachbücher und -artikel geschrieben.