Ruby on Rails 1.0 Released
Simon (S2) writes "Ruby on Rails 1.0 has been released. From the announcement: 'Rails 1.0 is mostly about making all the work we've been doing solid. So it's not packed with new features over 0.14.x, but has spit, polish, and long nights applied to iron out kinks and ensure that it
works mostly right, most of the time, for most of the people.' " The Ruby on Rails website has also been given a new look.
When talking about commercial software like MS Office, we talk about the "Open source equivalent" OpenOffice.org and stuff like that. I'm curious to know whether there is a commercial equivalent to Ruby on Rails.
Screw that overstated "It just works" stuff. I like the truthfulness of their statement, "it works mostly right, most of the time, for most of the people"
Excuse me for sounding dumb, but what is Ruby on Rails? I've heard a lot about it recently, but haven't the slightest clue what it is. A little bit of background would be most appreciated.
Agree that Ruby on Rails has got some traction. But when would it get enough traction to be used as a standard framework for web apps at enterprise level?
I am working in tech division of a financial firm, and I put question to our big app dev group if anybody had worked on RoR for a project - and most people had no idea what I was talking about.
Please note that right now almost everybody in the firm uses java/j2ee - for everything - even for batch processing which can be easily done with simple perl scripts!
I'd figuratively pee on my copy of Macromedia Flash if I knew a Blender 3D plugin had proliferated widely -- meaning if IE bundled it. Is this language/framework's new thinking done on the server side and to the clients it'd be business as usual, great, I'll put down my php book. What's the deal in this regard?
I'd prefer to look at it as a sign that maybe the jump from 0.14 to 1.0 is a bit premature.
.NET or any of the various J2EE web frameworks out there...Im not sure if this will do it, but I think next week's RoR 2.0 release will be the kicker that makes Microsoft and Sun/Apache/Spring wonder what they've been wasting their time on...;)
I'm thinking the authors are trying to get it up in the major release number so it can be seen as a true competitor to
Ruby on Rails provides a far superior solution for web sites than PHP in many cases. It would be excellent if it ended up usurping PHP for most PHP-based sites.
PHP's bad reputation with regards to its security is, unfortunately, harming the open source community. Managers who are considering switching to open source solutions are hearing about the security flaws in PHP, and mistakenly thinking that Apache, MySQL and Linux are insecure (due to the popular 'LAMP' association). Of course, that isn't the case by a long shot.
Regardless of what people switch to, the main focus needs to be on moving away from PHP. Ruby on Rails provides a rapidly maturing alternative for building all sorts of web sites.
Cyric Zndovzny at your service.
I've heard plenty about RoR on Slashdot - but to be honest, thats about where it stops. Does anyone have any experience or views deploying a medium/high volume commercial or enterprise solution using this?
I have yet to personally see RoR in either situation and I don't know anyone who has - I'm not knocking RoR, just curious how it's actually being used.
Since the web site is slashdotted (and the video too) could you explain what it is and why someone would want to use it?
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
A lot of people have begun moving away from Perl due to the slow development of Perl 6. Many are moving towards Ruby, which has drawn features and functionality quite well from Perl, and is currently moving at a quicker pace.
Now, that's not to say that Perl 6 may not encounter some degree of success in the future. Perl will most likely always have its users.
What the Perl 6 community might want to focus on now is developing the technology that will come after Ruby on Rails. Getting a step ahead in the web development arena may help bring users back to Perl from Ruby, Python and other languages and frameworks.
Cyric Zndovzny at your service.
I love Ruby. Once I discovered Ruby, it's become my prefered general purpose language. I love the fact it's a pure object oriented language. I love it's consisiveness. I love it's lack of "funny" characters (for the most part).
_ an_object_oriented_language (anyone who's farmiliar with rails will understand the underscores). During those 3 weeks I just couldn't enjoy programming and couldn't get into it. I tried 2 more times over the next 2 months to try it again, but the same thing.
I freakin' can't stand using Rails. I remember getting very excited about it when I first discovered it. Watching apps being developed in 15 minutes. I read all the tutorials. I even bought the book from pragmatic programmer. I studied and wrote programs for 3 weeks. And I just could never get into it. On so many occasions I just felt cheated. It was all valid ruby code, but it just didn't seem in the spirit of ruby. My namespace was cluttered with a million methods. The names of which didn't seem logical and_reminded_me_of_php_function_names_rather_than
The biggest annoyance was automated code generation. It was almost pointless for me. If I made changes to the database, I either had to a) wipe the directory and start over reimplementing my changes. Or b) go through all the MVC code and find the references to the database. Well, this is what I have to do in most other web languages anyway! So what's the advantage? Scaffolding was great at this because it did everything dynamically. However, you can't reasonably keep the scaffolding because it's not meant to be your program. It's meant to be support around your program.
The experience seemed more like programming in php with a twist of mod_perl. All the reasons I wanted to get away from perl and php for web programming were back when I tried to write a large application. Rails just doesn't seem in the spirit of Ruby. It's not bad. Don't get me wrong. But it's not this revolutionary framework so many people would have you believe. Sure, it's great to show the 15 minute video. But I'd like to see the video of someone doing a large project in rails.
If an officer ever threatens to taze you, say you have a pacemaker.
It's great that Ruby is 1.0.
But it's unfortunate that the preferred Ruby AJAX design pattern still includes prototype.js, because that library as written is fundamentally dangerous. It's written in a fashion which demonstrates that the author is very adept with JavaScript and functional programming in general; but it also does some unpardonably cute tricks in extending core objects, thereby changing the overall JavaScript environment and making the core AJAX library not play nicely with others. (And if ever there was an environment where you need to have good manners and not piss in the pool, it's the browser + JavaScript environment.)
The sad thing is that there's nothing about the functionality of prototype.js which requires all that object and syntax wizardry to function correctly. It could easily be re-written to be perfectly safe. But at this point, the bell has been rung; other libs such as Rico now rely on those same insidious tricks, and 1.0 is out the door.
Sigh. So close, so close.
You're trying to be funny, but you've got the only comment so far that mentions what I consider to be the most significant thing about Rails - convention over configuration. One reason why Rails development is so fast and often enjoyable is that you don't have to muck about with a lot of XML config files. If you just follow the path of least resistance, things just work out right.
The MVC triad in Rails uses the ActiveRecord class for the model part. ActiveRecord is an ORM (Object Relational Mapping) class that follows a few clever rules about doing the mapping, so most of the time you don't have to repeat your mapping multiple times. If you have a "User" class, it knows to look for a table in the db called "users", and assumes the primary key is an integer named "id". A foreign key to an account record is assumed to be called "account_id". The creation time of a record is assumed to be a datetime named "created_at". All common elements have reasonable defaults, so when you are working on your app, you don't need to spend a lot of time mucking about with config files to specify stuff that is just so fracking obvious that it is a waste of your time to type it.
Rails is not all things to all programmers, but it has certainly hit the sweet spot for a huge class of web applications - database backed interactive sites. The Rails design is good for probably 90% of the sites that I use most.
As for coder jollies, well, it's been a while since I enjoyed programming. With Rails I've regained my enjoyment for programming enough that I'm considering doing that for the main part of my work again.
I've briefly looked at all three frameworks, and here are my impressions:
Turbogears is made up of separately developed components; CherryPy for the controller and HTTP server, SQLObject for database modelling and Kid for templating. Turbogears is pretty similar to RoR, but has less automation, and has a more Pythonic and component-based approach to development. Sometimes it's a little obvious that the components were created separately
Django is more like Rails, but is somewhat more specialised. If you want to create a site with an administration section, then Django does a lot of the work for you. Beyond that, Django stacks up pretty equally against RoR.
Both these frameworks are Python based, which again results in some differences. They may be easier to learn, but may lack a little of the flexibility that Ruby boasts. Ruby doesn't have many features that Python hasn't, but it does have some.