ZIO 2
Please rate the course
Course short description
Become a productive Scala engineer. Develop high-performance applications. Write pure functional programming. Design composable, testable software. Grow as an engineer in this ultimate guide to ZIO 2.0.
ZIO is a Scala toolkit that allows us to write powerful, concurrent, and high-performance applications in Scala using pure functional programming.
Zay What?!
ZIO describes what it means to perform an "effect" in your code. It is a powerful model that allows us to compose any kind of actions, deal with parallelism, concurrency and coordination, all strongly typed with Scala's unparalleled type system.
On top of the main ZIO "effect" type, the ZIO library comes with powerful tools built on battle-tested practices and design patterns, so we can write more easily composable code.
The end result is powerful applications, fewer bugs, more expressive and easily understandable code, and most importantly, more peace of mind and productivity for us as Scala developers.
This is what you'll learn in this course.
This course will give you everything you need to be productive with ZIO:
- You'll make the difference between pure/impure FP and you'll know what "effects" are
- You'll know how to build applications and composable programs with the ZIO effect
- You'll be able write parallel and concurrent code with ZIOs, Fibers and the tools on top of them
- You'll be able to manage pinpoint program control, with careful interruption mechanisms
- You'll be able to write concurrent, purely functional programs with coordination primitives
- You'll be able to design your own concurrency tools based on the built-in ones from ZIO
- You'll manage resources in a purely functional way with the acquire-release pattern
- You'll be able to write asynchronous code and compose synchronous and asychronous effects seamlessly in the same code
- You'll use battle-tested practices for dependency injection and separation of concerns
- You'll be able to test everything with powerful tools including property-based testing
After this course, you'll know everything you need to work with ZIO in your project.
Most importantly, you'll get timeless skills that you'll carry with you forever, regardless of which language or tool you'll end up using:
- You'll deeply understand the practical benefits of pure functional programming in day-to-day projects
- You'll get a new perspective on what it means to write composable code
- You'll internalize language and framework-agnostic ideas about code organization, design patterns, programs-as-values and more
- You'll become more productive and happier as a developer