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
2017-12-24 02:53:52 +02:00
_benchmarks update the documents for the new MVC API and some of its new features but not finished yet, README big examples and _examples/mvc/login is are yet updated and I'm thinking of removing the big examples on README.md, they exist on the _examples/mvc updated. 2017-12-22 10:18:31 +02:00
_examples add locks on the MemoryService of the vue mvc example, keep it simple but runnable:P 2017-12-24 01:22:44 +02:00
.github Update ISSUE_TEMPLATE.md 2017-11-07 02:00:07 +02:00
cache Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
context update the documents for the new MVC API and some of its new features but not finished yet, README big examples and _examples/mvc/login is are yet updated and I'm thinking of removing the big examples on README.md, they exist on the _examples/mvc updated. 2017-12-22 10:18:31 +02:00
core update the documents for the new MVC API and some of its new features but not finished yet, README big examples and _examples/mvc/login is are yet updated and I'm thinking of removing the big examples on README.md, they exist on the _examples/mvc updated. 2017-12-22 10:18:31 +02:00
httptest Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
middleware update the vendor json library which is used when 'WithOptimizations' passed on 'app.Run' and resolve https://github.com/kataras/iris/pull/839#issuecomment-351374343 2017-12-13 14:37:02 +02:00
mvc finish the first state of the vuejs todo mvc example, a simple rest api - todo: websocket and live updates between browser tabs with the same session id 2017-12-23 17:07:39 +02:00
sessions Merge branch 'master' into dev 2017-12-21 14:46:58 +02:00
typescript Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
view Fix subfolder templating issue 2017-12-03 23:21:11 -02:00
websocket Another new feature: websocket controller, for real 2017-12-20 17:56:28 +02:00
.gitattributes ok the new mvc system works great, all tests done and almost x3 smaller LOC used plus new three awesome features:) - next commit will be commenting out and replace the mvc package with the new mvc2 2017-12-10 07:00:51 +02:00
.gitignore app. SPA from router wrapper to a simple handler, works faster now. Iris' router respects wildcards with other paths as well (unique) for almost a half year now... so we don't need a whole wrapper for those things anymore, fixes https://github.com/kataras/iris/issues/807 2017-11-10 16:15:47 +02:00
.travis.yml Update to version 8.5.5 | Read https://github.com/kataras/iris/blob/master/HISTORY.md#tu-02-november-2017--v855 2017-11-02 06:51:46 +02:00
AUTHORS Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02: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 able to share static configuration between multiple server instances based on the homepath+iris.yml file with iris.WithGlobalConfiguration configurator 2017-11-07 01:40:56 +02:00
configuration.go update the vendor json library which is used when 'WithOptimizations' passed on 'app.Run' and resolve https://github.com/kataras/iris/pull/839#issuecomment-351374343 2017-12-13 14:37:02 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2017-11-20 20:15:22 +02:00
deprecated.go fix all _examples to the newest mvc, add comments to those examples and add a package-level .Configure in order to make it easier for new users. Add a deprecated panic if app.Controller is used with a small tutorial and future resource link so they can re-write their mvc app's definitions 2017-12-20 08:33:53 +02:00
doc.go update the documents for the new MVC API and some of its new features but not finished yet, README big examples and _examples/mvc/login is are yet updated and I'm thinking of removing the big examples on README.md, they exist on the _examples/mvc updated. 2017-12-22 10:18:31 +02:00
Dockerfile Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
Dockerfile.build Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
FAQ.md fix line endings... | Prev Commit: 15feaf0237 [formerly dced7d472edabbab4f80c76051f13261928a8dea]?w=1 2017-11-02 06:44:40 +02:00
go19.go remove the old 'mvc' folder - examples are not changed yet - add the 'di' package inside the mvc2 package - which will be renamed to 'mvc' on the next commit - new mvc.Application and some dublications removed - The new version will be version 9 because it will contain breaking changes (not to the end-developer's controllers but to the API they register them) - get ready for 'Christmas Edition' for believers 2017-12-15 20:28:06 +02:00
Gopkg.lock update the vendor json library which is used when 'WithOptimizations' passed on 'app.Run' and resolve https://github.com/kataras/iris/pull/839#issuecomment-351374343 2017-12-13 14:37:02 +02:00
Gopkg.toml Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
HISTORY.md Update to version 8.5.8 | Read HISTORY.md 2017-11-09 12:03:14 +02:00
iris.go app. SPA from router wrapper to a simple handler, works faster now. Iris' router respects wildcards with other paths as well (unique) for almost a half year now... so we don't need a whole wrapper for those things anymore, fixes https://github.com/kataras/iris/issues/807 2017-11-10 16:15:47 +02:00
learn.jpg.REMOVED.git-id Split in three the _examples/tutorial/url-shortener and add the link of the updated article 2017-07-11 19:09:08 +03:00
LICENSE Update to version 8.5.5 | Read HISTORY.md 2017-11-02 05:54:33 +02:00
logo_white_35_24.png Publish the new version ✈️ | Look description please! 2017-06-03 23:22:52 +03:00
README_ZH.md Remove big README examples, will be replaced with small quick examples so new users can found easier to get started 2017-12-22 10:25:34 +02:00
README.md Remove big README examples, will be replaced with small quick examples so new users can found easier to get started 2017-12-22 10:25:34 +02:00
VERSION Update to version 8.5.8 | Read HISTORY.md 2017-11-09 12:03:14 +02:00

I'm working hard on the dev branch for the next release of Iris.

Do you remember, last Christmas? I did publish the version 6 with net/http and HTTP/2 support, and you've embraced Iris with so much love, ultimately it was a successful move.

I tend to make surprises by giving you the most unique and useful features, especially on Christmas period.

This year, I intend to give you more gifts.

Don't worry, it will not contain any breaking changes, except of some MVC concepts that are re-designed.

The new Iris' MVC Ecosystem is ready on the dev/mvc. It contains features that you've never saw before, in any programming language framework. It is also, by far, the fastest MVC implementation ever created, very close to raw handlers - it's Iris, it's superior, we couldn't expect something different after all :) Treat that with respect as it treats you :)

I'm doing my bests to get it ready before Christmas.

Star or watch the repository to stay up to date and get ready for the most amazing features!

Yours faithfully, Gerasimos Maropoulos.


Logo created by @santoshanand Iris

build statusreport cardgithub closed issuesreleaseview exampleschatCLA assistant

Iris is a fast, simple and efficient web framework for Go.

Iris provides a beautifully expressive and easy to use foundation for your next website, API, or distributed app.

Learn what others say about Iris and star this github repository to stay up to date.

Iris vs .NET Core(C#) vs Node.js (Express)

Benchmarks from third-party source over the rest web frameworks

Comparison with other frameworks

Updated at: Tuesday, 21 November 2017

Built with ♥️

We have no doubt you will able to find other web frameworks written in Go and even put up a real fight to learn and use them for quite some time but make no mistake, sooner or later you will be using Iris, not because of the ergonomic, high-performant solution that it provides but its well-documented unique features, as these will transform you to a real rockstar geek.

No matter what you're trying to build, Iris covers every type of application, from micro services to large monolithic web applications. It's actually the best piece of software for back-end web developers you can find online.

Iris may have reached version 8, but we're not stopping there. We have many feature ideas on our board that we're anxious to add and other innovative web development solutions that we're planning to build into Iris.

Accelerated by KeyCDN, a simple, fast and reliable CDN.

We are developing this project using the best code editor for Golang; Visual Studio Code supported by Microsoft.

If you're coming from nodejs world, Iris is the expressjs equivalent for Gophers.

Table Of Content

Installation

The only requirement is the Go Programming Language

$ go get -u github.com/kataras/iris

Iris takes advantage of the vendor directory feature. You get truly reproducible builds, as this method guards against upstream renames and deletes.

Getting Started

package main

import "github.com/kataras/iris"

func main() {
    app := iris.New()
    // Load all templates from the "./views" folder
    // where extension is ".html" and parse them
    // using the standard `html/template` package.
    app.RegisterView(iris.HTML("./views", ".html"))

    // Method:    GET
    // Resource:  http://localhost:8080
    app.Get("/", func(ctx iris.Context) {
        // Bind: {{.message}} with "Hello world!"
        ctx.ViewData("message", "Hello world!")
        // Render template file: ./views/hello.html
        ctx.View("hello.html")
    })

    // Method:    GET
    // Resource:  http://localhost:8080/user/42
    //
    // Need to use a custom regexp instead?
    // Easy;
    // Just mark the parameter's type to 'string'
    // which accepts anything and make use of
    // its `regexp` macro function, i.e:
    // app.Get("/user/{id:string regexp(^[0-9]+$)}")
    app.Get("/user/{id:long}", func(ctx iris.Context) {
        userID, _ := ctx.Params().GetInt64("id")
        ctx.Writef("User ID: %d", userID)
    })

    // Start the server using a network address.
    app.Run(iris.Addr(":8080"))
}

Learn more about path parameter's types by clicking here.

<!-- file: ./views/hello.html -->
<html>
<head>
    <title>Hello Page</title>
</head>
<body>
    <h1>{{.message}}</h1>
</body>
</html>

overview screen

Wanna re-start your app automatically when source code changes happens? Install the rizla tool and run rizla main.go instead of go run main.go.

Guidelines for bootstrapping applications can be found at the _examples/structuring.

Now you are ready to move to the next step and get closer to becoming a pro gopher

Congratulations, since you've made it so far, we've crafted just for you some next level content to turn you into a real pro gopher 😃

Don't forget to prepare yourself a cup of coffee, or tea, whatever enjoys you the most!

People

The author of Iris is @kataras, you can reach him via;

List of all Authors

List of all Contributors

Help this project to continue deliver awesome and unique features with the higher code quality as possible by donating any amount via PayPal or BTC.

For more information about contributing to the Iris project please check the CONTRIBUTING.md file.

We need your help with translations into your native language

Iris needs your help, please think about contributing to the translation of the README and https://iris-go.com, you will be rewarded.

Instructions can be found at: https://github.com/kataras/iris/issues/796

03, October 2017 | Iris User Experience Report

Be part of the first Iris User Experience Report by submitting a simple form, it won't take more than 2 minutes.

The form contains some questions that you may need to answer in order to learn more about you; learning more about you helps us to serve you with the best possible way!

https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor

License

Iris is licensed under the 3-Clause BSD License. Iris is 100% open-source software.

For any questions regarding the license please contact us.