• Steve Carroll

    What’s new in .NET 5 and Visual Studio for .NET developers

    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.

  • Florian Bader

    Testing einer Web-App mit Jest und Selenium

    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.

  • Simon Brand

    C++ Keynote:Live Compiler Development with Cross-Platform Tooling

    Can a cross-platform compiler be written from scratch, live on stage, in an hour? It can with the right tools!
    In this session I will talk about many challenges in cross-platform C++ development and how tools can help: what options do I have if my production environment is different than my dev box? How can I efficiently build and debug CMake projects? How can I easily find and acquire open sourced libraries? Come to see what Visual Studio 2019, CMake, WSL2, vcpkg and more have to offer to make cross-platform C++ development easier.
    Even if you're not using these tools, there's still a lot to make you think about how your tools can help you in your development, so come along!

  • Neno Loje

    YAML Pipelines: Automatisierte Builds und Deployments für Azure DevOps und GitHub

    Mit Azure Pipelines betreibt Microsoft eine der größten Build-Server-Infrastrukturen der Welt, mit der wir unsere Anwendungen unter MacOS, Linux und Windows bauen können sowie in Docker-Containern. Und noch besser: das Ganze ist kostenlos für Open-Source-Projekte (und wird auch bereits von einigen eingesetzt). Für die Steuerung der Builds und Deployment setzt man bei Azure Pipelines auf einen neuen Standard: YAML-Dateien. In diesem demo-lastigen Vortrag erstellen wir gemeinsam eine automatisierte Pipeline von 0 auf 100 mit GitHub und Azure Pipelines.

  • Alexander Meijers

    Intelligent applications with Kinect for Azure (English)

    In this session we will explain how you can use Azure Machine Learning in combination with Kinect for Azure to recognize objects inside a Windows desktop app. We will explain how Kinect for Azure works, What tools are available, how to connect to the device and how you can start building your intelligent apps. Live demos will be used during the session with an actual Kinect for Azure device.

  • Florian Rappl

    GraphQL in .NET

    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.

  • Adam Ralph

    Finding your service boundaries - a practical guide (English)

    We know it's useful to split up complex systems. We've seen the benefits of modular deployment of microservices. Dealing with only one piece of code at a time eases our cognitive load. But how do we know where to draw the service boundaries? In complex business domains, it's often difficult to know where to start. When we get our boundaries wrong, the clocks starts ticking. Before long, we hear ourselves say "it would be easier to re-write it".

  • Thomas Rümmler
    & Florian Bader

    IoT im DevOps-Zeitalter: Wie funktioniert das?


    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?

  • Christian Vorhemus

    Kubernetes von A bis Z

    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.

  • Sebastian
    Kleinschmager

    ASP.NET Core und Entity Framework Core Possibly Good Practices
                  Eine simple Variante von wart- und testbarer Struktur für Web Backends


    Wer hat diese Probleme nicht schon mal in einem Projekt erlebt? Die Repository und Service Klassen in der eigenen Anwendung werden zu groß. Die Datenbank fühlt sich an wie ein Fremdkörper, und Änderungen an Schema und Daten sind nicht so leicht in einen modernen Entwicklungsprozess zu integrieren. Ständig entstehen Fehler bei Datenbank-Deployments und das Release liegt mal wieder in Schutt und Asche. Mit Entity Framework Core liefert uns Microsoft einen modernen objektrelationalen Mapper, der es uns ermöglicht, die Datenbank sauber in den Entwicklungs- und Deploymentprozess zu integrieren, sowie mit einfachen Mitteln die gefürchteten datenbankbasierten Tests umzusetzen.
    Ich zeige in diesem kurzen Vortrag, wie ein moderner Entwicklungsprozess unter Nutzung von Entity Framework Core und ASP.NET Core die Datenbank sauber in den Arbeitsfluss integriert und auch das Testen und Deployment vereinfacht. Dabei lasse ich viele Best Practices aus meiner Projekterfahrung einfließen.

  • Neno Loje

    Azure DevOps (ehem. TFS) als Cloud-Dienst nutzen: eine gute Idee?

    Zeit und Geld (aber vor allem Zeit!) sparen, wer möchte das nicht? Insofern bietet es sich an, zu prüfen, ob man Dinge nicht auslagern kann, die andere besser (oder günstiger) tun können und die nicht Kernbestandteil der eigenen Aufgaben sind. Damit wären wir auch schon beim Thema: den Azure DevOps Server/TFS zu Microsoft outsourcen. Seit einigen Jahren betreibt Microsoft den Azure DevOps Server/TFS fix und fertig in der Cloud – unter dem Namen Azure DevOps Services – mit allem was dazu gehört: Versionsverwaltung mit TFVC und Git, Work Items, Build und Release, Packages und Testplänen. Dies ist die gleiche Umgebung, die Microsoft für die eigene Softwareentwicklung verwendet, z. B. für die Entwicklung von Windows, Visual Studio oder Azure. In diesem Vortrag gibt Neno Loje einen Überblick über Azure DevOps, zeigt auf wo aktuell die Chancen und Limitationen bei der Nutzung des Cloud-Dienstes liegen und welche Möglichkeiten es gibt seine Daten von einem selbst-betriebenen TFS/Azure DevOps Server umzuziehen.

  • Sebastian Achatz

    Terraform - Cloudinfrastruktur als Teil der Anwendung

    In den Zeiten von Continuous Integration und Continuous Deployment ist es für moderne cloudbasierte Anwendungen wichtig, Infrastruktur effizient und effektiv als Teil der Gesamtlösung in einer CI / CD Pipeline vollautomatisiert auszurollen. Ziel sollte es sein, Infrastruktur als Teil der Anwendung zu erstellen, zu verwalten und zu pflegen. Terraform von HashiCorp ermöglicht genau das. Diese Session gibt einen Überblick wie das geschehen kann anhand einer Vielzahl von Beispielen.

  • Gergely Kalapos

    State of Observability in .NET - Tracing applications in the cloud

    Egal ob man Applikationen in der Cloud oder im eigenen Rechenzentrum betreibt, Telemetriedaten aus einem Produktionssystem sind für den Erfolg eines Softwareprodukts ausschlaggebend. Cloud und Microservices machen Telemetrie und Tracing allerdings noch wichtiger: Ein HTTP 5xx im Browser sagt uns nicht, wo genau ein Request schiefgegangen ist; mit Dutzenden von Cloud-Services den Fehler zu finden ist gar nicht so trivial. Zum Glück stellt .NET sehr gute Features bereit, um Tracingsysteme zu bauen – ein Beispiel dafür ist DiagnosticSource. Zusätzlich gibt es auch eine W3C-Initiative für einen Tracingstandard namens Trace Context sowie Open-Source-Initiativen mit .NET-Unterstützung, wie zum Beispiel OpenTelemetry.
    Was heißt das für .NET-Entwicklerinnen und -Entwickler, die Applikationen für die Cloud bauen? Diese Session zeigt, wie DiagnosticSource, Distributed Tracing und OpenTracing funktionieren. Das ist aber noch nicht die ganze Geschichte: Die vorher genannten Tools bieten eine Lösung, um Daten zu sammeln und zu korrelieren. Zusätzlich möchte man natürlich diese Tracing- und Telemetriedaten auch visualisieren. Der zweite Teil der Session beschäftigt sich daher mit Observability und Monitoringtools, die die Telemetriedaten auch sammeln, speichern und visualisieren. Vorgestellt werden Application Insights, Jaeger und Elastic APM.

  • Michael Klemm

    Parallelität mit OpenMP in C++

    OpenMP?  Ist das nicht dieses Programmiermodell mit Compiler-Direktiven aus dem letzten Jahrtausend?  Wenn Sie das glauben, dann ist dieser Vortrag genau das richtige für Sie.  OpenMP ist seit 1997 das Programmiermodell der Wahl für die Parallelisierung von Anwendungen und Algorithmen aus unterschiedlichsten Bereich, insbesondere aber im High Performance Computing.  Im letzten Jahrzehnt hat sich das Programmiermodel von OpenMP stark verändert.  Mit einem mächtigen Tasking-Modell und heterogener Programmierung haben modernste Programmierkonzepte in OpenMP Einzug gehalten.  In diesem Vortrag zeigen wir, welche Evolution sich bei OpenMP vollzogen hat und zeigen anhand einfacher Beispiele, die Funktionsweise der neuen OpenMP-Direktiven.  Als Schmankerl für C++-Programmierer zeigen wir einen Ausblick auf die derzeit in Entwicklung befindliche OpenMP-Syntax mit C++-Attributes.  Der Vortrag schließt mit einem kurzen Ausblick auf die Zukunft von OpenMP.

  • Matthias Wedemeyer

    Debugging C++ Apps mit Beispielen

    Fehlersuche ist nach wie vor ein Thema. So gut wie keine Software ist fehlerfrei und die Suche nach einem Fehler kann Minuten, Stunden oder auch Tage in Anspruch nehmen. Gerade bei Fehlern, deren Suche längere Zeit in Anspruch nimmt ist eine gute Vorbereitung und erweiterte Techniken der Fehlersuche entscheidend für den Erfolg. Anhand von verschiedenen Fehlersituationen zeigt diese Session, mit welchen Techniken bei der Fehlersuche vorgegangen werden kann und mit welchen Vorbereitungen in Code selbst die Suche nach Fehlern effektiver gestaltet werden kann.

  • Frank Mertens

    QML für eingebettete Systeme: Beste Praxis und Zukunftsaussichten

    Die QML führte ein neues Konzept zur Kodierung von erstaunlich reichhaltigen interaktiven Benutzeroberflächen ein: die Eigenschaftsbindungen. Mit dem Aufkommen von Qt 6 können die in QML-Anwendungen verwendeten Konzepte direkt in C++ angewendet werden. Aber QML wird auch in den kommenden Jahren die primäre Benutzeroberflächensprache von Qt bleiben. Ihre einfache Anwendung, geringe Lernkurve und dennoch relativ hohe Leistung machen sie zu einer idealen Sprache für Front-End-Entwickler im Umfeld eingebetteter Systeme.

  • T.Roy

    Tour of Windows Defenses

    The Windows PC continues to be the primary productivity device in enterprises small and large alike. Due to its ubiquity, the Windows desktop remains the preferred platform for attackers to gain initial foothold into an organization. Microsoft has been busy adding defenses to the platform as the security posture of the Windows PC remains of paramount importance to organizations worldwide. This talk will the you through a whirlwind tour of the defenses that have been added to Windows from Windows XP all the way through to the latest version of Windows 10 to improve the security of applications. Learn about the meaning of acronyms such as DEP, ASLR, ACG, ASR, CFG, CET etc. and the types attacks they are designed to thwart.

  • Matthias Wedemeyer

    Fachliche Mandantenfähigkeit in C++ Anwendungen

    Schreiben Sie Software, mit welcher Ihre Kunden verschiedene Mandanten/Kunden/Vertriebe verwalten? Benötigen Ihre Kunden in Ihrer Software verschiedene Lösungen für ihre Mandanten? Und Sie wollen keinen Code der Form „wenn Mandant gleich 1 mach dies, wenn Mandant = 2 mach jenes"? Dann sind Sie in dieser Session genau richtig. Wir stellen Ihnen eine Lösungsmöglichkeit vor, wie Sie fachliche Unterschiede zwischen Mandanten abbilden und zugleich neue Mandanten ergänzen können, ohne die bestehende Implementierung anzufassen. Machen Sie Ihre Anwendungen nicht nur technisch sondern auch fachlich Mandantenfähig.

  • Nicolai Josuttis

    Features trickreich kombinieren

    C++17 ist ein Sammelsurium von vielen kleinen Verbesserungen an der Sprache und der Bibliothek von C++. Wie mächtig dieser Umstieg ist, merkt man aber erst, wenn man all die neuen Features miteinander kombiniert.
    Dieser Vortrag zeigt an einigen konkreten Beispielen auf, wie die Kombination von C++17-Features zu einer bemerkenswert verbesserten Programmierung führen kann. Er weist aber gleichzeitig auch auf die ein oder andere damit verbundene Gefahr hin.

  • Rainer Grimm

    Die Revolution geht weiter

    Mit C++20 steht wieder ein richtiger großer C++-Standard vor der Tür. Concepts, Contracts, die Ranges Bibliothek, Coroutinen und Module werde die Art und Weise, wie wir modernes C++ programmieren, grundlegend neu definieren. Concepts sind eine Erweiterung von Templates von C++, mit denen sich semantische Kategorien für die Menge der zulässigen Datentypen definieren lassen. Dank Concepts wird das Anwenden und Definieren von Templates deutlich einfacher und ausdrucksreicher. Contracts definieren Interfaces für Funktionen. Dies Interfaces können aus Vorbedingungen für die Funktionsargumente, Nachbedingungen für das Ergebnis einer Funktion und Zusicherungen während der Ausführung der Funktion bestehen. Die Ranges Bibliothek erlaubt es, die Algorithmen der Standard Template Library direkt auf den Container anzuwenden, diese mit dem aus der Unix-Shell bekannten Pipe-Operator zu verknüpfen und diese auf unendlichen Datenströmen zu definieren. Mit Couroutinen unterstützt C++20 die asynchrone Programmierung. Damit werden sich in C++20 kooperatives Multitasking, unendliche Datenströme, Event-Schleifen oder auch Pipelines elegant umsetzen lassen. Module stellen eine Alternative zu Header-Dateien dar und versprechen viele Verbesserung. Die Trennung von Header- und Sourcecodedateien aufzulösen, Präprozessor-Anweisungen zu eliminieren, bessere Kompilierungszeiten zu erzielen und einfacher Pakete zu schnüren.

  • AJ Orians

    Template Specialization + More

    C++ is all about abstractions. And C++ has been doing more to help with generic programming. Some notable examples are templates, concepts, auto return type deduction, CTAD, and much more. You are encouraged to use these features where it makes sense but you should know there is a way to specialize your code for a certain type when needed. There are several ways to do this which I'll show them. This way you can write your programs to simultaneously work for any type and for a specific type(s). With this you'll be able to solve problems using some of the most modern features of C++.

  • Georg Zitzlsberger

    Eine Einführung in die Parallelisierung und Optimierung Tiefer Neuronaler Netze

    Tiefe Neuronale Netze (engl.: Deep Neural Networks - DNNs) erleben dank großer Datenmengen und leistungsfähiger Hardware seit fast zehn Jahren ein Revival. Sie sind heute in vielen Bereichen im Einsatz oder vielversprechende Kandidaten für zukünftige Entwicklungen. Dabei haben sie sich auch jenseits der reinen Bild- oder Signalverarbeitung behauptet und gelten auch in traditionellen Domänen wie dem High Performance Computing (HPC) als aussichtsreiche Technologien.

    Wir geben eine Einführung in die Funktionsweise der DNNs und deren Training im Hinblick auf die verschiedenen Parallelisierungsansätze, wie Daten-, Modell- und Hybrid-Parallelisierung. Da das Training von DNNs ein zeitintensiver Prozess ist, beschäftigen wir uns auch mit der Skalierung über mehrere Rechenknoten und -beschleuniger (wie GPUs) hinweg. Wir zeigen diese Parallelisierungen anhand der bekanntesten und am meisten eingesetzten Frameworks, wie TensorFlow, Caffe und PyTorch.

    Die Inferenz, also die Verwendung eines eingelernten DNNs, stellt andere Anforderungen an die Ausführung als das Training. Wir gehen daher auch auf Optimierungen für die Inferenz ein, die mittels Nvidia TensorRT oder Intel Deep Learning Deployment Toolkit (OpenVino) möglich sind. Wir berücksichtigen eine breite Palette verschiedener Zielarchitekturen wie CPUs, GPUs, FPGAs, VPUs etc. Vorkenntnisse

    * Der Vortrag richtet sich an angehende Entwickler und Anwender von DNNs. Lernziele
    * Entwickler erfahren State-of-the-art-Ansätze zur Parallelisierung des Trainings Tiefer Neuronaler Netze.
    * Anwender finden in den Optimierungswerkzeugen von Nvidia und Intel Hilfestellung zum Vorbereiten eingelernter DNN auf verschiedene Zielarchitekturen.

  • Isaac Abraham

    SAFE Stack: Functional Web Programming with ASP .NET Core

    The SAFE stack is an free, open-source, flexible end-to-end, functional-first stack for cloud-ready web applications that emphasizes type-safe programming. It allows you to develop web applications almost entirely in F#, without needing to compromise and shoehorn your codebase into an object-oriented framework or library, and without needing you to be an expert in CSS or HTML to create compelling, rich client-side web applications.

    This talk will demonstrate the value proposition behind the SAFE Stack, illustrating how we can develop unified client / server applications that take the best features of F# and apply them throughout the stack - such as type safety, succinctness, productivity and performance - whilst still integrating naturally with technologies and frameworks such as ASP .NET, JavaScript and React.

    You'll see how to create data driven server-side APIs quickly and easily, and then surface those APIs in a rich, responsive web application running in the browser, using a combination of .NET and JavaScript libraries and tools that come together beautifully. Lastly, we'll see how easily SAFE apps can be hosted on a cloud platform such as Microsoft Azure.

  • Kerry Lothrop

    UWP für Android, iOS und Web

    Seit gut zwei Jahren gibt es einen neuen Player im Bereich der Cross-Platform-Entwicklung, der für .NET-Entwickler von Interesse sein kann.

    Die Macher von Uno haben sich das Ziel gesetzt, Code, der für UWP-Anwendungen geschrieben wurde, unter Android und iOS lauffähig zu machen. Dadurch bietet Uno den einfachsten Einstieg in die Cross-Platform-Welt für UWP-Entwickler und steht damit in direkter Konkurrenz zu Xamarin.Forms.

    Spätestens seit der Unterstützung von WebAssembly als neue Zielplattform sollte dem Erfolg von Uno nichts mehr im Wege stehen.

    In diesem Vortrag entwickeln wir gemeinsam eine Uno-Anwendung und vergleichen die Ergebnisse auf den verschiedenen Plattformen. Ob man sich die Entwicklung einer eigenen Web-App in Zukunft sparen kann?

  • André Ruland

    Erstellen Sie einzelne Codebase-Apps für WebAssembly, iOS, Android und Windows

    TBA

  • Kerry Lothrop

    UWP für Android, iOS und Web

    Seit gut zwei Jahren gibt es einen neuen Player im Bereich der Cross-Platform-Entwicklung, der für .NET-Entwickler von Interesse sein kann.

    Die Macher von Uno haben sich das Ziel gesetzt, Code, der für UWP-Anwendungen geschrieben wurde, unter Android und iOS lauffähig zu machen. Dadurch bietet Uno den einfachsten Einstieg in die Cross-Platform-Welt für UWP-Entwickler und steht damit in direkter Konkurrenz zu Xamarin.Forms.

    Spätestens seit der Unterstützung von WebAssembly als neue Zielplattform sollte dem Erfolg von Uno nichts mehr im Wege stehen.

    In diesem Vortrag entwickeln wir gemeinsam eine Uno-Anwendung und vergleichen die Ergebnisse auf den verschiedenen Plattformen. Ob man sich die Entwicklung einer eigenen Web-App in Zukunft sparen kann?

  • Ralf Westphal

    Radikale Objektorientierung

    Objektorientierung ist Mainstream. Aber Objektorientierung ist deshalb nicht einfach.

    Objektorientung hat Produktivitätssteigerung versprochen. Aber Objektorientierung hat deshalb nicht zu wandelbarem Code geführt.

    Es ist Zeit, den Kater zu spüren, den die „objekttrunkenen" Tage hinterlassen haben. Objektorientierung verdient eine kritische Auseinandersetzung und eine Rückbesinnung – aus der sie erfrischt und gestärkt hervorgehen kann.

    Der Vortrag führt zurück an die Wurzel der Objektorientierung. Er hebt die ursprüngliche Vision des Vaters des Begriffs ins Bewusstsein, um von dort aus eine einfache und zeitgemäße, aber auch zuweilen radikal andere Objektorientierung zu entwickeln.

    Andere Programmiersprachen als die heutigen sind dafür zum Glück nicht nötig. Alle notwendigen Mittel sind da. Sie müssen nur aus einem anderen Blickwinkel eingesetzt werden.

  • Andreas Fertig

    C++ Insights: Sehen Sie Ihren Quellcode mit den Augen eines Compilers

    C++ ist keine einfache Sprache. Während insbesondere mit den neuen Standards seit C++11 mehr Arbeit vom Entwickler auf den Compiler verlagert werden kann, wird dies manchmal als undurchsichtig empfunden. Zu wissen, was eine Ausdruck bewirkt, ist nicht nur bei der Entwicklung eingebetteter Software von entscheidender Bedeutung. Beim Unterrichten von C++ ist es auch wichtig, wenn Fragen wie "Wann und Wo sind Operatoren beteiligt?" Oder "An welchen Stellen erhalten wir eine implizite Typkonvertierung?" aufkommen.

    Es gibt Tools wie Matt Godbolt's Compiler Explorer oder Clang's AST Dump, die uns die resultierende Ausgabe zeigen können. Die resultierende Ausgabe ist jedoch nicht C++. Dies macht es für einen C++-Entwickler schwerer zu verstehen. Als C++-Programmierer ist meine erste Sprache schließlich C++. Das Clang-basierte Tool C++ Insights (https://cppinsights.io) behebt dies. Ziel ist es, den Quellcode mit den Augen eines Compilers durch eine Source-to-Source-Transformation zu zeigen, bei der die resultierende Ausgabe immer noch C++ ist. All die absichtlich verborgenen Dinge werden sichtbar.

    In diesem Vortrag werde ich vorstellen, wie C++ Insights Sie beim Unterrichten oder Programmieren unterstützen kann. Wir werden einen Blick auf die Implementierung von C++ Insights werfen, um zu sehen, wie es implementiert ist und über die Grenzen des Programms sprechen.

  • Andreas Pollak

    Visual Studio 2019 IDE - Tipps and Tricks for .NET Developers

    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!

  • Isaac Abraham

    Go Pro on .NET with F#

    F# has been a part of .NET since the early days of the Framework, yet it still is relatively unknown for a large majority of the .NET developer community. But why is this? With the rise of .NET Core, and with C# going through a large transition at the moment with features such as tuples, pattern matching and non-nullability all influenced from F#, it's never been easier to start using F# today.

    This talk will cover the discuss the fundamentals of functional programming, cover the basic value proposition of F#, illustrate the philosophy and key language features behind the language, with examples comparing equivalent solutions in C# and F#, as well as looking at the typical life cycle for F# developers.

    We'll finish up with some demos that show use cases of F# and how, when using a language that has functional programming at its heart, you can "level up" and achieve large boosts in both productivity and developer satisfaction.

  • Cosmin Dumitru

    Visual Studio Code mit Native(C++) Entwicklung und Package Management

    In dieser Vortrag wird gezeigt wie mit neue Open Source Editor – Visual Studio Code , C++ Entwickler können multi- Plattform Applikationen entwickeln  und liefern on premise sowie on Cloud mit den Mitteln und Möglichkeiten des aktuellen C++ Standards.  Lernen Sie auch wie DevOp Automation und Testing in mit Docker Containers eine groß Produktivität  Vorteil bringen kann durch ganze ALM /DevOps Prozess für Native Applikationen.

  • Stephan Hüwe

    Blockchain.Net

    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.

  • Kenny Pflug

    JSON Serialization in ASP. NET Core

    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.

  • Andreas Daxer

    Migration einer WPF-App auf .Net Core

    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.

  • Cosmin Dumitru

    Modern C++ Applikationen mit Desktop Bridge & C++/WinRT/.NetCore

    Bereits seit einiger Zeit wird über  Desktop Bridge  gesprochen. In dieser Vortrag wird dargestellt wie mit neue  Desktop Bridge & C++/WinRT , Moderne C++ Applikationen entwickelt werden können sowie auch Migration und Integrationsszenarien für alte Applikationen.  Die moderne C++ Bibliothek stellt eine Standard c++ sprach Projektion für die Windows-Runtime bereit die Bequemlichkeit einer Klasse-basierte API  hat oder  Fähigkeit  "unter-the-Hood" für die , die mehr Kontrolle  wollen.