Learn ZIO Framework and its basics

What you will learn

ZIO basic concepts using Zio 1.0

ZIO 1.0

Error Handling and Resource Handling using ZIO

Concurrency using ZIO

Description

ZIO is a Scala next-generation framework that allows us to write powerful, concurrent, and high-performance applications in Scala using pure functional programming.

ZIO basically describes an “effect” in the code. It gives you a powerful model that allows us to compose any kind of action, and deal with parallelism, concurrency, and coordination, using the scale powerful type-system.

The ZIO library also comes with powerful tools built on real-life practices and design patterns, so we can write more easily composable and performant code.

With a beginner-friendly yet powerful functional core, ZIO lets developers quickly build best-practice applications that are highly scalable, testable, robust, resilient, resource-safe, efficient, and observable.

In this course we covered the basic concepts for ZIO-like effects, then deep dive into how to handle errors and resources and finally touch on the concurrency concept i.e fibers in ZIO.

Modules –


Get Instant Notification of New Courses on our Telegram channel.


The first module covers the basic introduction and how to set up the project on your local and run the hello world example.

The second module talks about effects, chaining effects, and different operations.

The Third module talks about the error handing techniques used in ZIO. Here we can see live examples of how to use Either, fallbacks and folding mechanisms, or catching and retrying techniques.

The Fourth module talks about handling the resource covering the topics like acquiring and release of actions, finalizing, etc.

The Fifth video section then lets you understand the concepts of Fibres, a parallel and concurrent processing toolkit in zio.

The end result is powerful applications.

English
language

Content

Introduction

Introduction
1.1. Environment Setup
1.2. Hello World

Basic Operations

2.1. What are the Effects?
2.2. Read and Write to console
2.3. Chaining effects
2.4. Sequential operators

Handling Errors

3.1. Either
3.2. Catching (catchAll and catchSome)
3.3. Fallback and Folding
3.4. Retrying

Handling Resources

4.1. Finalizing
4.2. Acquire and Release action for resource

Concurrency

5.1 Fibers
5.2 Forking
5.3 Scheduling Fibers (Using fork and join together)

Conclusion

Conclusion