The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio 🚀
Go to file
Gerasimos (Makis) Maropoulos b30cbdbcb3
update examples dependencies
2023-08-17 12:26:16 +03:00
_benchmarks update view benchmarks and remove ace template parser 2023-03-17 12:38:07 +02:00
_examples update examples dependencies 2023-08-17 12:26:16 +03:00
_proposals minor: compatibility: context render 2022-09-27 20:43:01 +03:00
.github update kataras/jwt module 2023-08-17 12:06:51 +03:00
apps fix #2158 and more 2023-07-08 02:08:18 +03:00
auth replace ioutil with io package and other minor improvements 2022-06-17 22:03:18 +03:00
cache fix #2158 and more 2023-07-08 02:08:18 +03:00
context update kataras/jwt module 2023-08-17 12:06:51 +03:00
core implement a dynamic router handler for #2167 2023-08-04 17:59:00 +03:00
hero Add mvc.Application.EnableStructDependents() and app.ConfigureContainer().EnableStructDependents() 2023-07-17 18:30:45 +03:00
httptest HISTORY.md: add entry for third party packages support on httptest 2022-10-22 18:11:48 +03:00
i18n add LoadKV method on Iris.Application.I18N instance 2023-03-18 15:43:18 +02:00
macro add iris.TrimParamFilePart 2022-12-24 05:04:16 +02:00
middleware fix #2158 and more 2023-07-08 02:08:18 +03:00
mvc Add mvc.Application.EnableStructDependents() and app.ConfigureContainer().EnableStructDependents() 2023-07-17 18:30:45 +03:00
sessions fix #2158 and more 2023-07-08 02:08:18 +03:00
versioning fix #2158 and more 2023-07-08 02:08:18 +03:00
view update view benchmarks and remove ace template parser 2023-03-17 12:38:07 +02:00
websocket add Configuration.URLParamSeparator 2022-11-29 10:49:49 +02:00
x minor 2023-02-19 21:44:37 +02:00
.deepsource.toml add a new _proposals folder and a silly idea 2022-04-10 01:08:11 +03:00
.fossa.yml new Application.SetContextErrorHandler method 2022-04-13 01:00:53 +03:00
.gitattributes minor 2020-01-05 18:27:21 +02:00
.gitignore Added support for third party packages on httptest package with tests & example. (#1992) 2022-10-22 18:02:55 +03:00
aliases.go update view benchmarks and remove ace template parser 2023-03-17 12:38:07 +02:00
AUTHORS Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
cli.go add support for embed.FS 2022-09-19 01:15:38 +03:00
CODE_OF_CONDUCT.md Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
configuration_test.go replace ioutil with io package and other minor improvements 2022-06-17 22:03:18 +03:00
configuration.go implement a dynamic router handler for #2167 2023-08-04 17:59:00 +03:00
CONTRIBUTING.md v12.2.0 2023-03-11 22:37:55 +02:00
doc.go v12.2.0 2023-03-11 22:37:55 +02:00
FAQ.md v12.2.0 2023-03-11 22:37:55 +02:00
go.mod update kataras/jwt module 2023-08-17 12:06:51 +03:00
go.sum update kataras/jwt module 2023-08-17 12:06:51 +03:00
HISTORY.md release v12.2.4 2023-08-12 07:40:12 +03:00
iris_guide.go add brazil readme link 2022-10-20 02:00:25 +03:00
iris.go release v12.2.4 2023-08-12 07:40:12 +03:00
LICENSE remove accesslog requests json file 2023-01-24 23:52:32 +02:00
NOTICE fix #2098 2023-03-20 18:16:35 +02:00
README_ES.md v12.2.0 2023-03-11 22:37:55 +02:00
README_FA.md v12.2.0 2023-03-11 22:37:55 +02:00
README_FR.md v12.2.0 2023-03-11 22:37:55 +02:00
README_GR.md v12.2.0 2023-03-11 22:37:55 +02:00
README_JA.md add Japanese README (#2188) 2023-08-14 11:56:02 +03:00
README_KO.md v12.2.0 2023-03-11 22:37:55 +02:00
README_PT_BR.md add Japanese README (#2188) 2023-08-14 11:56:02 +03:00
README_RU.md v12.2.0 2023-03-11 22:37:55 +02:00
README_VN.md add vietnamese readme (#2182) 2023-08-14 11:53:09 +03:00
README_ZH_HANS.md add Japanese README (#2188) 2023-08-14 11:56:02 +03:00
README_ZH_HANT.md add Japanese README (#2188) 2023-08-14 11:56:02 +03:00
README_ZH.md add Japanese README (#2188) 2023-08-14 11:56:02 +03:00
README.md add Japanese country flag 2023-08-14 12:03:57 +03:00
SECURITY.md Create SECURITY.md 2021-09-14 21:40:09 +03:00
VERSION v12.2.0 2023-03-11 22:37:55 +02:00

Iris Web Framework

build status view examples chat donate

Iris is a fast, simple yet fully featured and very efficient web framework for Go.

It provides a beautifully expressive and easy to use foundation for your next website or API.

Learn what others saying about Iris and star this open-source project to support its potentials.

Benchmarks: Jul 18, 2020 at 10:46am (UTC)

package main

import "github.com/kataras/iris/v12"

func main() {
  app := iris.New()
  app.Use(iris.Compression)

  app.Get("/", func(ctx iris.Context) {
    ctx.HTML("Hello <strong>%s</strong>!", "World")
  })

  app.Listen(":8080")
}

As one Go developer once said, Iris got you covered all-round and standing strong over the years.

Some of the features Iris offers:

  • HTTP/2 (Push, even Embedded data)
  • Middleware (Accesslog, Basicauth, CORS, gRPC, Anti-Bot hCaptcha, JWT, MethodOverride, ModRevision, Monitor, PPROF, Ratelimit, Anti-Bot reCaptcha, Recovery, RequestID, Rewrite)
  • API Versioning
  • Model-View-Controller
  • Websockets
  • gRPC
  • Auto-HTTPS
  • Builtin support for ngrok to put your app on the internet, the fastest way
  • Unique Router with dynamic path as parameter with standard types like :uuid, :string, :int... and the ability to create your own
  • Compression
  • View Engines (HTML, Django, Handlebars, Pug/Jade and more)
  • Create your own File Server and host your own WebDAV server
  • Cache
  • Localization (i18n, sitemap)
  • Sessions
  • Rich Responses (HTML, Text, Markdown, XML, YAML, Binary, JSON, JSONP, Protocol Buffers, MessagePack, Content Negotiation, Streaming, Server-Sent Events and more)
  • Response Compression (gzip, deflate, brotli, snappy, s2)
  • Rich Requests (Bind URL Query, Headers, Form, Text, XML, YAML, Binary, JSON, Validation, Protocol Buffers, MessagePack and more)
  • Dependency Injection (MVC, Handlers, API Routers)
  • Testing Suite
  • And the most important... you get fast answers and support from the 1st day until now - that's six full years!

👑 Supporters

With your help, we can improve Open Source web development for everyone!

github getsentry lensesio thepunterbot EliYip geordee dph0899 keymanye marek-kuticka draFWM gf3 trading-peter AlbinoGeek basilarchia sumjoe simpleittools xiaozhuai Remydeme celsosz linxcoder TechMaster janwebdev altafino jakoubek alekperos hengestone thomasfr CetinBasoz International Juanses ansrivas ekobayong lexrus li3p madhu72 mubariz-ahmed se77en vincent-li Cesar DavidShaw sascha11110 derReineke Sirisap22 primadi agoncecelia saz59 shadowfiga siriushaha skurtz97 srinivasganti syrm tuhao1020 wahyuief xvalen xytis ElNovi KKP4 Lernakow ernestocolombo francisstephan pixelheresy rcapraro soiestad thanasolykos DanielKirkwood aprinslo1 ukitzmann colinf kyoukhana spazzymoto ArishSultan ehayun kukaki oshirokazuhide t6tg AnatolyUA AwsIT BlackHole1 FernandoLangOFC Hongjian0619 JoeD Jude-X Kartoffelbot KevinZhouRafael hobysmith th31nitiate stgrosshh rodrigoghm Didainius DmarshalTU IwateKyle Little-YangYang Major2828 MatejLach clacroix amritpal042 boomhut coderperu cshum dtrifonov iantuan ichenhe KrishManohar Laotanling njeff3 ixalender Longf99999 MihaiPopescu1985 NA icibiri jfloresremar jingtianfeng kilarusravankumar leandrobraga lfbos lpintes macropas marcmmx mark2b miguel-devs Neulhan mihado mmckeen75 NguyenPhuoc narven odas0r Oka00 RainerGevers Ramblestsad SamuelNeves Scorpio69t Serissa4000 TianJIANG Ubun1 olaf-lexemo pitexplore pr123 rsousacode sankethpb XinYoungCN YukinaMochizuki a112121788 acdias aeonsthorn agent3bood alessandromarotta algoflows angelaahhu annieruci antoniejiao artman328 b2cbd baoch254 bastengao bjoroen blackHoleNgc1277 bunnycodego carlos-enginner civicwar cnzhangquan danlanxiaohei dfaugusto dkzhang dloprodu donam-givita ec0629 edwindna2 ekofedriyanto fenriz07 ffelipelimao frenchmajesty gastropulgite geGao123 globalflea gnosthi goten002 guanzi008 hdezoscar93 hieungm hieunmg homerious hzxd iysaleh jackptoke jeremiahyan joelywz kana99 kattaprasanth keeio khasanovrs kkdaypenny knavels kohakuhubo kostasvk lafayetteDan leki75 liheyuan lingyingtan lipatti maikelcoke marman-hp mattbowen maxgozou mizzlespot mnievesco mo3lyana motogo mtrense mukunhao mulyawansentosa nasoma ngseiyu nikharsaxena nronzel onlysumitg ozfive paulxu21 pesquive phil535 pitt134 pookiepats qiepeipei qiuzhanghua rapita rbondi relaera remopavithran rfunix rhernandez-itemsoft risallaw robivictor rxrw saleebm sbenimeli sebyno seun-otosho solohiroshi su1gen sukiejosh svirmi thiennguyen93 unixedia vadgun valsorym vguhesan vpiduri vrocadev netbaalzovf oliverjosefzimmer vuhoanglam walter-wang wixregiga talebisinan valkuere CSRaghunandan lfaynman ArturWierzbicki GeorgeFourikis L-M-Sherlock Supersherm5 aaxx crashCoder derekslenk yesudeep ymonk yonson2 zhenggangpku SergeShin - BelmonduS martinjanda claudemuller martinlindhe mdamschen dochoaj edsongley evillgenius75 gog200921 evan grassshrimp hazmi-e205 jtgoral ky2s lauweliam mauricedcastro mwiater sj671 letmestudy mblandr midhubalan statik supersherm5 thejones ndimorle rosales-stephanie shyyawn vcruzato wangbl11 wofka72 xsokev oleang michalsz Curtman SridarDhandapani opusmagna b4zz4r bobmcallan fangli galois-tnp geoshan juanxme nguyentamvinhlong tejzpr theantichris tuxaanand raphael-brand willypuzzle HieuLsw carlosmoran092 yangxianglong

📖 Learning Iris

Installation

The only requirement is the Go Programming Language.

Create a new project

$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v12.2.0
Install on existing project
$ cd myapp
$ go get github.com/kataras/iris/v12@latest

Run

$ go mod tidy -compat=1.20 # -compat="1.20" for windows.
$ go run .

Iris contains extensive and thorough documentation making it easy to get started with the framework.

For a more detailed technical documentation you can head over to our godocs. And for executable code you can always visit the ./_examples repository's subdirectory.

Do you like to read while traveling?

Book cover

follow author on twitter

follow Iris web framework on twitter

follow Iris web framework on facebook

You can request a PDF and online access of the Iris E-Book (New Edition, future v12.2.0+) today and be participated in the development of Iris.

🙌 Contributing

We'd love to see your contribution to the Iris Web Framework! For more information about contributing to the Iris project please check the CONTRIBUTING.md file.

List of all Contributors

🛡 Security Vulnerabilities

If you discover a security vulnerability within Iris, please send an e-mail to iris-go@outlook.com. All security vulnerabilities will be promptly addressed.

📝 License

This project is licensed under the BSD 3-clause license, just like the Go project itself.

The project name "Iris" was inspired by the Greek mythology.