4 ms·
As someone who has multiple Padrino apps running at customer sites: - Almost nothing is activated without explicit choice (except security-related things and r
by Argorak 14y ago
As someone who has multiple Padrino apps running at customer sites:
- Almost nothing is activated without explicit choice (except security-related things and really default things, like sessions, mind you). This mitigates the risk of attacks that hit a component that you didn't implement without knowledge. See the XML-parsing attack on Rails (CVE-156) for that hit everyone, even if they were not conciously accepting XML. Padrino users using MiniXML would be affected, but those are only the ones that actually know that they are using it.
- You can learn the whole stack in just a few days. And by learning, I mean: including reading and understanding most of the source. This makes it much easier to get new people on board that didn't learn this specific framework for a few month already.
- Everything that can be changed can be changed via an API. (Almost) no need for monkey-patching.
- Very Rack-friendly. Programming Padrino well means that you leverage a lot of technologies that are standard in the Ruby anyways.
- No unneccessary magic for saving a few lines. The whole bootstrap-process is very straight-forward. If you want to know why something happens, its very easy to figure out the series of events from your code.
- Very low on stack frames. I hadn't figured that out before, but that makes debugging that much easier.
- Theres another thing that I call "load to memory", for lack of a better word: the mental overhead to understand and remember how that part of the framework that you are currently working with really works is low, so its easy to get it into your head once you need it.
- Its _very_ flexible. Everything that Padrino _doesn't_ do also means that you are free to implement things and it won't break during releases. For example, it doesn't really expect a fixed application layout - its just a very well chosen set of default load paths. If you want to change that: go ahead - organize your project in a fashion that makes sense.
- The best convenience parts of Rails (I18n and active_support) are available to you.
And finally: a completely different philosphical approach. We don't serve omakase, we provide you with fresh ingredients, pots and pans, because we believe that _you_ are the best chef.
- DAddYE 14y agoI wouldn't able to explain better!