Speaker

Johan Smarius

Johan Smarius

Microsoft MVP on .NET and DevOps, Software Developer @ JMAC Software Solutions & Teacher @ Avans University of Applied Sciences

Tilburg, The Netherlands

Johan has been developing software since 1996 and has been using .NET since version 1.0. He has a lot of experience as lead developer and architect for .NET solutions. He has a passion for clean coding and test-driven development. As a developer and trainer at JMAC Software Solutions and as a teacher at the Avans University of Applied Sciences he spends his time architecting .NET solutions and coaching and teaching other developers and students in using Microsoft technologies. In his spare time, he teaches children how to program and is a trainer in first aid.

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • .NET 5
  • .net core
  • .NET Patterns & Practices
  • ASP .NET Core
  • C#.Net
  • .NET Backend
  • Blazor
  • gRPC
  • .net 6
  • .NET 7
  • .NET MAUI
  • .net 8
  • GraphQL
  • Visual Studio / .NET
  • ASP.NET Core Web API

Workshop building a GraphQL Server in .NET 8

With .NET we often use WebAPI services. These services are most of the time based on the Restful principle. However, for a few years, GraphQL has been gaining popularity. Listening to talks about a topic can give you a good overview of what a technology stack can do. But playing with new technology will help you gain far better insights. So in this workshop, you are going to build your own GraphQL Service in .NET 8 using Visual Studio or Jetbrains Rider. Because of the code, you will have to write, some basic understanding of .NET is required and of course, you do need your laptop with Visual Studio or Jetbrains Rider installed with of course .NET 8.

Will AI tools make you a better .NET developer?

ChatGPT caused a lot of motion around AI tools supporting the work process. Of cause developers is no exception in this. During this session, we will explore the AI tools available for .NET developers and answer the question of whether using these tools will make you a better .NET developer.

Kan ik met AI-tools betere .NET code te schrijven?

Met de komst van ChatGPT is er veel commotie losgebarsten rondom AI-tools om mensen te ondersteunen bij het uitvoeren van hun werk. Natuurlijk was voor ontwikkelaars bijvoorbeeld GitHub CoPilot al beschikbaar. In deze sessie gaan we samen op zoek of we met AI-tools betere .NET code kunnen schrijven. Aan het eind van de sessie heb je dan ook een idee of en hoe deze tools je werk eventueel eenvoudiger kunnen maken.

Clean architecture for a Blazor Application

Blazor is a great technology. Microsoft does not enforce any design principles for Blazor. When building a more extensive app some design approaches can be useful, however. In this talk, I will show you can apply clean architecture to a Blazor app.

GIT For TFS Users

A lot of projects still use TFS version control for source code management. In the last few years, many companies are migrating to GIT. In this talk, I will bring you up to speed on the important aspects of GIT, so that you can start applying GIT in your day to day work.

Practical Design Patterns for everyday development

Design patterns have been around for many years. In many projects, they are still used sparingly. In this talk, I will show you some practical design patterns in .NET you can easily use in your day-to-day development. Using these design patterns will give you the knowledge to write more solid code.

How to apply Test Driven Development in .NET

Test-driven development has been around for some time now. Many organizations still do not use the test-driven development approach. In this talk, we will discuss how you can get started with test-driven development in green field and legacy projects. Prior experience with test driven development is not required.

Test Driven Development in .NET Core

You like .NET Core and you have written some unit tests in the past. In this talk, I will show you how we can join these worlds. I will show you how you can test controllers, middleware, regular code and Entity Framework Core code.

Managing state in Blazor Applications

You have experimented with Blazor and now you are ready to build a real app with it. In a real complex app, you have to consider how you can manage state within your app. In this talk, I will cover some of the options you have and the advantages and disadvantages of every choice.

Introduction into Blazor

Blazor is an experimental technology to run C# in the browser. In this session, I will show what you can do with Blazor today. In this talk, I will build a small application to demo the different features of Blazor. I will also cover the differences between Blazor and Razor Components. After this session, you will have enough knowledge to start experimenting with Blazor on your own.

Hosting your .NET Core app on Heroku

Je hebt een kleine .NET Core Webapplicatie gemaakt die je graag in de cloud zou willen hosten, maar je hebt geen Azure of Google Cloud tot je beschikking. In deze sessie laat ik zien hoe je een .NET Core app kunt draaien op Heroku. Deze cloud leverancier maakt het mogelijk om een gratis app te hosten zonder dat je hiervoor een credit card nodig hebt,

gRPC voor .NET ontwikkelaars

In .NET Framework 4 hadden we WCF en WebAPI. .NET Core bood alleen maar ondersteuning voor WebAPI. Sinds .NET Core 3 en met de verbeteringen in .NET 5 hebben we hier ook een goede extra variant bij gekregen: gRPC. In deze sessie laat ik zien wat gRPC is en hoe je hier gebruik van kunt maken in .NET 5. Natuurlijk ga ik ook in op keuze tussen WebAPI en gRPC.

Blazor hosting options

Voor Blazor bestaan op dit moment twee varianten: de server side (Blazor Server) en client side (Blazor WebAssembly). In deze sessie gaan we in op de overeenkomsten en verschillen tussen deze twee varianten en geef ik wat tips om te kiezen voor een optie.

State management in Blazor

Je hebt al wat gehoord en misschien zelfs al wat gespeeld met Blazor. Nu zou je Blazor WebAssembly graag toe gaan passen in een echt project. Binnen een SPA zul je een keuze moeten maken op welke manier je lokaal state bij wilt houden. In deze sessie behandel ik een aantal opties hiervoor met daarbij ook de voors en tegens van elke keuze.

Using gRPC and Blazor WebAssembly together

Both gRPC and Blazor are relatively new to the .NET ecosystem. In this talk, I will show you how you can use these technologies together. You do not need any prior knowledge of gRPC for this talk. I will cover the basics first before diving into the integration of these technologies.

gRPC gebruiken in een Blazor WebAssembly applicatie

Binnen Blazor WebAssembly kunnen we makkelijk gebruik maken van WebApi services. Nu heeft WebApi wel wat overhead wat niet altijd wenselijk is. In deze sessie laat ik je zien hoe je Blazor kunt combineren met gRPC.

GraphQL in .NET

Binnen .NET maken we vaak gebruik van WebApi koppelingen. Vaak baseren we deze api's op het RestFul principe. Steeds meer wordt tussen systemen geen gebruik meer gemaakt van Rest, maar van GraphQL. In deze sessie laat ik je zien wat GraphQL nu is en natuurlijk hoe je een GraphQL service kunt maken en consumeren met .NET.

Minimal API in .NET 6

Sinds de release van .NET 6 kunnen we gebruik maken van minimal api's. In deze sessie laat ik je zien wat minimal api's zijn en natuurlijk hoe je die kunt maken in .NET.

gRPC in .NET

In .NET Framework 4 we could choose from WCF and WebAPI. In the beginning .NET Core only supported WebAPI. But in the new versions of .NET, we have a new player on the block: gRPC. In this talk I will show you what gRPC is and of course how you can build and consume a gRPC service in .NET.

GraphQL in .NET

With .NET we often use WebAPI services. These services are most of the time based on the Restful principle. However, for a few years, GraphQL has been gaining popularity. In this talk, I will show you what GraphQL is and how you can build and consume a GraphQL service in .NET.

Building cloud apps with .NET Aspire

At the DotNet Conference 2023, Microsoft announced a new tech stack for building and running multipart cloud applications on your local development machine: .NET Aspire. This talk will demo what .NET Aspire is and how you can build and run a cloud system with it.

Hands-on Test Driven Development in .NET

Test-driven development has been around for some time now. Many organizations still do not use the test-driven development approach. In this workshop, we practice test-driven development in a hands-on scenario. During this session, you can practice the techniques on your own laptop. A Visual Studio 2017 solution for the full .NET framework and .NET Core will be provided.

Building a MicroService with an Onion architecture

Building a web service in .NET is easy. Most of us are familiar with a layering architecture to split the code into service and data layers. In this session, I will present a different approach in which the domain objects are really at the center of your microservice,

Applying Domain Driven Development in .NET

As a .NET developer, you are used to working with objects and layers. On the internet you read and more about the (not so) new kid on the block: Domain Driven Development. In this session, I will talk you through the most important aspects of Domain Driven Development and I will show you a sample implementation in a .NET solution.

Defensive Coding in C#

In this session, I will show you have you can write better code that is easier to maintain and more resilient against unexpected situations.

Docker for .NET Developers

You have been developing in .NET for some time now and you have heard some stories about containerization and Docker. In this session, I will show you what Docker can do to help you build better software in both greenfield and brownfield applications.

Bergler Event

Domain Driven Design en (micro)services in de praktijk

June 2018 Utrecht, The Netherlands

SDN Event

Hands On Getting Started with Docker Container

March 2018 Zeist, The Netherlands

DotNet Saturday

Writing beter code with Visual Studio 2017

January 2018 Veenendaal, The Netherlands

Bergler Event

Coding styles in Visual Studio

March 2017 Utrecht, The Netherlands

Bergler Event

Workshop Test Driven Development

October 2016 Utrecht, The Netherlands

Johan Smarius

Microsoft MVP on .NET and DevOps, Software Developer @ JMAC Software Solutions & Teacher @ Avans University of Applied Sciences

Tilburg, The Netherlands