Disclaimer: I am biased.
A lot of noise started about the use of RoR in the enterprise. Can this be done? Technically, I don’t see a reason against it.
Programmers low in a company’s food chain would have to overcome some obstacles in order to push their favorite framework into everyday use.
I tried to identify some of your manager’s concerns:
What?! You develop using a text editor?
Managers realize they don’t have to shell out more than $0 – $300 for tools/IDE, and they think something is wrong with your favorite framework.
Welcome to open source software. I know there is good and bad open source software out there. Ruby on Rails is good.
Haven’t you read all the articles about performance issues?
If you know what you are doing, there shouldn’t be any significant performance issues. Rails does many things for you so you can concentrate on developing your application. Frameworks that automate the plumbing for you usually have performance problems, but this is almost always true because programmers don’t know how things work behind the scenes. As a result they don’t know what to avoid or how to write optimized and efficient code.
Fortunately, the longer you use a framework the closer you will be knowing all the tips you need to know in order to avoid any performance issues.
I have heard you can’t easily scale if usage explodes.
Well, look at 37signals products. They have more than 1.000.000 users. There must be a way to scale, and maybe it is a matter of learning how. According to one of Twitter’s developers, Ruby is a slower language than Python for example. Some say it doesn’t matter for web applications since you don’t need that much speed. What you need is fast database access and a way to scale on the database end.
Rails suffers there as there isn’t a transparent way to create a pool of databases to choose the one with less load. There are techniques to compensate, but there are voices saying this is not enough.
I think that for applications developed for a small audience, you will have not problems with RoR. Usually, the applications for a company’s intranet fall to that category.
I any case, you can read several articles about the matter and then confront your boss.
It’s free for God’s sake
Ok, you lost me there. This is an advantage not a disadvantage.
Some tips for pushing the boss to your direction:
- Do it first, then present the results.
- Do it by solving a company’s problem. For example, develop a prototype for that helpdesk software they always talk about but never implement.
- Find another coworker that can develop the same passion as you.
- Just do it, don’t talk theoretically about it.
- Show them a list of big name companies using Ruby on Rails.