ZIO 提供与广泛的生态系统的其他部分进行互操作的能力,它们包含以下:
- Future — ZIO 提供内建的在 ZIO 数据类型(例如
ZIO
和Fiber
)和 Scala 并发数据类型(例如Future
)之间进行转换的能力。 - Java — ZIO 提供了内建的具在 ZIO 数据类型(例如
ZIO
和Fiber
)和 Java 并发数据类型(例如CompletionStage
,Future
和CompletionHandler
)之间进行转换的能力。 - JavaScript — ZIO 对 Scala.js 具有一流的支持。
- Scalaz 8 — Scalaz 8 基于 ZIO,其库中包含所有 ZIO 数据类型的实例。再无需其他模块提供额外支持。
interop-cats
提供了 Cats, Cats MTL 和 Cats Effect 库的实例,这些实例使您可以将 ZIO 与依赖这些库的其它库一起使用,例如 Doobie, Http4s, FS2 和 Circeinterop-reactive-streams
for Reactive Streams, 提供了将 ZIOStream
和Sink
转换为反应式 Stream 的生产者
和消费者
的转换。interop-scalaz
for ScalaZ 7, 为 ScalaZ 7 提供了对 ZIO 数据类型(提供支持)的 Monad 和其他类型类的实例。interop-twitter
for Twitter’scom.twitter.util.Future
interop-monix
for Monix’smonix.eval.Task
andmonix.eval.Coeval
interop-guava
for Guava’scom.google.common.util.concurrent.ListenableFuture
以上部分让您了解将 ZIO 与您正在使用的任何库或平台集成起来有多么容易。