Live data from Hacker News

Ruby Frameworks? Which one? Bye bye Rails.

slideshare.net

41–50 of 93 posts

Re: Ruby Frameworks? Which one? Bye bye Rails.

#41

I empathize with the comments from the folks who are already heavily invested in Rails. It’s so easy to “just throw the whole stack at a problem” or “kill a fly with a shotgun.” This is always the way, and it’s why new ideas rarely displace the old ones directly. Instead, they have to appeal to a younger, nascent “market” that are not attached to the old product. Padrino’s best bet is to appeal to a younger, fresher…

I'm all for new ideas and tools, but you have to bring something to the table other than just being different. And just being "smaller" is not enough.

This is the problem with Padrino- it isn't different enough. We don't need a smaller MVC Ruby framework, as there isn't much space between what Sinatra is great for and what Rails is great for.

There is also an assumption that scaling Sinatra up is a good idea. I'd propose that it's likely not.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#42
post #30

Earlier quoted context omitted.

This is a weirdly emotional appeal that ignores the fact that Rails is not Struts, is nothing like Struts, isn't standing still, was more or less rewritten not very long ago by assimilating its best competitor, and that the next ORM or gem that isn't popular today on Rails is very likely to be bootstrapped and implemented in the context of Rails --- unless its key distinguishing value is "a not-Rails replacement for…

Aw, come on, nothing I said was critical. It’s a very good thing to be conservative in places. If you’re sitting down to write a new program, how many things ought to be innovative? Where should you be breaking new ground? You can’t pick up a new programming language, roll your own new framework, learn a new programming paradigm, use it to start a new company and go into a new market, all at the same time. You pick a…

You didn't say "Java web development", you said "Struts".

You didn't say "break new ground", you said "younger developers".

You didn't say "pick and choose", "risk and reward", you said "resistent to adoption" and "conservative".

And you said it on a thread mostly populated with people who used Sinatra --- we weren't "resistent" to Sinatra (I was seduced by it). We adopted it. It turned out to be poorer than Rails for our use cases. Given two options, one of which was better than the other, we used the better option; that's engineering.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#43
post #11
post #3

I definitely love Sinatra, and I'm impressed by the admin interface, but it looks like there's no support for DataMapper as an ORM. I also wonder if this is just turning Sinatra into Rails. I think for the now I prefer to just build a Sinatra app and add gems and plugins as I need them.

Padrino supports the following ORMs out of the box: mongoid, activerecord, datamapper, couchrest, mongomatic, ohm, ripple, sequel. Take a look here: http://www.padrinorb.com/guides/generators Padrino is just a Sinatra app with a very basic skeleton and some added functionality. Almost all the pieces are modular and doesn't have many requirements from the start.

On small addition: Padrino is also a Layer that stitches multiple Padrino Apps together, which is the true shiny feature.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#44
post #17
post #8

Padrino is really nice web framework for Ruby. I have used it for experimental projects. My work was using latest Padrino framework at work, but extremely unhappy with the its performance (slow response). We had ported the app to Rails 3.1 for better performance. (We will upgrade it to 3.2 soon) In fact, I think Padrino is pretty ideal for personal and small apps. Not really ideal for medium to large apps. Just my op…

Warn: is opinionated Btw I switched lots of projects from rails to padrino due to the slow performances of rails. I built a small test suite where you can find that Padrino is upto 4x faster than rails. Check it out: https://github.com/DAddYE/web-frameworks-benchmark Feel free to show me that Im wrong.

I am not against the Padrino web framework. I still like it. :-)

So your benchmark only have tested against the small "Hello World" app. Maybe that's why I suggested that Padrino framework is pretty ideal for small/personal/API projects for fastest responses.

Have you tried benchmarking your one of biggest padrino apps?

Re: Ruby Frameworks? Which one? Bye bye Rails.

#45

I empathize with the comments from the folks who are already heavily invested in Rails. It’s so easy to “just throw the whole stack at a problem” or “kill a fly with a shotgun.” This is always the way, and it’s why new ideas rarely displace the old ones directly. Instead, they have to appeal to a younger, nascent “market” that are not attached to the old product. Padrino’s best bet is to appeal to a younger, fresher…

I'm all for new ideas and tools, but you have to bring something to the table other than just being different. And just being "smaller" is not enough. This is the problem with Padrino- it isn't different enough. We don't need a smaller MVC Ruby framework, as there isn't much space between what Sinatra is great for and what Rails is great for. There is also an assumption that scaling Sinatra up is a good idea. I'd pro…

It actually turns out that being smaller can be worse if it means you're just building a half-assed implementation of something Rails 3 already does well.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#46
post #6

This reminds me of Flask for Python (nb. although more is built in to Padrino, most of the functionality for Flask is provided by plugins). I've recently started using Flask for new projects in favor of Django. I feel that most of the libraries I use are framework agnostic, stuff like ORM (SqlAlchemy), PDF generation, redis/mongodb adapters etc, so being able to pick what fits and leave the cruft out is great. But be…

Could you go more in detail with your experience with Flask? I am new to web development and I am developing a landing page in Flask. I tried to use Django or Rails in the past but I just hated not being able to understand what I was doing. Flask is really, really, straightforward, I rolled out my own authorization plugin as a decorator and it feels good to be so close to the application. But I keep thinking if I should move to RoR in case my landing page succeeds and I will have to build the real application. Mostly, I am concerned about hosting and scaling...

Re: Ruby Frameworks? Which one? Bye bye Rails.

#47

As someone that has been writing production Rails and Sinatra apps for years, I have to recommend against using Padrino. Rails scales up and down pretty well, and I don't really see a need for Sinatra in anything but very small or single-purpose apps. You can even write a Sinatra clone in very little code on top of Rails: http://yehudakatz.com/2009/08/26/how-to-build-sinatra-on-rai... If you already know Rails, there…

Sinatra has a great use case in Service Oriented Architecture and APIs. One Rails app supported by 4-5 Sinatra/Rack apps.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#48

I empathize with the comments from the folks who are already heavily invested in Rails. It’s so easy to “just throw the whole stack at a problem” or “kill a fly with a shotgun.” This is always the way, and it’s why new ideas rarely displace the old ones directly. Instead, they have to appeal to a younger, nascent “market” that are not attached to the old product. Padrino’s best bet is to appeal to a younger, fresher…

I'm all for new ideas and tools, but you have to bring something to the table other than just being different. And just being "smaller" is not enough. This is the problem with Padrino- it isn't different enough. We don't need a smaller MVC Ruby framework, as there isn't much space between what Sinatra is great for and what Rails is great for. There is also an assumption that scaling Sinatra up is a good idea. I'd pro…

I beg to differ.

There is a lot of space to cover between a bare-bones HTTP DSL (which Sinatra is) and an opinionated full-stack like Rails. For example, Padrino allows you to freely choose between a lot of Ruby ORMs _and provides support_ to use them. Try that with Rails.

As another example, Padrino allows you to do Rails-Engine-like things in a very natural way (by hosting multiple applications in one Stack etc.). It is not a Rails rehash on a different base.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#49
post #7
post #3

I definitely love Sinatra, and I'm impressed by the admin interface, but it looks like there's no support for DataMapper as an ORM. I also wonder if this is just turning Sinatra into Rails. I think for the now I prefer to just build a Sinatra app and add gems and plugins as I need them.

Same here. I really like Sinatra's gem ecosystem, and with unobtrusive Javascript I don't have much framework-dependent code on the views, nor helpers like his link_to confirm example, in the presentation... I admit that sometimes I miss generators, but Sinatra's boilerplate code is so minimal that I just don't care much anymore.

Once before starting a biggish app I sat down and wrote my own generators to create controllers with crud actions and views for them.

Re: Ruby Frameworks? Which one? Bye bye Rails.

#50
post #44
post #17

Earlier quoted context omitted.

Warn: is opinionated Btw I switched lots of projects from rails to padrino due to the slow performances of rails. I built a small test suite where you can find that Padrino is upto 4x faster than rails. Check it out: https://github.com/DAddYE/web-frameworks-benchmark Feel free to show me that Im wrong.

I am not against the Padrino web framework. I still like it. :-) So your benchmark only have tested against the small "Hello World" app. Maybe that's why I suggested that Padrino framework is pretty ideal for small/personal/API projects for fastest responses. Have you tried benchmarking your one of biggest padrino apps?

That's not 100% true, there are more than `hello world` benchs.

Check it out here: https://github.com/DAddYE/web-frameworks-benchmark/tree/more...

Yep, speed is 4-6x faster, but most important for me is memory usage is much much less.

On every Rails project I need to use monit/god to stop/start when for xx cycles memory is > 100mb or so. Without that a rails project can sucks 1-2gb of ram.

Isn't quite normal to my standards, in fact generally Padrino doesn't need more than 70mb. But here a lot of work must to be do.

Post reply on HN