mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 10:41:03 +01:00
Readme
Former-commit-id: 08b7ba04949a6b830841b8b9b7ad6981264c51ec
This commit is contained in:
parent
02afd3789d
commit
cafa4d7b80
42
README.md
42
README.md
|
@ -24,7 +24,6 @@ Iris is an efficient and well-designed toolbox with robust set of features.<br/>
|
|||
<b>perfect high-performance web applications</b> <br/>with unlimited potentials and <b>portability</b>.
|
||||
<br/>
|
||||
|
||||
<i><u>Powered by Google's Go</u></i>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
@ -41,51 +40,46 @@ Iris is an efficient and well-designed toolbox with robust set of features.<br/>
|
|||
</p>
|
||||
|
||||
|
||||
Iris is fully vendored. That means it is independent of any API changes in the used libraries and will work seamlessly in the future!
|
||||
Iris is fully vendored. That means it is independent of any API changes in the used libraries and **will work seamlessly in the future**!
|
||||
|
||||
Iris follows the latest tech trends around the world.
|
||||
The size of the executable file is a critical part of the Application Deployment Process,
|
||||
|
||||
Iris' features are visible to other web frameworks after some time. That means that Iris is followed by other go web frameworks.
|
||||
|
||||
The executable file size is a critical part of Application Deployment process.
|
||||
|
||||
I made two very simple identical applications, the first written with a famous mini web framework named `gin`(=Just a Router, with logger, recover and pure Context support) and the second in `iris`
|
||||
(=every feature that you will need at the first place is bundled when you install Iris. Including sessions, websockets, typescript support, a cloud-editor, the view engine with 5 different template parsers, two Routers to select from, an end-to-end framework to test your API, more than 60 handy helpers via Context, complete rest API implementation, and cors, basicauth, internalization i18n, logger and recover middleware).
|
||||
I made two very simple identical applications, the first written with a famous mini web framework named `gin`(=a Router, with logger, recover and pure Context out-of-the-box support) and the second in `iris`
|
||||
(=every feature that you will need at the first place is bundled when you install Iris. Including sessions, websockets, typescript support, a cloud-editor, the view engine with 5 different template parsers, two Routers to select from, an end-to-end framework to test your API, more than 60 handy helpers via Context, complete rest API implementation, and cors, basicauth, internalization i18n, logger and recover middleware out-of-the-box).
|
||||
|
||||
I ran `go build` for both of them,
|
||||
|
||||
- the first had `9.029 KB` overall file size,
|
||||
- the second had `8.505 KB` overall file size!
|
||||
|
||||
Keep note that the same app written in pure `net/http` had produced an executable file with `5.380 KB` size.
|
||||
|
||||
Note that these applications doesn't uses any third-party library, they are simple applications, if we used other features like sessions and websockets then the size of `gin` and `net/http`
|
||||
could be the double, while in the same time `iris`' overall file size will remain almost the same.
|
||||
- net/http` had produced an executable file with `5.380 KB` size
|
||||
|
||||
|
||||
Result: Iris' executable file size is even smaller than simple router libraries!
|
||||
> The app didn't used any third-party library. If you test the same thing I test and adapt other features like sessions and websockets then the size of `gin` and `net/http` could be doubled while `iris`' overall file size will remain almost the same.
|
||||
|
||||
|
||||
**Applications that are written using Iris have smaller file sizes** than a single router library!
|
||||
|
||||
> Q: How is that possible?
|
||||
|
||||
> A: The Iris' vendor was done manually without any third-party tool. That means that I had the chance to remove any unnecessary code that Iris never uses internally.
|
||||
|
||||
|
||||
Always follows the latest trends and best practices. Iris is the **Secret To Staying One Step Ahead of Your Competition**.
|
||||
|
||||
Iris is a high-performance tool, but it doesn't stops there. Performance depends on your application too, Iris helps you to make the right choices on every step.
|
||||
|
||||
Familiar and easy API.
|
||||
Iris is a high-performance tool, but it doesn't stops there. Performance depends on your application too, **Iris helps you to do the right choices** on every step.
|
||||
|
||||
Examples and Documentation for the most use cases and if you don't find something, just do an online search of the net/http way and adapt this way to Iris, Iris is not black-magic, I didn't invent the world.
|
||||
**Familiar** and easy **API**. Sinatra-like REST API.
|
||||
|
||||
Iris is a low-level web framework, you know what you code on each single line.
|
||||
Contains examples and documentation for all its features.
|
||||
|
||||
You'll never miss a thing from `net/http`, but if you do on some point, no problem because Iris is fully compatible with stdlib, you still have access to `http.ResponseWriter` and `http.Request`, you can adapt any third-party middleware of form `func(http.ResponseWriter, *http.Request, next http.HandlerFunc)` as well.
|
||||
Iris is a `low-level access` web framework, you always know what you're doing.
|
||||
|
||||
Iris is a community-driven project, you suggest and I code.
|
||||
You'll **never miss a thing** from `net/http`, but if you do on some point, no problem because Iris is fully compatible with stdlib, you still have access to `http.ResponseWriter` and `http.Request`, you can adapt any third-party middleware of form `func(http.ResponseWriter, *http.Request, next http.HandlerFunc)` as well.
|
||||
|
||||
Unlike others, this repository is very active. When you post an issue, you get an answer in the next couple of minutes, hours at the worst. If you find a bug, I am obliged to fix it on the same day.
|
||||
Iris is a community-driven project, **you suggest and I code**.
|
||||
|
||||
If you're coming from <a href="https://nodejs.org/en/">Node.js</a> world, this is the <a href="https://github.com/expressjs/express">expressjs</a> for the <a href="https://golang.org">Go Programming Language.</a>
|
||||
Unlike other repositories, this one is **very active**. When you post an issue, you get an answer at the next couple of minutes(hours at the worst). If you find a bug, **I am obliged to fix** that on the same day.
|
||||
|
||||
> Q: Why this framework is better than alternatives, does the author is, simply, better than other developers?
|
||||
|
||||
|
@ -101,7 +95,7 @@ Click the below animation to see what people say about Iris.
|
|||
Installation
|
||||
-----------
|
||||
|
||||
The only requirement is the [Go Programming Language](https://golang.org/dl/), at least v1.8
|
||||
The only requirement is the [Go Programming Language](https://golang.org/dl/), at least 1.8
|
||||
|
||||
```bash
|
||||
$ go get gopkg.in/kataras/iris.v6
|
||||
|
|
Loading…
Reference in New Issue
Block a user