A Reactive Take on Pokémon GO with Spring Reactive

These last few years Reactive Programming has found the hearts of a significant amount of developers. The fact that Spring 5 will incorporate the possibility of programming Reactive Systems in its core framework through the Spring Reactive project is a very positive development (pun intended) and shows the the paradigm-shift towards declarative programming.

The session starts with the basics of Reactive Programming (in a nutshell) after which we’ll quickly move on to the specifics of the Spring Reactive project. The revolutionary game Pokémon GO is then used as a practical use case to show the concept and power of Reactive Programming by rebuilding functionality of the game using Spring Reactive. But before we can dive into what we will develop and how, we need to talk about Streams.

A probably familiar phrase in the Reactive Programming context is "Everything is a Stream." So, what is a Stream? If you’re familiar with Futures, which abstract the delivery of a single value asynchronously in the future, and Iterables, for accessing a sequence of items which have an unknown length, then you can think of a Stream as essentially being a hybrid of the two: a mechanism for asynchronously receiving multiple items.

Streams are key to Reactive Programming. And as a Pokemon trainer in the game you might not be aware of it, but GPS locations, randomly appearing Pokémons, and throwing pokeballs are just a few examples of some of those Streams. So join us in our adventure of rebuilding Pokémon GO as a Reactive application and we will show you a way of building applications in a declarative way, as opposed to imperatively, resulting in more responsive and resilient applications.

Dienstag, 28.03.2017
11:00 - 11:40
Quantum 1+2
Enterprise Java & Cloud

Riccardo Lippolis

JDriven BV
Riccardo is a pragmatic software engineer with the capability to solve complex problems. Although he strives to be language agnostic, e.g. by experimenting with new technologies and principles, he is experienced in enterprise Java software development. Besides software development, his interests also lie in other aspects of the software engineering process: requirements elicitation, software design and software testing.

Bas Knopper

Bas is Managing Partner @ JCore and a Passionate Java Developer. In his spare time, after the little ones are fast asleep, he enjoys coding Evolutionary Algorithms, fidgeting with the Twitter or the FitBit API, playing with RxJava or Spring Web Reactive and experimenting with (other) latest Java developments.

Weitere Vorträge, die Sie interessieren könnten

Java EE 8 - Java EE Security API
Quantum 1+2
12:00 - 12:40
Rudy De Busscher
Bean Validation 2.0 - Support für Java 8 und mehr
13:00 - 13:40
Gunnar Morling
Fallacies of Distributed Computing: What If Networks Fail?
14:00 - 14:40
Bert Ertman
Serverless Application - Who the heck needs a Server?
15:00 - 15:40
Lars Röwekamp
Going forward with Java EE Next?
16:00 - 16:40
David Delabassee