3 ms·
It's not obvious from the website, so I'm curious what problem does it solve?
by snitko 10y ago
It's not obvious from the website, so I'm curious what problem does it solve?
- lazarus101 10y ago>what problem does it solve? it's not rails.
- jxxcarlson 10y agoMy (limited)experience is that when a rails app gets too big, it becomes hard to manage. That was my case, anyway. The architecture of hanami promotes longterm developer sanity. The fact that views are objects and the existence of interactors is a real plus. See this old Uncle Bob video re interactors: https://www.youtube.com/watch?v=WpkDN78P884 https://www.youtube.com/watch?v=WpkDN78P884
- andrei_says_ 10y agoAlso, well designed (no hard to maintain monkey patch mess behind a simple interface)
- gmanley 10y agoIn essence it tries to be a framework like Rails, in that it is all inclusive, but without all the "magic" that has been discussed about Rails lately. Most things are just plain old ruby objects and you include the modules you need. This is an oversimplification, but for example: When I build out controller actions in a Rails app, I typically will break out complex actions into service/action/command classes. This allows me to test the logic in isolation from the controller, and allows for true unit tests without need to actually make real requests. Hanami, on the other hand, right from the get go, makes actions there own classes for this very reason. Also the idea of an "Application" is a bit more vague. Your main app is more a meta-app. This, in theory, helps you develop separate service like applications that are then mounted within this meta-app. This may make it easier to break out into actual services later on. If you just follow "Rails conventions" and the app is long living, it can get pretty damn unwieldy. I guess the idea here is you can follow Hanami conventions and the app will be more maintainable even at large sizes.