7 ms·
Hanami – web framework for Ruby
- lukeholder 10y agoFor those unaware, this project was previously called Lotus. I think this is being upvoted because it was mentioned in the recently popular solnic[0] blog post. [0] http://solnic.eu/2016/05/22/my-time-with-rails-is-up.html http://solnic.eu/2016/05/22/my-time-with-rails-is-up.html
- percept 10y agoIt was a good name, too.
- Smudge 10y agoThey got a friendly warning from IBM telling them that they were infringing on the "Lotus" trademark. https://github.com/hanami/hanami/issues/445 https://github.com/hanami/hanami/issues/445
- aroman 10y agoThat's not what the link shows. It seems from that thread that IBM never contacted them, they just changed the name preemptively and out of an abundance of caution.
- Smudge 10y agoThe warning may not have been official but it did come from IBM -- the linked issue's creator is an IBM employee.
- beat 10y agoYeah, I can see why IBM wouldn't want anyone confusing a framework for designing clean, beautiful, elegant software with Lotus Notes...
- alien3d 10y agoI need advice .. i been using idcms for long time since 2006 for open source product at sourceforge and suddenly ibm using the name idcms also. http://dita.xml.org/resource/idcms-blue-ibms-information-development-content-management-strategy http://dita.xml.org/resource/idcms-blue-ibms-information-dev.... For now, nobody complain anything about it because not so famous product.
- rtpg 10y agoWow, the project owner really went cynical towards the end...
- deleted 10y ago[deleted]
- the_watcher 10y agoI definitely hadn't heard of it until his post. Prior to that, only really knew of Rails and Sinatra as Ruby frameworks.
- arnvald 10y agoThere's a few more: * Padrino (http://padrinorb.com http://padrinorb.com) built on top of Sinatra * Volt (http://voltframework.com http://voltframework.com) which allows you to write Ruby both in the backend and front-end * Cuba (http://cuba.is http://cuba.is) is a web microframework * Roda (http://roda.jeremyevans.net http://roda.jeremyevans.net) is also a microframework (both Cuba and Roda are like toolkits with very basic cored and a bunch of plugins distributed together with the framework)
- dangerboysteve 10y agoVolt looks really interesting.
- the_watcher 10y agoOh nice, Volt looks really cool
- midgetjones 10y agoWhich came first, this or Phoenix (for Elixir)? The design seems very similar.
- jodosha 10y agoI'm the author of Hanami. We started at the same time, but unfortunately I never had the chance to play with Phoenix.
- adamors 10y agoThank you! They changed the whole site so I thought Hanami popped up from nowhere. I checked it out when it was still called Lotus, looked really interesting. Good to see this project gaining ground.
- snitko 10y agoIt'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.
- andrei_says_ 10y agoHas anyone been using this? What's your experience? What kind of project? I am wondering if there are components for common scenarios like authentication etc?
- gmanley 10y agoFrom my experience it is still pretty alpha quality. I ran into a weird issue with the inflector library they rolled themselves and had to dig through the code to figure out what was going on. This was about a month ago, so things could have changed, but I wouldn't recommend this for production app just yet. At least one that you have a timeline on.
- jxxcarlson 10y agoI've been using hanami for http://www.scripta.io http://www.scripta.io, which is a re-engineering of http://www.noteshare.io http://www.noteshare.io . I've been very happy with the transition from rails to hanami, so much so that I now have a second hanami app facing the world: http://www.shoobox.io http://www.shoobox.io.
- gmanley 10y agoNice, maybe I should take another look. I really dig the idea. Might of just been bad timing.
- andrei_says_ 10y agoLove your projects and discovered http://asciidoctor.org http://asciidoctor.org by reading on shoobox -- exactly what I needed! What came to mind looking at scripta is that you might find it useful to look at https://edwardtufte.github.io/tufte-css/ https://edwardtufte.github.io/tufte-css/ What do you use for persistency? Sequel?
- jxxcarlson 10y agoThank you very much for your kind words -- and for the link to the Tufte-CSS site. Very good material there, as you would expect from Tufte. You may also enjoy this: http://practicaltypography.com/why-theres-no-e-book-or-pdf.html http://practicaltypography.com/why-theres-no-e-book-or-pdf.h.... I use postgres for persistency -- mostly throgh Hanami's model component, though I do some parts directly in sequel.
- hardwaresofton 10y ago% hanami new bookshelf 18 files successfully created Description is a little misleading, I was expecting to see something sinatra-like but found something rails-like. It might be more apt to call it "The lightest full-featured ruby web MVC framework". Obviously that doesn't make for a good tagline, maybe: "A full-featured yet light-weight web framework, for Ruby."
- vinceguidry 10y agoI would love to see an intermediate framework between Sinatra and not quite as huge as Rails. Hanami could fit that bill. But it appears as if it's trying to compete with Rails, in which case I'll never bother trying to learn it, because I already have Rails. From what I've seen of the code it looks like that's the case. What would be really awesome is a way to 'promote' projects. Currently, if I start a Sinatra project and I realize later that I needed Rails, I've no choice but to either re-engineer the entire project, or tough it out with Sinatra. If I had an upgrade path, then I could start every project off in Sinatra, then when I start finding myself wanting more functionality, fluidly migrate to Hanami or Rails.
- jaequery 10y agoHave you tried Padrino? Of all the frameworks I've tried in the past 10 years, this is as good as it comes. Love the Sinatra + Sequel + erb setup as it is simple and straightforward. Fast and elegant without the Rails lockdown architecture. http://padrinorb.com/ http://padrinorb.com/
- vinceguidry 10y agoHmm, that's a good suggestion, and to be honest, I knew something like that already existed. It's fine to migrate from Sinatra to Padrino, Padrino is built on top of Sinatra, but what I really want is a path to migrate to Rails. I suppose what I could do is build according to a convention in Padrino that I know would work well in Rails, then when the time comes, write some scripts to transform the codebase. Probably a job for Rake. Really though, I can't see much of a benefit over just starting with Rails. I might try it once just to confirm.
- cyberferret 10y agoNo reason why you can't just stick with Padrino for full scale development. I have an app with over 22,000 lines of Ruby and HAML with about 80 database objects all written in Padrino and it runs beautifully with around 150 users at the moment... (www.hrpartner.io)
- cageface 10y agoI'm happy to see some new ideas in Ruby frameworks but at this point if I'm going to go to all the trouble of learning a new framework I'll learn a new language too. A lot of the problems of Rails (slow, poor concurrency story, dynamic typing) are Ruby problems not Rails problems. A few years ago there weren't a lot of great options but now we have Go, Scala, Clojure, C# on Linux, Elixir, Swift (maybe eventually) etc.
- eulji 10y agoI'd like to see some high performance ruby implementation for backend stuff (even if limited to some extent ...) sort of like what RubyMotion is for iOS/OS X. I can imagine a lot of stuff that could benefit from this on the other hand I can see why it has not been done (costs, complexity etc). Anyway I am sad that RubyMotion is not just as popular as Rails is. That is...very surprising...
- unusximmortalis 10y ago"The web, with simplicity." Isn't this what every web framework ad is saying with more or less same words?