We will give introduction to widely used programming techniques for comparison with reactive principles. Explanation of Reactor/Proactor design pattern and various dispatchers. Elaboration on events and streams, their comparison, use cases and combination with functional programming. Advantages and challenges of reactive approach. Introduction of industry standard libraries such as RxJava and RxJS. Live demo in Project Reactor (Spring) that includes practical application of reactive principles in both front-end and back-end focusing on scalability.