Konferenz Montag 12.Oktober

  • Keynote: Von .NET Standard zu .NET 5 (Raum 1)

    In diesem Vortrag wird Immo darueber sprechen, wie .NET 5 die cross-platform Entwicklung veraendert und was das fuer .NET Standard bedeutet.
    Immo Landwerth

  • Advanced Backend: Actor Programming Model mit dapr (Raum 1)

    Im Zeitalter von Microservices, Cloud und Machine Learning nimmt die Komplexität von Backend-Anwendungen extrem stark zu. Es wird zunehmend schwieriger, robuste, zuverlässige, skalierbare und einfach zu bedienende Systeme zu konzipieren. Dies ist eine Session über das Actor Programming Model mit dem sich komplexe Backend-Systeme einfacher konzipiert werden können. Die Teilnehmer lernen Actor Programming Model kennen. Mit Hilfe vieler Beispiele wird gezeigt, Actor Programming Model Framework auf Basis "dapr" Framework umgesetzt werden kann. Diese Session fokussiert Software Architekten und Entwickler mit dem Ziel, moderne Anwendungen zu entwerfen und zu implementieren, die als Teil eines komplexeren Systems über Cloud und Edge verteilt sind.
    Damir Dobric
  • Migration einer WPF-App auf .Net Core (Raum 4)

    Microsoft lässt die WPF nicht nur weiterleben, sie soll in .Net Core neue Höhen erleben. Aber als Praktiker frägt man sich schon: Lässt sich eine fertige WPF-Applikation auf .Net Core migrieren und gibt es dabei Stolperfallen? Erfahren Sie hier, wie eine umfangreiche WPF-Applikation mit UI-Framework (Mahapp Metro), MVVM Framework (Caliburn Micro), ORM-Mapping (EntityFramework 6) und etlichen Modulen auf .Net Core transportiert wurde.
    Andreas Daxer

  • Visual Studio 2019 IDE - Tipps and Tricks for .NET Developers (Raum 2)

    In dieser Demo-Session erfahrt ihr wieder eine Menge nützlicher Tipps und Tricks, welche euch das arbeiten mit Visual Studio 2019 erleichtern. Zudem stelle ich euch wieder einige spannenden Erweiterungen vor, die ebenfalls unglaublich nützlich sind. Es wird wieder spannend! Andreas Pollak
  • Kubernetes von A bis Z (Raum 1)

    Es ist die neue Antwort auf die Frage nach dem Leben, dem Universum und dem ganzen Rest. Wo sollen die neuen Applikationen laufen? Wohin sollen all die alten Anwendungen, die wir mühsam in Container gepackt haben? Wie skaliert das Ganze? Kubernetes! In diesem Vortrag beleuchten wir Kubernetes in seiner ganzen Bandbreite: Von Nodes, Pods und DaemonSets über Control Plane, Clusterauthentifizierung, das interne Kubernetes-Netzwerk und kubectl. Untermalt wird die Theorie mit praktischen Beispielen verschiedener Cluster-Konfigurationen in Azure, gewürzt mit einer Prise Helm als Abschluss. v
    Christian Vorhemus
  • Testing einer Web-App mit Jest und Selenium (Raum 4)

    Testen stellt einen zentralen Aspekt der Qualitätssicherung dar und sollte bereits parallel zur Entwicklung durchgeführt werden. In der Praxis jedoch wird dies oftmals sträflich vernachlässigt. Lernen Sie Teststrategien für Web-Applikationen mit einem Mix aus Theorie und Demos aus praktischen Beispielen kennen: Von Unit Test über Integration Test mit Jest bis End-to-end Tests mit Selenium. Wann ist welche Art von Test sinnvoll und wie werden diese in der Praxis am besten umgesetzt.
    Tim Steiner
  • Azure DevOps Build (Raum 2) Verschoben auf 12:40 statt grPC

    tba
    Christian Waha
  • Erstellen Sie einzelne Codebase-Apps für WebAssembly, iOS, Android und Windows (Raum 4)

    tba
    André Ruland
  • Machine Learning fuer .NET Entwickler (Raum 1)

    ML und KI werden ohne Zweifel immer wichtiger. Die Integration von ML/AI-Fähigkeiten in Software ist jedoch keine leichte Aufgabe. Die meisten Projekte in diesem Zusammenhang werden in Python prototypisch umgesetzt. ML.NET sollte dies ändern. In dieser Sitzung werden die Teilnehmer lernen, wie ML/AI durch die Verwendung des Microsoft Machine Learning .NET-Frameworks vollständig in .NET-Anwendungen implementiert werden kann, ohne dass sie die Geheimnisse komplexer Algorithmen erlernen müssen. ML.NET ist ein kostenloses, plattformübergreifendes und quelloffenes Machine-Learning-Framework für .NET-Entwickler. Diese Sitzung konzentriert sich auf die Grundlagen der Theorie hinter maschinellem Lernen und hilft beim Einstieg in ML.NET.
    Damir Dobric
  • Quantum Computing

    tba
    Christian Waha
  • What's new in C#9? (Raum 1)

    Wie alle .Net-Framework-Versionen hat auch .Net 5 etliche Erweiterungen des C#-Sprachumfangs im Gepäck. Erfahren Sie hier über Records, Init only setters, Top-level Statements, Pattern matching enhancements und andere faszinierende Neuerungen.
    Andreas Daxer
  • Blazor die Low Code LOB Lösung? (Raum 4)

    Auch das neue ASP.NET 5 Blazor ersetzt kein JavaScript. Aber man kann sehr produktiv mit vorhandenen .NET Know-How typische Geschäftsanwendungen bauen. Superkompakter Einstieg mit den relevanten Neuerung gegenüber 3.2.
    Hannes Preishuber
  • Azure (Raum 2)

    tba
    Ralf Richter

  • GraphQL in .NET (Raum 1)

    While REST is certainly a useful pattern to follow when designing backend APIs it also leaves a lot open and up to the implementation. The result is a mess that needs to be tackled by strict guidelines and frameworks for creating RESTful APIs. In this talk we look at GraphQL as an alternative for backend APIs. We explore Hot Chocolate as a viable GraphQL implementation for .NET.
    Manuel Römer
  • Erstellung von Unit Tests (Raum 4)

    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)

    tba
    Kevin Winter

Update

Session grPC von Kevin Winter entfällt, stattdessen findet Azure DevOps Build mit Chtistian Waha statt. (Einfach den Link im alten Timeslot verwenden)


Workshops Mittwoch 14. Oktober & Freitag 16. Oktober

  • .NET Architektur

  • C++11/14/17 in Visual Studio 2019

    Das neue Visual Studio 2019 ist Anfang April 2019 erschienen. Der C++-Compiler stetzt en aktuellen C++-17 Standard vollständig um. Die Fülle der Neuheiten seit C++11 ist überwältigend. Sie machen die Programmierung mit C++ einfacher, sicherer eleganter und effizienter. Wir nehmen die neue Version von Visual Studio zum Anlass, in diesem Workshop einen kompakten Überblick über C++-Neuerungen seit C++11 zu präsentieren. Themen wie Initalisiererlisten, override, constexpr, if constexpr, benutzerdefinierte Literale, Move-Semantik, Labda-Ausdrücke, Smart Pointer, variadische Templates, Multireading, parallele Algorithmen, Filesystem, Module (C++20) usw. werden umfassend dargestellt und an Beispielen illustriert.
    Richard Kaiser

    Jetzt anmelden! Jetzt virtuell anmelden!

  • C++ Move-Semantik im Detail

    Mit C++11 wurde Mode-Semantik als ein zentrales Thema eingeführt.
    Auch wenn dieses Thema "unter der Haube" in erheblichem Umfang genutzt wird, besteht bei vielen Programmierern immer noch ein "ungesundes Halbwissen" dazu. Und da Move-Semantik selbst die Programmierung von einfachsten Klassen mit String-Membern oder Containern beeinflusst, wird damit das Potential für bessere Performance regelmäßig verschenkt.

    Dieser Workshop gibt einen Einblick in die Geheimnisse der Move-Semantik und zeigt auf welchen Ebenen man am besten wie davon profitiert. Nach einer ersten Einführung werden die wichtigsten Themen mit den dafür vorgesehenen Sprachmitteln im Detail erläutert.
    Themen: rvalue referenzen, move(), forward<>(), auto&&, decltype(auto), noexcept, xvalues, move-only Typen.
    Nicolai Josuttis

    Jetzt anmelden! Jetzt virtuell anmelden!

  • Moderne C++ Design Patterns


    C++ Design Patterns haben sich über Jahrzehnte als sinnvolles Hilfsmittel erwiesen, um robuste, entkoppelte Systeme zu entwickeln. Allerdings hat sich in den letzten Jahren die Art und Weise, wie wir C++ verwenden, über Design nachdenken und Lösungen entwickeln, zutiefst verändert. Dieser Kurs erforscht modernes C++ Design und die modernen Formen der klassischen Design Patterns. Es vermittelt die wichtigsten Richtlinien und Regeln für nachhaltiges, wartbares und modernes Design, das in Hinblick auf Kopplung, Benutzerfreundlichkeit und Performance dem alten Design überlegen ist. Unter anderem wird es die folgenden Fragen beantworten:

    - Wie sieht guter C++ Code mit einem Minimum an Abhängigkeiten aus?
    - Warum versagt klassisches, auf Vererbungshierarchien basiertes C++ Design so häufig?
    - Welche Vorteile bietet Design basierend auf "Value Semantics"?
    - Wie werden die klassischen Design Patterns in modernem C++ realisiert?
    - Was sind die Alternativen zu den klassischen Design Patterns?

    Nach diesem Kurs werden die Teilnehmer ...
    - ... einen Eindruck von den modernen Alternativen der klassischen Design Patterns haben;
    - ... Wissen über die neuesten Design-Techniken gewonnen haben;
    - ... verstehen, wie std::function, std::any, und Ranges funktionieren;
    - ... die üblichen Fallstricke bei Vererbungshierarchien vermeiden;
    - ... die Wichtigkeit der "Value Semantics" verinnerlicht haben.

    Inhalt:
    - (De-)Motivation: Die Risiken von Vererbungshierarchien
    - Klassische Design Patterns (Command, Prototype, Strategy, Observer, Visitor, Factory, Decorator, Template Method)
    - Moderne C++ Design Patterns (Type Erasure, Expression Templates, Policy Based Design, CRTP)

    Klaus Iglberger

    Jetzt anmelden! Jetzt virtuell anmelden!