Rails – but without all the Rails
At work I’m assigned to a project that is a simple 2 view web app. There is a ton of information and a great deal of calculation. It’s a financial application focused on insurance premium processing. Moreover it’s a quoting system, so to speak, so there has to be a great deal of flexibility to the views. You have to be able to add/subtract items and modify percentages and rates. All the while the view must keep other parts of the screen refreshed with the new calculations.
Ruby on Rails is a great web framework. But for this kind of application I’m not sure it was the right choice. I would have possibly looked at SproutCore. In fact, the application I’m working on reads like a white paper for SproutCore. Rails on the other hand is super good at making data entry and data management a breeze. It has it’s abilities elsewhere, like AJAX support baked in and RESTful practices nearly required. But it just doesn’t really support a “thick” client the way SproutCore does. It is more focused on quick development of views that receive info and save them back to a database (wash, rinse, repeat). People have done enormously different things with Rails outside of this, but with great effort to shoehorn Rails.
Which sort of leads me to my thought – software designers/architects need to step away from the “hot” technology for a moment. Look around. Is there anything else that does what you need a little bit better than the newest trend? It’s really easy to just answer every question with the same answer. It ends up something like Rails but not like Rails at all. Rails without all the Rails.
To a man with a hammer, everything looks like a nail.
-Mark Twain
To be sure – I might have suggested Rails too. Rails is too easy to get something started with. It’s actually working out nicely. But when compared to other frameworks it turns out looking like more work than was necessary.
Now, would I be tempted to rebuild the application I’m working on in SproutCore?
No. At least not on company time!