Voxxed Days Luxembourg 2019
from Thursday 20 June to Friday 21 June 2019.
Mainly Java Software Engineer / Consultant focused on distributed systems development adopting ReactiveManifesto and ReactiveProgramming techniques. Open Source geek, the active contributor of ProjectReactor/RSocket/Reactive-GRPC. Along with that, Public speaker and Author of the book "Reactive Programming is Spring 5.0":https://www.packtpub.com/application-development/reactive-programming-spring-50
One of the challenging aspects of building modern games is making it multiplayer. Can we use HTTP there? We can, but we will not get a real-time game. Can we use WebSockets / TCP? Of course, we can and we should! However, developing API on top of WebSocket is another challenge that no one wants to solve, but everyone does. Existing libraries do not give us a required variety of communication models. Today we will show you the way to tackle this - using RSocket. RSocket is an application protocol that makes developing any networked application as easy as pie. To prove that, we are going to build a multiplayer Pac-Man, and during the process compare different ways of making a multiplayer game.
The more popular Reactive Programming/Libraries become, the more often we have to deal with those techniques and solutions. Sometimes we have to deal just with smoothies API of Reactive Extensions, sometimes we have to dive into the internals of those libraries, or sometimes we have to build our own implementation. Nevertheless, understanding of the basics patterns, behavior that is hidden inside the most of Reactive Libraries, Tool-Kits / Best Practice might simplify our – life with / debugging of / implementation of Reactive Library.
Usually reading a tone of papers and blogs about the internals of Reactive Libraries, specific rules of Reactive Streams Specification or simply grasping the source code becomes hardcore. Hence, we will summarize all important by implementing own
Publisher<> in Java.
What will we do to learn? We will:
- Remind the sense and importance of Reactive Streams Specification;
- Naively implement our first solution and fail of course;
- Find toolkit which will help in verification of the implementation;
- Iteratively follow all the rules of Reactive Streams and implement the correct solution;
- Compare our solution with modern one