Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kataras/iris

The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
https://github.com/kataras/iris

dependency-injection go golang http2 iris mvc sessions web-framework websocket

Last synced: about 2 months ago
JSON representation

The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:

Awesome Lists containing this project

README

        

# Project Update: Iris is Evolving 🌱

Dear Iris Community,

You might have noticed a recent lull in activity on the Iris repository. I want to assure you that this silence is not without reason. For the past **3-4 months**, I've been diligently working on the next major release of Iris.

This upcoming version is poised to be a significant leap forward, fully embracing the **Generics** feature introduced in Go. We're not just stopping at Generics, though. Expect a suite of **new features**, **enhancements**, and **optimizations** that will elevate your development experience to new heights.

My journey with Go spans over **8 years**, and with each year, my expertise and understanding of the language deepen. This accumulated knowledge is being poured into Iris, ensuring that the framework not only evolves with the language but also with the community's growing needs.

Stay tuned for more updates, and thank you for your continued support and patience. The wait will be worth it.

Warm regards,

Gerasimos (Makis) Maropoulos

# Iris Web Framework

[![build status](https://img.shields.io/github/actions/workflow/status/kataras/iris/ci.yml?branch=main&style=for-the-badge)](https://github.com/kataras/iris/actions/workflows/ci.yml) [![view examples](https://img.shields.io/badge/examples%20-285-a83adf.svg?style=for-the-badge&logo=go)](https://github.com/kataras/iris/tree/main/_examples) [![chat](https://img.shields.io/gitter/room/iris_go/community.svg?color=cc2b5e&logo=gitter&style=for-the-badge)](https://gitter.im/iris_go/community) [![donate](https://img.shields.io/badge/support-Iris-blue.svg?style=for-the-badge&logo=paypal)](https://iris-go.com/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](https://www.iris-go.com/#review) and **[star](https://github.com/kataras/iris/stargazers)** this open-source project to support its potentials.

[![](https://iris-go.com/images/reviews.gif)](https://iris-go.com/testimonials/)

[![Benchmarks: Jul 18, 2020 at 10:46am (UTC)](https://iris-go.com/images/benchmarks.svg)](https://github.com/kataras/server-benchmarks)

```go
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 %s!", "World")
})

app.Listen(":8080")
}
```

As one [Go developer](https://twitter.com/dkuye/status/1532087942696554497) 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!


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

## 📖 Learning Iris

### Installation

The only requirement is the [Go Programming Language](https://go.dev/dl/).

#### Create a new project

```sh
$ mkdir myapp
$ cd myapp
$ go mod init myapp
$ go get github.com/kataras/iris/v12@latest # or @v12.2.11
```

Install on existing project

```sh
$ cd myapp
$ go get github.com/kataras/iris/v12@latest
```

**Run**

```sh
$ go mod tidy -compat=1.22 # -compat="1.22" for windows.
$ go run .
```

![](https://www.iris-go.com/images/gifs/install-create-iris.gif)

Iris contains extensive and thorough **[documentation](https://www.iris-go.com/docs)** making it easy to get started with the framework.

For a more detailed technical documentation you can head over to our [godocs](https://pkg.go.dev/github.com/kataras/iris/[email protected]). And for executable code you can always visit the [./_examples](_examples) repository's subdirectory.

### Do you like to read while traveling?

Book cover

[![follow author on twitter](https://img.shields.io/twitter/follow/makismaropoulos?color=3D8AA3&logoColor=3D8AA3&style=for-the-badge&logo=twitter)](https://twitter.com/intent/follow?screen_name=makismaropoulos)

[![follow Iris web framework on twitter](https://img.shields.io/twitter/follow/iris_framework?color=ee7506&logoColor=ee7506&style=for-the-badge&logo=twitter)](https://twitter.com/intent/follow?screen_name=iris_framework)

[![follow Iris web framework on facebook](https://img.shields.io/badge/Follow%20%40Iris.framework-569-2D88FF.svg?style=for-the-badge&logo=facebook)](https://www.facebook.com/iris.framework)

You can [request](https://www.iris-go.com/#ebookDonateForm) 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](CONTRIBUTING.md) file.

[List of all Contributors](https://github.com/kataras/iris/graphs/contributors)

## 🛡 Security Vulnerabilities

If you discover a security vulnerability within Iris, please send an e-mail to [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.

## 📝 License

This project is licensed under the [BSD 3-clause license](LICENSE), just like the Go project itself.

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