Das Testen von Programmcode ist ein zentraler Bestandteil der Software Entwicklung, wird aber leider in der Praxis gegenüber Features vernachlässigt und besonders unter Zeitdruck als erstes aufgegeben.
Dabei ist das Erstellen von testbaren System nicht schwierig wenn man einige Punkte beachtet.
Dieser Vortrag führt unter Verwendung von C# in die Erstellung von Unit Tests ein, zeigt auf wie ein typisches Programm testbarer gestaltet werden kann und erklärt wie das schreiben von Tests effektiv umgesetzt werden kann.
Ralf Beckers
Coding Dojo (cancelled)
Was ist ein Coding Dojo?
In einer kleinen Gruppe mit gemischten Skills wird eine abstrakte
Programmieraufgabe gelöst, das sogenannte Kata. Idealerweise mit
testgetriebenen Ansatz. Das Ziel ist nicht die Lösung, sondern der Weg dorthin, jeder profitiert von dem Wissen der anderen. Das funktioniert
sogar mit absoluten Anfängern. Die Experten und Sprecher verteilen sich gleichmäßig. Die Sprecher stellen ein Notebook mit Visual Studio oder sie verwenden den eigenen
Durch ein Rotationsverfahren sitzt jeder nur ein paar Minuten an der
Tastatur und lässt sich den Code diktieren. Die Teamgröße umfasst
ca. 5 Teilnehmer. Dauer ist max. 80 Minuten
Get together unter freiem Himmel
Drinks auf der ppedv Dachterrasse
Konferenz Dienstag 13. Oktober
Keynote: What’s new in .NET 5 and Visual Studio for .NET developers (Raum 1)
A preview of many new features from Blazor with WebAssembly, early previews of .NET 5 features, and all the latest and greatest productivity improvements in Visual Studio.
Steve Carroll
Moderne Windows-Desktop-Apps mit WinUI 3 (Raum 4)
Mit WinUI 3 entsteht gerade der neueste Vertreter von GUI-Technologien für Windows. Technisch werden die Xaml-Controls und die Xaml-Runtime der Universal Windows Platform (UWP) aus dem Betriebssystem entkoppelt und als Nuget-Paket bereitgestellt. Anders als vorher können nun auch klassische Desktop-Applikationen nach dem Win32-Modell mit diesem Framework entwickelt werden. Andere Eigenschaften wie etwa die Unterstützung für C++ Applikationen bleiben erhalten. In Summe hat WinUI das Potential, die Basis für moderne Windows-Desktopentwicklung zu werden.
Roland König
Ein Hologramm, das auszog, den Menschen zu helfen (Raum 1)
Holografie wird eigentlich immer nur mit Gaming oder coolen Show Cases in Verbindung gebracht. Die Präsentationen für die Hololens, Microsofts Mixed Reality (MR) Device, sind beeindruckend, nur leider sehen die Wenigsten einen wirklichen Anwendungsfall dafür. Das Gleiche gilt für die Augmented Reality (AR). Außer ein paar Apps, wie Pokemon Go oder dem virtuellen Maßband ist nicht viel praktisches damit entstanden. Ist die Zeit doch noch nicht reif oder wurden die Möglichkeiten nur noch nicht entdeckt?
Seit zwei Jahren habe ich die Möglichkeit mit Hilfe dieser Technologien wirklich nützliche Dinge zu entwickeln. Ob nun für die Hololens (Version 1) oder das Mobiltelefon. Nützlich, weil die Möglichkeiten allein auf dem Gebiet der Medizin (Neurologie) schier endlos erscheinen. Ich möchte in dieser Session ganz praktisch zeigen wie die Hololens als Hilfsmittel in der Therapie eingesetzt wird, wie das Mobiltelefon "wegweisend" sein kann und warum es großartig ist, mal über den ERP/CRM/CMS-Enterprise-Tellerrand hinauszuschauen.
Jan Felien
Async Await Internals (Raum 2)
Haben Sie sich auch schon gefragt, wie Async Await eigentlich intern funktioniert? In diesem Talk sehen wir uns im Detail die State Machine an, die der C# Compiler für async Methoden generiert, und verdeutlichen anhand von Speicherabbildungen, was genau beim Ausführen in der Runtime passiert. Ebenso werfen wir einen Blick auf den Performance-Overhead von async Methoden mithilfe von BenchmarkDotNet.
Kenny Pflug
Was läuft falsch mit Xamarin Forms? (Raum 1)
2016 als Xamarin gekauft, zwischenzeitlich zu beachtlicher Stabilität gebracht für Cross Platform Use Cases auf .NET Basis.
Und doch will Microsoft Xamarin einstampfen und durch NET Multi-Platform App UI (MAUI) ersetzen. Session gibt Über- und Ausblick auf .NET 6 und MAUI
Hannes Preishuber
Migrieren oder Neuentwickeln? Mit komplexen Anwendungen vom Desktop ins Web (Raum 4)
Die Neuentwicklung von geschäftskritischer Software dauert Jahre. Die aktuell vorhandene Software genügt nicht den fachlichen Anforderungen, ist vom Wettbewerber überholt worden, kann nicht als Software-as-a-Service bereitgestellt werden, läuft nicht auf einem Tablet und auch nicht auf den aktuellen Betriebssystemen, steht nicht als Webanwendung zur Verfügung, ist nicht responsive und dem Design sieht man das Alter an, …
Für ein Unternehmen sind die Herausforderungen einer Neuentwicklung oft nicht zu bewältigen. Auch erscheint es unsinnig, da ja viele bewährte Funktionsbereiche beibehalten werden könnten.
Hingegen verspricht die Migration der Software die Lösung aller Probleme. Funktioniert das wirklich?
Der Vortrag beschreibt, wie eine sehr umfangreiche geschäftskritische Software von Client-Server basierend auf .NET Winforms auf eine Browser basierende Webanwendung umgestellt werden kann, die zudem den neuesten Designkriterien entspricht. Anhand erfolgreich umgesetzter Projekte werden die eingesetzten Technologien und Werkzeuge, die Vorgehensweise aber auch die Herausforderungen solcher Projekte erläutert. Die technische Sicht wird anhand eines Beispiels ebenso verdeutlicht wie die betriebswirtschaftliche Bewertung anhand von realen Projekten. Schnell wird den Zuhörern klar, dass mit der Migration nicht nur das technische Ziel erreicht wird, sondern gleichzeitig auch die vorhandenen Entwickler in die neue Welt "mitgenommen" werden.
Thomas Althammer
Introducing .NET 5.0 (Raum 4)
NET 5 ist der nächste Schritt vorwärts von .NET Core zur „.NET One" Plattform, die in Boston 2018 vier Jahre nach der allerersten Version von .NET Core geboren wurde. In diesem Vortrag lernen Sie das neue .NET Framework kennen, das die besten Fähigkeiten von Mono/Xamarin, .NET Core und auch Unity vereinigt. Alle Entwickler und Architekten, die moderne Anwendungen konzipieren und entwickeln, sind herzlich eingeladen.
Damir Dobric
JSON Serialization in ASP. NET Core (Raum 2)
Sie gehören zu fast jedem HTTP-Aufruf dazu, dennoch bemerkt man sie kaum: JSON Dokumente. In diesem Talk blicken wir unter die Haube von ASP.NET Core und sehen uns genau an, wie JSON Serializer eingesetzt werden und arbeiten. Insbesondere vergleichen wir JSON.NET (Newtonsoft.Json) mit dem neuen System.Text.Json Serializer, der seit ASP.NET Core 3 der Standardserializer ist, bezüglich Features und Performance.
Kenny Pflug
Serverless Computing mit Azure - the good, the bad and evil parts (Raum 1)
Ich bin mir ziemlich sicher, du hast schon vom nächsten Schritt der Evolution in der Softwareentwicklung gehört. Vielleicht hast du sogar schon ein bisschen ausprobiert oder spielst mit dem Gedanken serverless Technologien im nächsten Projekt einzusetzen. Sei dir gewiss, es ist schwerer als erwartet. Seit 2016 entwickle ich mit Azure Functions, Microsofts Antwort auf die AWS Lambdas. Dabei blieb es nicht aus, dass ich in viele Fallen getappt bin. Um dir diese Schmerzen zu ersparen, möchte ich in diesem Talk über Auswege und Hintergründe zu den Problemen sprechen.
Jan Felien
Blockchain.Net (Raum 1)
Blockchain ist eines der Buzzwords der letzten Jahren. Abseits von Kryptowährungen bietet die Blockchain-Technologie einen interessanten neuen Baustein für Enwickler im Bereich von verteilten Datenstrukturen. Dieser Vortrag führt in die Grundlagen von Blockchains ein und erläutert Vor- und Nachteile - Chancen und mögliche Risiken. Anhand der theoretischen Grundlagen wird eine beispielhafte Implementierung in .NET beleuchtet. Zusätzlich werden fertige Projekte vorgestellt.
Stephan Hüwe
Komplexe Web-Anwendungen mit .NET Core realisieren: Rapid und Cross Plattform mit Wisej (Raum 4)
Desktop-Anwendungen sind out: Spätestens seit den Hamsterkäufen für VPN-Zugänge in den vergangenen Monaten ist allen IT-Verantwortlichen klar, dass an Web-basierten Unternehmensanwendungen kein Weg vorbei führt. Bei Ergonomie und Funktionalität stehen heutige Web-Anwendungen dem Desktop in nichts nach. Doch wie geht man die Entwicklung von komplexen Lösungen an, ohne sich in verschiedenen Technologien, Bibliotheken, Schnittstellen und Programmiersprachen zu verlieren? Der Ansatz von Wisej folgt den Ideen integrierter Entwicklungsumgebungen der letzten 25 Jahre. Auf Basis einer Single-Page-Anwendung können selbst komplexeste Anwendungen mit hunderten von Masken elegant fürs Web entwickelt werden. Dabei kommt man häufig um Faktor 5-10 schneller ans Ziel als mit klassischen Entwicklungsansätzen, ohne dabei die Flexibilität zu verlieren. In dieser Session bauen wir in nur 40 Minuten eine Web-Anwendung, die unter Windows, Linux, auf dem Raspberry Pi, als lokale Desktop-Anwendung unter Windows und als „connected App" auf iOS und Android lauffähig ist.
Thomas Althammer
C# im Browser mit ASP.Net Core Blazor(Raum 2)
Mit WebAssembly ziehen ganz neue Möglichkeiten in die ohnehin schon mächtige Web-Plattform ein. Eine davon ist die Entwicklung von C#-Applikationen direkt im Browser mithilfe von ASP.Net Core Blazor. Für C#-Entwickler entsteht damit ein sehr interessanter Weg zur Entwicklung von Web-Applikationen, da die Einarbeitung in JavaScript größtenteils entfällt. Doch auch unabhängig von dem Thema JavaScript ist Blazor interessant, denn es ermöglicht etwa das Teilen von C#-Code zwischen Server und Client.
Roland König
IoT im DevOps-Zeitalter: Wie funktioniert das? (Raum 1)
DevOps ist heute schon in vielen Unternehmen angekommen und hat sich dort auch etabliert. Für viele die sich gleichzeitig mit dem Thema IoT beschäftigen, stellt sich jedoch die Frage: Wie funktionieren DevOps und IoT zusammen? Die Provisionierung von Devices und auch das Ausrollen von Software soll auch hier nach DevOps-Prinzipien im besten Fall vollautomatisiert passieren. In diesem Vortrag wollen wir zeigen, wie DevOps-Praktiken und -Prinzipien sich mit IoT vereinen lassen. Am Beispiel von Azure IoT Edge werden unterschiedliche Szenarien durchgespielt, die in einem IoT-Umfeld relevant sind. Wie kommen Software-Updates kontinuierlich auf Devices und wie können Devices automatisiert gepflegt werden?
Thomas Rümmler & Tim Steiner
Windows Service mit .NET Core (Raum 4)