Where Next
You now know what ZIO Blocks is, how its blocks are designed, and the four blocks most applications start with. The rest of the documentation has four kinds of pages, each for a different moment.
How the Documentation Is Organized
Each kind of page answers a different question:
| Kind of page | Read it when you want to... |
|---|---|
| Tutorials | Learn a block step by step, from nothing |
| How-to guides | Solve one specific task in a project |
| Migration guides | Move existing code from another Scala library |
| Reference | Look up every type and method of a block |
Pick a Tutorial by Goal
The tutorials are the natural next step. Each one builds a small program from scratch, and they are listed here by what you want to do:
| You want to... | Start with |
|---|---|
| Read and write JSON | Your First Schema: Round-Trip a Type Through JSON |
| Change a data type without breaking old data | Evolve Your Data |
| Close files and connections safely | Compile-Time Resource Safety with Scope |
| Load configuration into case classes | Build a Typed Configuration Loader |
| Run asynchronous code without blocking threads | Getting Started with Async |
| Process a large file piece by piece | Your First Streaming Pipeline |
| Store case classes in a database | Build Your First Database Repository on SQLite |
| Render a web page | Render Your First Server-Side HTML Page |
| Add logs, traces and metrics | Instrument a Program with Logs, Traces and Metrics |
| Combine several blocks into one small service | Build a Small JSON Backend from Blocks |
Get Help
If something is unclear or does not work as described, ask on the ZIO Discord or open an issue in the GitHub repository. The API documentation lists every public type of every block.