Zionomicon

Master the dark art of creating scalable, type-safe, concurrent apps with ZIO.

About

About

ZIO is a new Scala library that helps you rapidly build resilient and efficient concurrent apps that are easy to understand and test, and which don't leak resources, deadlock, or lose errors.

Now ZIO creator John A. De Goes has teamed up with core contributors Adam Fraser and Milad Khajavi to deliver the ultimate guide to making you a concurrent programmer of extraordinary power.

In a single book that you can work through in just 4 weeks, Zionomicon will give you the in-demand skills to excel at one of the fastest growing libraries in the Scala ecosystem.

"ZIO is a pragmatic but no-compromise tool to architect, modify, and test my software in a way that feels like Lego blocks. It makes my job more fun and helps me suffer less."

Aris VlasakakisCredit Karma

"Last year, we started using ZIO, as a superior alternative to tagless-final and Monad transformers. ZIO is a powerful effect monad with a lot of combinators, interop with important libraries, and new integrations with OpenTracing and logging. ZIO allowed us to focus on our business logic, making it easier to understand and test, and there is no doubt ZIO will be of the significant parts of Scala infrastructure over the coming years!"

Jan de GrootDHL

"ZIO dramatically improved the structure, clarity, and performance of our code."

Jeremy SmithNetflix

Why ZIO

ZIO is an innovative and next-generation library

for rapidly building modern applications that are highly-concurrent, efficient, asynchronous, and fully testable.

ZIO applications don't leak resources, they don't deadlock, and they don't lose errors. Leveraging the power of Scala's type system, ZIO applications are correct-by-construction, with statically-verified error behavior, requiring less work and fewer tests to achieve a given level of application quality.

Highlights

Easy

Easy

Learn ZIO with a highly-accessible, friendly writing style that beginners love, with no confusing jargon and no requirements beyond a working knowledge of Scala.

Concurrency

Concurrency

Become a concurrency wizard overnight, able to ship deadlock-free, asynchronous, highly-concurrent code, powered by transactions and cancelable conditions.

Error Management

Error Management

Learn how to use ZIO to statically enforce error behavior, how to sandbox defects at the edge of your application, and how to diagnose problems in production.

Resource Safety

Resource Safety

Learn how to create applications that never leak resources, whether those resources are files, web sockets, queues, threads, database or queue connections, or even fibers.

Streaming

Streaming

Learn how to build massively concurrent, high-performant streaming applications expressed using compact, beautiful, declarative, and reactive data pipelines.

Architecture

Architecture

Learn how to design compositional, modular, and testable architecture for ZIO applications using layers and type-inferred dependency injection powered by the Scala compiler.

Testing

Testing

Learn how to easily and robustly test concurrent and time-based code with ZIO's powerful testkit, with solutions for flakiness, platform-specific customizations, and more.

Comprehensive

Comprehensive

Learn ZIO with a highly-accessible, friendly writing style that beginners love, with no confusing jargon and no requirements beyond a working knowledge of Scala.

Practical

Practical

Learn the practical side of functional Scala from a book that deliberately avoids category theory and fancy Scala features, focusing on pragmatic solutions to real world problems.

Authoritative

Authoritative

Written by the creators of ZIO and ZIO Test, Zionomicon contains insider-knowledge of how to get the most from ZIO—knowledge you simply can't get anywhere else.

Skill-Building

Skill-Building

Every chapter is packed with exercises that gradually build on each other, giving you a chance to build real skills that are immediately useful to your day job.

Free & Open

Free & Open

The full book is free to read online. Zionomicon brings mastery of ZIO within the reach of anyone, anywhere.

About the authors

John A. De Goes
John A. De Goes

A mathematician by training but a software engineer by vocation, John A. De Goes has been professionally writing software for more than 30 years. John is an internationally recognized expert on functional programming, is an avid speaker and OSS contributor, and is the original author and architect of ZIO.

Adam Fraser
Adam Fraser

Is a software engineer who is passionate about using the power of functional programming to solve hard business problems. Adam is one of the top contributors to ZIO, the co-author of ZIO Test, and the author of ZIO Query, as well as a regular conference speaker, writer, and mentor.

MK
Milad Khajavi

A software engineer and active contributor to the ZIO ecosystem, and co-author of Zionomicon. Milad maintains ZIO documentation and educational material to help newcomers master functional programming with ZIO.

Get your free copy

Enter your details to get the PDF edition and unlock the full web version of Zionomicon — completely free.

No spam. We'll send the PDF and occasional updates about the book.