<FromGitter>
<drujensen> This is called a trojan horse
<FromGitter>
<drujensen> I have built many applications using the rails layout and amber is based on what has been proven over and over as a successful layout. i understand you prefer chocolate but your statement that its fine and dandy for small application is unfounded.
<FromGitter>
<drujensen> your evidence is anicdotal at best
<FromGitter>
<drujensen> If you have hundreds of controllers, you should consider breaking your app up into seperate services (SOA)
<FromGitter>
<drujensen> crystal will struggle to compile such a large application
<FromGitter>
<drujensen> Here is how I would like to handle this PR. I will ask the core developers to vote and see if a modular structure is how they want to move forward for Amber. If they vote yes, we will accept this PR and we will move our current rails like layout to your modular style.
<FromGitter>
<drujensen> We will not support `render` and `render_module` in our controllers so we will move to one or the other approaches
<FromGitter>
<damianham> > Just looking at the description. Did you find a way to deploy the plugins as a shard? ⏎ ⏎ yes the zip download is just an available option, the primary installation method is via shards install with dependencies resolved
<FromGitter>
<damianham> > We will not support `render` and `render_module` in our controllers so we will move to one or the other approaches ⏎ ⏎ @drujensen as I mentioned in the PR comments - I don't see the issue of both code layouts co-existing in a single application. This is particularly the case for the HomeController and SessionController which don't make sense to push them into their own module as they have only 1 view file
<FromGitter>
... (usually) so in my apps they live in the standard locations i.e. src/controllers and src/views and anything else that is a full blown feature with lots of artifacts for the feature (JS SPA files also) is in it's own module. I think this is one of the beauties of Amber in that you are not forced to have your artifacts in ... [https://gitter.im/amberframework/amber?at=5ea7effb06bd4b490ecf3fd0]
<FromGitter>
<damianham> This conversation is being had in other web application frameworks also. I think the Lucky framework team are also discussing a modular code layout (if they have not already adopted it). If you were to adopt a modular layout then the next part of the conversation would be where would the modules live? In my apps I put them in __src/modules/{module_name}__ but if everything is then a module they could be children
<FromGitter>
... of src or modules could be a top level folder. The next evolution in modularisation would be to also place all the tests and configuration for a module in the module, e.g. each module would have it's own routes.cr file just like the plugins.
<FromGitter>
<drujensen> Ok. I will discuss with the team adding the third option of supporting both.