<!--
  Preface
  From the Iris book, preface, covering Iris 14.0.0 on Go 1.27.
  Import path: github.com/kataras/iris/v14
  Canonical page: https://iris-go.com/docs/preface/
-->
# Preface

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](https://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](https://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](https://github.com/kataras/iris/blob/main/TUTORIAL.md),
which builds one small service end to end, and the
[migration guide](https://github.com/kataras/iris/blob/main/MIGRATION.md)
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](https://github.com/kataras)) together with hundreds of
contributors. The framework lives at
[github.com/kataras/iris](https://github.com/kataras/iris) and its
website is [iris-go.com](https://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.
