Reactive Programming
Functional Programming Reactive ProgrammingThe 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