I love Rails. And Ruby too ! Though I must admit that learn OOP, Ruby and Rails all together, coming from years of mainframe programming with prehistoric languages, without a mentor and having only a few hours per week to devote, is a pretty demanding task ! It seems to me that the common real-life application chosen for tutorials and books is the "classical" shopping-cart-based online shop. This makes sense in the age of the new economy but there are many others business applications with different requirements. This is quick comparison of the two from my point of view. Online shops and similar: - many occasional users - simple and little structured data - users need to enter very few (and simple) data - users do quite simple searches - a winsome and highly distinguishable look & feel is very important Old style business app (invoicing, for instance): - few regular users - complex and highly structured data - users enter a huge amount of data - users need to do complex queries - user interface is very repetitive (basically three types of forms: search parameters, list, edit/enter data) - the cleaner UI the better but it should be rich of data-driver features (filter for, lookup of complex data-set, export, etc.) What this has to do with Rails I'm not sure but I dream of a super framework (based on Rails, of course) which would provide features like these: - a smart table helper (like http://www.movinfo.it/movtable/demo/, for instance, perhaps with less js and more ruby) - a model-aware user-friendly query builder - a built-in function to export query in xml or pdf - a model-aware lookup helper like the Browse link you can see at https://www2.hertz-europe.com/ And of course it should provide a built in user management (with roles and privileges), localization support, logs and alerts for the admins, etc. I know that many of these features are available as third-party helpers or plugins and the ones that don't exist can be quite easily (more or less :-) built from scratch using our powerful framework. But: - wheel reinvention is rarely a good option - I would like to concentrate on domain specific issues rather than built the next framework layer - I'm sure there are thousands of smart programmers that can do it much better than I could - I don't want to spend time to search, evaluate, integrate and debug a couple of dozens of third party extension Am I the only one who feels these needs ? Bruno
on 2007-03-10 12:17
on 2007-03-11 07:16
> coming from years of mainframe programming with prehistoric languages, > without a mentor and having only a few hours per week to devote, is a > pretty demanding task ! Mentor can come in different ways, as a book as someone who replies to you on a mailing list, blogs etc. So there is no excuse of not having a mentor. You must seek mentors and find one, it is your responsibility. If it was easy the hefty pay for talented Ruby programmers will be thing of past. This makes sense in the age of the new economy but there are many > others business applications with different requirements. Knowing how to use the framework is different from knowing how to solve business problems. You need solid understanding of OOAD concepts. Check out http://guide.zepho.com/version1. I have read more than 50 books on OOAD and that book was the result of making complicated concepts easy to understand for anyone. > - a winsome and highly distinguishable look & feel is very important You need to learn how to walk before you can run. I agree most of the books are pedagogical in nature. Those who are doing real-world projects are too busy to write books. There are few books like Money Train which is based on a real project.
on 2007-03-11 18:50
Thank you for your answer. Any suggestion is really very welcome though my scanty attempts on the way of evolution were not the central point of my post. I see a huge number of business applications still working on green screen terminals. I'm convinced that the effort to migrate them to the http paradise could be greatly reduced with the help of a Rails-based-business-app framework. Many of them differ a lot from the business point of view nonetheless their user interface could be easily modeled into standard forms. I simply feel the need of a higher level of abstraction mainly on the V side of MVC (plus, perhaps, some more built-in house-keeping features). This is my dream for the next version of Rails. What's your ?