“Rails 1.2 is finally available in all it’s glory. We got the RESTful flavor with new encouragement for resource-oriented architectures. We’re taking mime types, HTTP status codes, and multiple representations of the same resource serious. And of course there’s the international pizzazz of multibyte-safe UTF-8 wrangling.”
It doesn’t seem to be that popular. In the beginning people were very focused on the hype, but I don’t see many web sites powered by RoR (except very few Web 2.0 web sites). Do you see a future for RoR?
I suppose it’s hard to say as i suspect many people are using RoR on private LANs and intranet’s, I suppose it’s limited by ISP’s adoption of Ruby, which I don’t know for sure but I think it has performance problems or something (or so it’s been flamed..), I have spent 6 months developing an intranet app in RoR and really have an immense appreciation for the Ruby language especially for OOP (…being a totally oo language), it is just so elegant, It just seems as if Ruby was made for web development…
On the other hand I’ve spent the last 2 days learning CakePHP (for our website.. lack of Ruby support on our ISP) which is really a shock to the system… PHP OOP looks like a train crash, I’m speaking totally aesthetically though, I don’t know what is really happening in the interpretor… but anyways that’s just my 2 cents..
Oh yes another thing… Their needs to be a *simple* way for ISP’s to incorparate Ruby/Rails support into their existing Apache/PHP servers… something like the dynamic PHP module.. or something…
Edited 2007-01-19 17:51
Their needs to be a *simple* way for ISP’s to incorparate Ruby/Rails support into their existing Apache/PHP servers
It’s not so easy. PHP runtime environments are easy for running massive amount of applications. Resource usage will scale with the amount of traffic those apps are getting, since the PHP interpreter only gets run when a php script is run.
With Rails you need to have a dedicated process running for each app in order to achieve any sort of performance and reliability. Mongrel is the preferred choice, and each mongrel process is going to suck up 30 – 50 MB of RAM. Most of those super cheap hosting plans that people have are ‘shared hosting’, where everyone gets packed onto a box, and resources (especially ram!) are limited. This is why best way to run a rails app is with a dedicated rails host. I recommend Rails Machine (http://www.railsmachine.com).
All of that Rails goodness isn’t free. It will cost you more in server resources. Like everything else in this world, there is a trade off.
“I think it has performance problems or something”
Yes, ruby has performance problems alright. In order to run my website I have a small mongrel cluster with apache pointing the way and it sucks up every bit of life out of my dual athlon mp box. Compared to the impressively fast django which takes little to nothing in comparison. Personally all my webapp development stuff lately has been with django/python for that very reason. That and setup/deployment seems easier to me with mod_python.
*
Edited 2007-01-19 17:51
I would hope it does have a future. I have seen alot of interest in Rails lately, although it has died down since the Version 1 release
From my observations, its growing. I’m biased however, since I do RoR development full time.
Rails has been carving out a niche in web 2.0 startups, because of the quick development time and easy refactoring if the project changes direction. Greenfield projects are a natural target for Rails projects, since such projects lack any investment in a more established platform.
I see its usage growing, both in websites as well as educated programmers, jobs openings, books written on the subject, etc. Ruby also broke the top-10 programming languages this year–largely because of Rails.
Besides actual websites, it seems like it gets a lot of usage for internal company sites and prototyping. Deployment is a bit of a pain (especially since many hosting services don’t properly support Ruby), but it’s terrific for LAN-based apps.
It seems to be growing quite well. I saw a couple of presentations on it at DefCon (one official and one not) last year and have noticed a lot more books and job listings available for Ruby on Rails.
Personally, I love Rails. It is the best platform for writing web apps available (although Django is close), I think. It is simply correct. It encourages good development practices and uses proven patterns. Not too many web development tools (e.g. Java, .Net, etc.) can say that.
How do you figure “people were very focused on hype”.
There is no Sun or MS or IBM pushing RoR. As with Django, the buzz about it comes from the people who use it who, are excited by the potential of a well designed technology. The prominent developers who have enthused over RoR are not lightweight novelty seekers.
Look at Martin Fowler’s site, James Duncan Davidson (Mr Ant and Tomcat), Bruce Tate, the Pragmatics, Jim Weirich, Kent Beck …
There are many ways to assess if a technology is “taking off”, but one measurable way is to look at what developers are currently studying.
Respect to all Python and Perl developers but Ruby/Rails books now outsell Perl books and Python books and that growth has been sustained over 3 years
http://radar.oreilly.com/archives/2006/07/ruby_book_sales_pass_perl…
That suggest to me that Rails most definately has already “taken off”.
In addition to the 1.2 release, this year will see vastly improved Ruby runtimes and associated performance increases, see YARV, and hopefully improved support by hosting companies.
Genuine enthusiasm != Hype.
The real question is: does it allow to easily develop ajax-powered, web2.0 enabled, e-commerce sites?
It most definitely does, ajax is extremely easy to do in Rails. It integrates nicely with the Prototype and Scriptaculous libraries.
Yes. That’s one area where Rails shines.
Where Rails lacks is in documentation – the basics are easily accessible, but learning to do the more complex stuff takes a lot more digging/searching/asking. Well worth it though.
There are also hundreds of plugins for Rails that extend its usefulness in all kinds of ways, or make certain tasks even easier. This is in large part thanks to the way in which Ruby makes it so easy to extend classes at any level.
http://www.agilewebdevelopment.com/
Yes of course, as easy as mod_python or PHP (if not easier).
As easy as PHP? Definitely MUCH easier. Cleaner code, and a lot less of it.
Probably on par with Python (which has a good web framework in Django).
I’ve used Rails (1.1.x) and it is quite nice. They’ve done an excellent job with it.
For us Pythonistas, there is TurboGears. It is my personal favorite due to its generalized nature:
http://www.turbogears.org
For CMS oriented jobs, Django is probably without equal.
http://www.djangoproject.com/
If you really like the way rails does things, but prefer Python, you can have a look at Pylons.
http://pylonshq.com/
I want to be careful to point out that Django can be used for non-CMS applications. That is simply its focus.
Sometimes we TurboGears fans forget to make that clear. Much to the annoyance of Django fans, I’m sure. 😉
Edited 2007-01-19 19:23
Seems to me the the Rails javascript ‘spinoff’ prototype is making more of an impact than Rails itself, which is interesting given that some of the features in prototype are designed to be ruby-esque. BTW… Does Ruby still use the ‘Active record’ DB mapping model? I remember looking at this stuff before and thinking that it’s probably not suitable for large scale or unusual projects?
Does Ruby still use the ‘Active record’ DB mapping model? I remember looking at this stuff before and thinking that it’s probably not suitable for large scale or unusual projects?
Yes, ActiveRecord is still in use.
Its fine for large scale and ‘unusual’ projects. If you need to call a stored proc, or run some sort of crazy table join, you can write custom code in your model to do that.
Also, if your schema does not conform to what ActiveRecord expects (ex: primary keys are not named ‘id’), you can configure your model object so that ActiveRecord uses the correct fields.
Do what java does.
Cheat.
Convert code to C then compile. Free eiffel compiler does this for their language.