Reactive Programming

Functional Programming Reactive Programming

The course has a good balance of interactive lectures and hands-on exercises. The attendees are expected to pair-up and work on the lab exercises. The instructor will assist the attendees as they work on the exercises. The objective of the course is for the attendees to gain an in depth practical knowledge of the concepts so they can put them to immediate use on real projects.

Reactive programming is gaining a lot of attention. A combination of some fundamental approaches—functional programming, event based programming, loose coupling, and error resilience—to mention a few have come together as a set of tools to create highly responsive and performant applications. This course will help developers get up to speed about creating reactive applications.

Reactive Applications

  • Why a new/different programming model?
  • What's reactive programming?
  • Reactive Manifesto
  • Characteristics of Reactive Applications
  • State of software technologies
  • The next logical step
  • Exercise

Functional Programming and Reactive

  • Functional Style
  • Function Composition
  • Lazy Evaluations
  • Thinking of Streams
  • Streams of data
  • Relationship to Reactive Programming

APIs for Reactive Programming

  • Observable
  • Beyond the observer pattern
  • Features of observables
  • Iterators vs. observables
  • Propagating Signals and errors
  • Encapsulation of service
  • Decoupling of clients
  • Exercise

Client-Server Interactions

  • Synchronous
  • Asynchronous
  • Working with data
  • Unsubscribing
  • Exercise

Graceful Error Handling

  • Failure as first class citizen
  • Communicating Failures
  • Graceful termination
  • Handling Failures
  • Resuming service on Failure
  • Communication model
  • Exercise

Working with Streams

  • Starting
  • Filters Skips and Takes
  • Supporting different client needs
  • Exercise

Programming Asynchrony

  • Subscription options
  • Threading and threading options
  • Schedulers
  • Working with schedulers
  • Exercise

Configuring for Speed

  • Stream Generation
  • Varied Speed of Clients
  • Back pressures
  • Using Producers
  • Exercise

Reactive at Large

  • Reactive Systems
  • Reactive Languages
  • Architecting Reactive Systems
  • Exercise

Tid

09:00 - 16:15

Emner

Reactive Applications

Functional Programming and Reactive

APIs for Reactive Programming

Client-Server Interactions

Graceful Error Handling

Working with Streams

Programming Asynchrony

Configuring for Speed

Reactive at Large