On Feb 13, 2010, at 3:22 PM, Kristian wrote:

Why not create a new "Hobo" like project (perhaps with another name)
from scratch, with the same goalds - to make it really easy to rapidly
create web applications using Rails 3 and the best plugins out there
in various areas. Perhaps from the start adding some more meta-model
programming approaches to it all? (as I see it that has been much of
Hobos current strengths). I feel the curent Hobo suffers from to much
"custom code" having to be maintained instead of just wrapping other
gems out there in a nicer way, fx Formtastic, Devise and some nice
role mapping solution?


I'm personally pretty "meh" on some of those specific examples:

- Devise has some interesting ideas, but 90% of what it does is already in Hobo or readily accessible. The Warden integration is interesting, but cross-language solutions like CAS are more likely to be helpful - lots of us have to deal with crusty old legacy PHP apps...

- Formtastic has some nice ideas (the grouping especially), but much of the other "gee-whiz" stuff is already in Rapid - most notably, the handling of associations via selects / radio buttons. The examples in the Rdoc remind me of DRYML, but now with 800% more % signs!

- role mapping: nobody is *ever* going to be happy with a single role mapping solution. Either you end up having a giant ACL system doing a job better suited for an "administrator flag", or vice versa. I'd be interested to see more recipes along these lines, but a plugin solution is always going to cause problems.

Also note that there's not anything *preventing* you from using most of these plugins - I'd assume, for instance, that Formtastic would pretty much drop-in. You'd lose all the autogeneration and permissions control that Rapid bakes in, but it would be possible.


The meta-model should  use a ruby DSL approach, not a static model!
Why not also take more advantage of the new Thor powered Rails
generators and templates. Been working a lot with these technologies
myself lately. They just need some nice code refactoring library to
really kick ass! Then skip the whole schema centered approach and go
for schemaless persistence backends such as Mongo DB and the like. But
can you deploy Mongo DB and similar to fx Heroku yet?

Schemaless DBs would eliminate a lot of complexity.
The end goal - keep the architecture of both the framework and the
"generated" app simple and flexible.

Schemaless DBs are very popular with developers right now - and they do offer some very powerful features. HOWEVER, there's still an awful lot of work out there that's rooted in old-school RDBMS applications, and most of the NoSQL stuff falls down once you want to start generating ad-hoc reports.


Design every framework component of functionality/feature set as a
plugin or gem, each created using BDD with Features, Scenarios and
Specs to act as verification and documentation to facilitate
extensions by others in the community. Why not join forces with other
groups working on similar Meta frameworks on top of Rails?
Hmm... just some ideas.

The whole "split everything into a billion bits" movement kind of annoys me - for instance, the fact that it takes about 30 gems to get a sample Merb app going. Modularity is one thing, but something isn't really "modular" until there are TWO interoperable implementations for a component. Until then, it's really just "divided". The "ORM agnosticism" trend followed the same pattern - ActiveModel is finally starting to simplify things, but before that being ORM independent really just meant writing everything N times to support N ORMs; see the Merb port of restful_authentication for an example.

More thoughts to come on the other post in this thread...

--Matt Jones

--
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en.

Reply via email to