Speaker

Roland König

Roland König

Freelance Software Architect | Trainer | Focus on C#, .NET, TypeScript, Avalonia UI, ASP.NET Core, Vue.js

Freier Softwarearchitekt | Trainer | Fokus auf C#, .NET, TypeScript, Avalonia UI, ASP.NET Core, Vue.js

Erlangen, Germany

Actions

Software development has been my passion since I was 13 years old. During my professional career from 2007, I was able to gain experience in software development, software architecture and, from 2017, in team leadership. In 2021, I finally decided to become self-employed, offering services in the field of software architecture and training for software developers. My focus is on Microsoft technologies such as C# / .NET, TypeScript and Azure. For more information, please visit https://www.rolandk.de

Roland König ist freier Softwarearchitekt. Er ist seit 2007 in der Welt von C# / .NET zuhause und beschäftigt sich seit 2012 intensiv mit aktuellen Trends im Umfeld moderner Softwarearchitektur. Sein Leistungsspektrum reicht von Softwarearchitektur-Beratung und Softwareentwicklung bis hin zu Entwickler-Trainings und der Führung von Projektteams. Er engagiert sich ebenso stark in der Community als Sprecher auf Konferenzen, Autor für Fachzeitschriften, Blogger, Entwickler für OpenSource-Projekte und als Co-Organisator des DCN (Digital Craftsmanship Nordoberpfalz).

Area of Expertise

  • Information & Communications Technology
  • Transports & Logistics

Topics

  • .NET
  • Azure
  • C#
  • ASP.NET Core
  • Avalonia UI
  • Vue.js
  • TypeScript

Sessions

Emulators and simulators for testing en de

Everyone is familiar with testing and test automation. We often use automated unit and integration tests, and usually also test at system level to a lesser extent. However, these methods can reach their limits as soon as they are coupled with external systems. It is necessary to represent interrelated processes that affect your own system from the outside. Imagine a list of requests from several external systems (e.g. from an app, a website and/or IoT devices), which together form a process. At this point, simulators and emulators can help to support both individual and mass tests. In this presentation, we will look at possible scenarios and discuss how they can be used in our own projects.

Hexagonal architecture with ASP.NET Core en de

There are numerous architecture patterns for structuring software. Several of these can be summarized under the term Clean Architecture, which differ in detail but have the same goal: Separation of concerns. Ideally, this results in software that is easy to maintain and expand in the long term.

This presentation will not only cover the key concepts of Clean Architecture but will also provide an in-depth look at the Hexagonal Architecture pattern. We will also discuss the advantages and disadvantages of this approach with a practical example.

From WPF to the cross-platform UI Framework Avalonia en de

For a long time, WPF was considered the standard when it came to developing (Windows) desktop applications with C#. Even today, the framework is still very popular despite the limited further development by Microsoft and the platform lock-in to Windows. It is time to think about possible alternative frameworks. These can be used as the target of a migration of existing applications or as the basis for new applications.

One of these alternatives is the cross-platform UI framework Avalonia. It has many similarities to WPF - It uses XAML, prefers the MVVM pattern, comes with a visual designer and can be adapted to individual visual requirements using styles. It runs on all common desktop platforms (Windows, Linux, macOS) and also supports Android, iOS and browsers (via WebAssembly). It also offers various improvements over WPF, such as CompiledBinding.

In this presentation, I would like to discuss the differences between WPF and Avalonia and show how WPF developers can easily get started with the framework. I will also bring along various sample applications that we can use to discuss the advantages and disadvantages of the framework.

Modern service-to-service communication with gRPC en de

There are many technologies for service-to-service communication. SOAP web services were considered the standard for a long time. Today, REST or at least REST-like web services have established themselves in the vast majority of application scenarios. The gRPC protocol developed by Google is a more recent alternative to service-to-service communication and has been available in ASP.NET Core since version 3.0. The protocol is based on HTTP (at least version 2), relies on a contract-first development model, enables bidirectional communication between two services, reduces the load on the network using binary serialization, is available in many common programming languages and offers many other advantages.

In this presentation, we will start with an introduction to gRPC with ASP.NET Core and continue on looking at the differences to REST web services and SOAP web services based on WCF (Windows Communication Foundation). We will also discuss the advantages and disadvantages of gRPC, which should be known before using it in practice.

Say goodbye to passwords with the help of passkeys en de

Weak passwords are still one of the biggest problems in the security environment. Multifactor authentication increases security, but also makes the login process more time-consuming for the user. So what can be done? One possible alternative is to completely eliminate passwords with the new Passkeys standard. Big players like Google, Microsoft, Apple and many others are behind Passkeys and are integrating them into their products.

In this presentation, we will take a closer look at the concepts behind Passkeys and compare it with older authentication variants. We will also look at the advantages and disadvantages of Passkeys.

Containerization of .NET applications en de

Linux-based containers have become the de facto standard when it comes to operating .NET applications. Containers allow a high degree of flexibility from an operational perspective. They come with everything needed to run the application and only require a container runtime on the server. Containers can therefore be executed almost anywhere, whether in the cloud, in your own data center or on the development machine. In this presentation, we will look at the many options available for containerizing .NET applications.

Containerisierung von .NET Applikationen en de

Container auf Linux-Basis haben sich als defacto-Standard durchgesetzt, wenn es um den Betrieb von .NET-Applikationen geht. Container ermöglichen aus Betriebssicht eine hohe Flexibilität. Sie bringen alles mit, was zum Ausführen der Applikation benötigt wird und setzen lediglich eine Container-Runtime am Server voraus. Container können damit fast überall ausgeführt werden, egal ob in der Cloud, im eigenen Rechenzentrum oder auf der Entwickler-Maschine. In diesem Vortrag beschäftigen wir uns im mit den vielen Stellschrauben, die es bei der Containerisierung von .NET-Applikationen gibt.

Einsatz von Emulatoren und Simulatoren für realitätsnahe Tests en de

Test und Testautomatisierung sind jedem ein Begriff. Häufig verwenden wir dafür automatisierte Unit- und Integrationstests, i. d. R. in kleinerem Umfang auch Tests auf Systemebene. Sobald mit fremden Systemen gekoppelt wird, können diese Methoden allerdings an Ihre Grenzen stoßen. Es gilt, zusammenhängende Prozesse abzubilden, welche von außen auf das eigene System einwirken. Man stelle sich eine Liste von Requests mehrerer fremder Systeme vor (z. B. von einer App, einer Website oder/und von IoT-Geräten), welche zusammen einen Prozess bilden. An dieser Stelle können Simulatoren und Emulatoren helfen, sowohl bei einzelnen Tests, als auch bei Massentests zu unterstützen. Im Rahmen dieses Vortrags werden wir uns mögliche Einsatzszenarien anschauen und diskutieren, wie sie sich in eigenen Projekten verwenden lassen.

Hexagonale Architektur mit ASP.NET Core en de

Zur Strukturierung von Software existiert eine Vielzahl von Architekturmustern. Unter dem Begriff Clean Architecture lassen sich mehrere davon zusammenfassen, welche sich zwar im Detail unterscheiden, beim Ziel allerdings auf das gleiche setzen: Trennung von Verantwortlichkeiten. Im Ideal wird dadurch eine Software erreicht, die sich langfristig einfach warten und erweitern lässt.

In diesem Vortrag möchte ich neben den allgemeinen Prinzipien der Clean Architecture ebenso anhand des Architekturmusters „Hexagonal Architecture“ ins Detail gehen. Über ein Praxisbeispiel werden wir zudem Vor- und Nachteile dieser Vorgehensweise diskutieren.

Mithilfe von Passkeys endgültig von Passwörtern verabschieden en de

Schwache Passwörter sind nach wie vor eines der großen Probleme im Security-Umfeld. Multifaktor-Authentifizierung erhöht zwar die Sicherheit, macht den Login-Prozess für den Anwender allerdings auch aufwändiger. Also was tun? Eine mögliche Alternative ist, mit dem neuen Standard „Passkeys“ komplett auf Passwörter zu verzichten. Die großen Hersteller Google, Microsoft, Apple und viele andere stehen hinter Passkeys und bauen eine entsprechende Authentifizierungs-Variante in ihren Produkten ein. Die Zeit ist also mehr als Reif, dass auch wir als Entwickler uns mit dem neuen Standard beschäftigen.

In diesem Vortrag schauen wir uns die Konzepte hinter Passkeys genauer an und stellen es älteren Authentifizierungs-Varianten gegenüber. Ebenso beleuchten wir gemeinsam Vor- und Nachteile von Passkeys.

Moderne Service-zu-Service Kommunikation mit gRPC en de

Technologien zur Service-zu-Service Kommunikation gibt es viele. SOAP Webservices galten lange Zeit als Standard. Heute haben sich in den allermeisten Anwendungsszenarien REST oder zumindest REST-artige Webservices durchgesetzt. Das durch Google entwickelte gRPC ist eine jüngere Alternative zur Service-zu-Service Kommunikation und ist in ASP.NET Core seit Version 3.0 verfügbar. Das Protokoll basiert auf HTTP (mindestens Version 2), setzt auf ein Contract-first Entwicklungsmodell, ermöglicht bidirektionale Kommunikation zwischen zwei Services, reduziert die Last auf dem Netzwerk mittels binärer Serialisierung, steht in vielen gängigen Programmiersprachen zur Verfügung und bringt noch viele weitere Vorteile.

In diesem Vortrag durchlaufen wir eine Einführung in gRPC mit ASP.NET Core, schauen uns die Unterschiede zu REST-Webservices und SOAP-Webservices auf Basis der WCF (Windows Communication Foundation) an. Zudem diskutieren wir Vor- und Nachteile von gRPC, welche vor dem praktischen Einsatz von gRPC bekannt sein sollten.

Von WPF zum Cross-Plattform UI Framework Avalonia en de

WPF galt lange Zeit als Standard, wenn es um die Entwicklung von (Windows) Desktop-Applikationen mit C# ging. Selbst heute ist das Framework trotz der geringen Weiterentwicklung durch Microsoft und der Plattformbindung an Windows noch sehr beliebt. Dabei ist es höchste Zeit, über mögliche Alternative Frameworks nachzudenken. Diese können als Ziel einer Migration von bestehenden Applikationen oder als Basis für neue Applikationen verwendet werden.

Eine dieser Alternativen ist das Cross-Plattform UI Framework Avalonia. Es weißt sehr viele Ähnlichkeiten zu WPF auf. Es setzt ebenso auf Xaml, bevorzugt das MVVM-Pattern, bringt einen visuellen Designer mit und lässt sich über Styles individuellen optischen Bedürfnissen anpassen. Daneben läuft es stabil auf allen gängigen Desktop-Plattformen (Windows, Linux, macOS) und unterstützt auch Android, iOS und Browser (via WebAssembly). Zudem bringt es verschiedene Verbesserungen gegenüber WPF mit, wie etwa ein CompiledBinding.

In diesem Vortrag möchte ich auf die Unterschiede zwischen WPF und Avalonia eingehen und zeigen, wie WPF-Entwickler einen leichten Einstieg ins Framework finden. Ebenso bringe ich verschiedene Beispiel-Applikationen mit, mithilfe derer wir uns mit Vor- und Nachteilen des Frameworks auseinandersetzen können.

Modern cross-platform applications with .NET and Avalonia UI en de

There is a long list of possible frontend frameworks that .NET development teams can choose from. One very exciting candidate is Avalonia UI. Originally launched as a cross-platform alternative to WPF for Windows, macOS and Linux, it now also offers support for mobile platforms (Android, iOS), for the browser (via WebAssembly) and, as a unique selling point, also for embedded Linux. Due to the many supported platforms and the comparable approach to rendering, Avalonia UI could also be called the flutter for .NET developers.

Similar to the older WPF, Avalonia UI relies on XAML, it prefers the MVVM pattern, can be adapted to individual visual requirements via styles, has a special focus on performance and is well integrated into current IDEs such as Microsoft Visual Studio and JetBrains Rider. These features make the framework especially interesting for teams that have prior knowledge of WPF or Windows.Forms or are even looking for a migration path for these applications into the cross-platform world.

In this session I would like to show what Avalonia UI has to offer today. I will also bring along various sample applications that we can use to discuss the advantages and disadvantages of the framework.

Moderne Cross-Plattform Applikationen mit .NET und Avalonia UI en de

Es gibt eine lange Liste möglicher Frontend-Fameworks, zwischen denen .NET-Entwicklungsteams wählen können. Ein sehr spannender Kandidat ist Avalonia UI. Ursprünglich als Cross-Plattform Alternative zu WPF gestartet, bietet es heute neben den bekannten Desktops von Windows, macOS und Linux auch Unterstützung für mobile Plattformen (Android, iOS), für den Browser (via WebAssembly) und als Alleinstellungsmerkmal auch für Embedded Linux. Aufgrund der vielen unterstützen Plattformen und des vergleichbaren Ansatzes beim Rendering, könnte man Avalonia UI auch das Flutter für .NET-Entwickler nennen.

Avalonia UI setzt ähnlich wie das ältere WPF auf XAML, es bevorzugt das MVVM-Pattern, lässt sich über Styles individuellen optischen Bedürfnissen anpassen, hat ein besonderes Augenmerk auf Performance und ist gut in aktuelle IDEs wie Microsoft Visual Studio und JetBrains Rider integriert. Diese Eigenschaften machen das Framework besonders für Teams interessant, die Vorkenntnisse in WPF oder Windows.Forms haben oder sogar einen Migrationspfad für diese Anwendungen in die Cross-Plattform Welt suchen.

In dieser Session möchte ich zeigen, was Avalonia UI stand heute zu bieten hat. Ebenso bringe ich verschiedene Beispiel-Applikationen mit, mithilfe derer wir uns mit Vor- und Nachteilen des Frameworks auseinandersetzen können.

Put yourself into the role of product owner en de

As software developers, we love digging into technical problems and solving them. We also like to work on making our code more robust and maintainable. But to what extent does this make sense? As technically focused people, we can easily lose sight of whether a technical improvement actually brings at least the same long-term value as the effort put into it.

In this presentation, we will look at one way of sharpening our own sense of this. I have a strong technical focus, but I also like to put myself into the role of product owner. Why? In addition to technical skills, it also improves the ability to assess the value of development activities. In this presentation, we will look at when such a role change makes sense, how it can succeed, what pitfalls there are and what benefits it brings for you and for the project.

Als Entwickler in die Rolle des Product Owners schlüpfen en de

Als Softwareentwickler lieben wir es, uns in technische Problemstellungen einzugraben und sie zu lösen. Ebenso tüfteln wir gerne daran, unseren Code robuster und wartbarer zu machen. Doch bis zu welchen Grad ist das sinnvoll? Als technisch fokussierte Personen verlieren wir leicht den Blick darauf, ob eine technische Verbesserung tatsächlich langfristig mindestens den Wert bringt, der als Aufwand hineingesteckt wurde.

In diesem Vortrag beschäftigen wir uns mit einer Möglichkeit, den eigenen Sinn dafür zu schärfen. Obwohl ich als leidenschaftlicher Entwickler einen sehr technischen Fokus habe, schlüpfe ich ebenso gerne in die Rolle des Product Owners. Warum? Neben den technischen Fähigkeiten lässt sich so auch die Fähigkeit verbessern, den Wert von Entwicklungstätigkeiten einzuschätzen. Wir werden uns in diesem Vortrag damit beschäftigen, wann ein solcher Rollenwechsel Sinn ergibt, wie er gelingen kann, welche Fallen es dabei gibt und welche Vorteile er für einen selbst und für das Projekt bringt.

As .NET developer on the MacBook en de

The vast majority of .NET developers are working on the Windows platform. This is no coincidence, as the older .NET Framework was tied to Windows. With the introduction of .NET Core and modern .NET, this has changed - .NET from Microsoft has become cross-platform capable. Also, there are two powerful IDEs, Visual Studio Code (incl. C# DevKit) from Microsoft and Rider from JetBrains, which also support multiple platforms. This means that there is no longer much to stop us .NET developers from switching to another platform. Or is there?

In 2022, I took the step away from Windows to macOS. In this presentation, I would like to talk about my experiences. What works well, what works badly and what works even better. We will also look at which other tools for .NET developers have made it onto other platforms - and which haven't (yet).

Als .NET Entwickler auf dem MacBook en de

Die allermeisten .NET Entwickler sind auf der Windows Plattform zuhause. Das ist kein Zufall, denn das ältere .NET Framework war an Windows gebunden. Mit der Einführung von .NET Core und dem modernen .NET hat sich das verändert - .NET aus dem Hause Microsoft ist Cross-Plattform fähig geworden. Gleichzeitig gibt es mit Visual Studio Code (inkl. C# DevKit) von Microsoft und Rider von JetBrains zwei mächtige IDEs, die ebenfalls mehrere Plattformen unterstützten. Damit spricht für uns .NET Entwickler nicht mehr viel dagegen, auf eine andere Plattform zu wechseln. Oder etwa doch?

In 2022 habe ich den Schritt weg von Windows hin zu macOS gewagt. In diesem Vortrag möchte ich über meine Erfahrungen dabei sprechen. Was funktioniert gut, was schlecht und was sogar besser. Ebenso schauen wir uns an, welche anderen Tools für .NET Entwickler es auf andere Plattformen geschafft haben – und welche (noch) nicht.

Finding and fixing .NET memory leaks en de

Thanks to the garbage collector, we as .NET developers rarely have to deal with memory leaks. But when we do, it can be quite difficult to find and solve them. First of all, it is often a matter of recognizing the type of problem. Is it actually in the managed memory? If so, which part of our coding or dependencies is responsible?

In this talk, we will look at different types of memory leaks. How they occur, which tools we can use to detect them and how we can fix them. Along the way, we will also learn how the garbage collector works and why sometimes something looks like we have a memory leak that actually isn't one.

.NET Memory-Leaks finden und beheben en de

Dank des Garbage Collectors müssen wir uns als .NET Entwickler selten mit Memory-Leaks beschäftigen. Wenn es aber dann doch soweit ist, kann es durchaus schwierig werden, diese zu finden und zu lösen. Zunächst einmal geht es häufig darum, die Art des Problems zu erkennen. Liegt es überhaupt im verwalteten Speicher. Wenn ja, welche stelle unseres Codings oder unserer Abhängigkeiten ist dafür verantwortlich?

In diesem Vortrag beschäftigen wir uns mit verschiedenen Arten von Memory-Leaks. Wie sie entstehen, mit welchen Tools wir sie erkennen und wie wir sie beheben können. Ganz nebenbei lernen wir auch, wie der Garbage Collector funktioniert und warum manchmal etwas wie ein Memory-Leak aussieht, was tatsächlich keiner ist.

Roland König

Freelance Software Architect | Trainer | Focus on C#, .NET, TypeScript, Avalonia UI, ASP.NET Core, Vue.js

Erlangen, Germany

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top