Front matter

Preface

Who this book is for, how its 24 chapters are ordered, and the conventions each one follows. Every example is verified against the framework source.

Iris is a web framework for Go, built for writing HTTP servers, REST APIs and backend services that are fast to run and pleasant to maintain. This book is its professional guide: a complete path from your first route to a tested, production-shaped application, written for Iris v14 and verified against the framework’s source code.

Ask AI about Iris, any time. Iris has a free, live AI wiki at codewiki.google/github.com/kataras/iris, generated by Google directly from the framework’s source code and kept in sync with it (each page shows the exact commit it reflects). It organizes the codebase into browsable topics with architecture diagrams, and its built-in chat answers questions about Iris in plain language, grounded in the actual code. Keep it open next to this book: when you wonder “how do I…” mid-chapter, ask there and jump back.

If you would rather have the assistant on your own machine, Plexon AI (plexon.ai) is a desktop assistant for Windows, macOS and Linux, built by the author of Iris. It ships an Iris skill built in, covering the same ground as this book in a form written for an agent to read, and its Software Developer persona turns it on.

Who this book is for

You should be comfortable with Go (syntax, packages, interfaces, the standard library basics) and with HTTP concepts such as methods, headers and status codes. No prior Iris experience is assumed. If you have built services with the standard library’s net/http or another framework, you will move quickly; the book takes care to explain not just what each API does but why it is shaped the way it is.

How the book is organized

The chapters build on one another and are best read in order the first time; afterwards each stands alone as a reference.

  • Chapters 1–3 are the foundation: installation, the framework’s core concepts, and iris.NewBuilder, the recommended way to assemble a production application.
  • Chapters 4–7 cover the request path: routing and controllers, reading requests, writing responses, and the middleware pipeline.
  • Chapters 8–11 cover application structure: dependency injection, error handling, authentication and authorization, and configuration.
  • Chapters 12–15 tour the built-in middleware, database integration, caching and internationalization.
  • Chapters 16–20 are about running in production: testing, observability, security, deployment and performance.
  • Chapters 21–24 close with AI backends, complete applications, the upgrade path to v14, and advanced framework extension points. An epilogue sends you off with the habits worth keeping and where to go next.

Conventions

Each chapter opens with a Background section that explains the underlying concepts in plain language: what an HTTP header actually is, what a database transaction guarantees, what authentication means. No prior specialty knowledge is assumed. Each chapter closes with a Further Reading list of canonical references (MDN, the relevant RFCs, official Go documentation, OWASP) for going deeper. Readers who already know a chapter’s fundamentals can skip its Background entirely.

Code examples use full import paths (github.com/kataras/iris/v14/...) and are complete enough to adapt directly; where an example belongs to a larger program, the chapter says so. Shell commands are written for a POSIX shell and work in PowerShell unless noted. The examples target Go 1.26 or newer.

Two companion documents in the framework repository pair well with this book: the hands-on TUTORIAL.md, which builds one small service end to end, and the migration guide for readers upgrading an application from an earlier major version. This book itself covers v14 only.

About Iris

Iris has been developed in the open since 2016 by Gerasimos Maropoulos (@kataras) together with hundreds of contributors. The framework lives at github.com/kataras/iris and its website is iris-go.com. Issues, discussions and contributions are welcome there. This book is maintained separately from the framework, and corrections to it are welcome the same way.

Twenty-five chapters, about 85,000 words. Try BindJSON, graceful shutdown or error map.