Do Iris have standard structure?
Sorry that I'm still new to GoLang, but i wish to build my mobile app backend API with Iris. The problem i face is I dunno where to start from because I have already used to the framework with generator like Angular2, Ionic, Android. These frameworks come with tools that can generate folder structure and main file needed. I have go through other Go framework like Revel, Beego also but most of the review said Iris is the fastest one and this make me decide to use Iris to build my API.
As from Beego docs, it do have MVC structure like below:
βββ conf
β βββ app.conf
βββ controllers
β βββ admin
β βββ default.go
βββ main.go
βββ models
β βββ models.go
βββ static
β βββ css
β βββ ico
β βββ img
β βββ js
βββ views
βββ admin
βββ index.tpl
**We can see the M (models), V (views), C (controllers) folders. main.go is the entry point.
And below is from Revel

Will Iris come out a CLI tools? Or can guide me on this with an example?
I wish to build a AIM stack!
Angular2 (UI) + Iris (API) + MongoDB
Iris needs a perfect code generator should be a cli tool or scaffolding, making it easy to create a project, controller, view, model... Just as Core ,DotNet, Yii (Gii), React Native... Iris also can be used like this command line "iris create -p myapp", "iris create -m UserMoudle". If Iris can generate the corresponding moudle according to the database or PDM model, it will greatly improve the development efficiency.
@maplerichie What stops you from using your favorite structure? Iris is a low level web framework, it has got MVC support but it doesn't limit your folder structure, this is your choice. Now if you ask me I can tell you that the images you posted looks good. It always depends on your needs, I can't tell you how to design your own application, I give you the tools, it's your choice
@JermineHu Iris is fully feature web framework but it's easy to learn and start, unlike others. However I'm open to approve any PRs that completes your CLI idea!
@kataras I'm understand that Iris are free to build as MVC or whatever structure. But with a guideline, like the issue i stated (folder structure), it can make people adopt this great framework faster. From my point of view, it always being easier when there is a "standard" guideline to follow instead of build from scratch.
Is it @JermineHu have the same though as me?
I'm already start to building web backend with Iris, but i wish Iris can go further step and spread to more people trying to adopt Golang
@maplerichie I've uploaded some "guidelines" about folder structuring and package design after your question, you can find those examples at: https://github.com/kataras/iris/tree/master/_examples#structuring
Iris is unopinionated, you can adapt your experience right away, you are not starting from scratch, just make the folder structure you want (optionally; upload it to a github repository and share with the rest of us) and use that at your web applications as you like, don't compare our decisions of free willing with other web framework authors' decisions to keep you in a certain box, opinionated.
@kataras
https://medium.com/@mastrolinux/the-go-performance-battle-is-wrong-5a2b62756a76
Just for reference, it do mentioned
"Indeed if we look at other very popular frameworks for different languages we see the most popular ones were not the fastest, but the more productive. Letβs think about Django or Rails, they became popular for what they provide and how a new developer can start writing code with them.
I really hope Go developers (which are awesome) will try to create a more supported and bigger (in terms of adoption) framework to pick just few features and make them better. Please stop having a lot of microframeworks doing almost the same thing and competing on the speed. In my experience 99.98% speed problems are not about the tools themselves but about how the people use it, wrong algorithms or related to not optimized DB query or session/RAM management."
Most of the current available GoLang framework have well documentation but not newbie friendly (it's true, i need to spend more time on it compare with other well-known language)
Again, Im not to criticize or complain, just want Iris and other Golang framework become more popular and user-friendly
I'm not an coding expert so I cant help in design and improvement but this is the only thing i can do, giving feedback.
Thanks lot
I appreciate your feedback @maplerichie , I totally agree with you but this is not the place neither the correct issue, you could talk with us at the chat as well, we don't need an article to tell us the right thing, right? Keep strong!
I know performance is not everything, it's one good point but Iris is not all about performance only, anymore, now it's a complete web framework, inneed the most featured framework for the http subprotocol written in Go so far.
@maplerichie I think the text above is for you.
hi
I need different Layouts in my project
can I use two different layout in web project by iris framework?
app.RegisterView(iris.HTML("web/view", ".html").Layout("layout.html"))
hi
I need different Layouts in my project
can I use two different layout in web project by iris framework?
app.RegisterView(iris.HTML("web/view", ".html").Layout("layout.html"))
Most helpful comment
@maplerichie What stops you from using your favorite structure? Iris is a low level web framework, it has got MVC support but it doesn't limit your folder structure, this is your choice. Now if you ask me I can tell you that the images you posted looks good. It always depends on your needs, I can't tell you how to design your own application, I give you the tools, it's your choice