Topic: Ruby on Rails (Page 1 of 1) Pages that link to <a href="https://ozoneasylum.com/backlink?for=28174" title="Pages that link to Topic: Ruby on Rails (Page 1 of 1)" rel="nofollow" >Topic: Ruby on Rails <span class="small">(Page 1 of 1)</span>\

 
Blaise
Paranoid (IV) Inmate

From: London
Insane since: Jun 2003

IP logged posted posted 07-06-2006 15:44 Edit Quote

Hello there folks,

I've been reading a lot about this lately and have been very impressed by the sheer speed a working project can be set up with this framwork and technology.

What I would like to know is, does anyone here have any experience with using it, either commercially or non-commerically, has anyone found any particular problems or unexpected suprises with it, and how easy is deployment?

Here are some nice resources:
Ruby on Rails - check out the screencast, whoops!
Rolling with Ruby on Rails - A quick introduction and walkthrough example.
Rad Rails - A Ruby on Rails standalone IDE based on the ever impressive Eclipse platform.

I've had experience with server-side programming, but my OO programming is practially non-existent, and as Ruby is a very clean and consice OO language, has anyone any tips on how to appreciate OO programming?

Cheers,

Tyberius Prime
Maniac (V) Mad Scientist with Finglongers

From: Germany
Insane since: Sep 2001

IP logged posted posted 07-06-2006 16:10 Edit Quote

Yes, indeed .

OO is, apart from all the technology, a mind set, an ability to grasp code and data together.

Personally, the breakthrough came after reading Gang of Four book ,
which I can highly recommend.

So long,

->Tyberius Prime

WarMage
Maniac (V) Mad Scientist

From: Rochester, New York, USA
Insane since: May 2000

IP logged posted posted 07-06-2006 16:39 Edit Quote

RadRails is developed by a group of guys here in Rochester. I hear that they get razzed a bit about writing a tool for Ruby in Java.

Definately read the Gang of Four design pattern book. That has got to be one book I read far too late into my career, it is really really good.

If you are interested in Rails definately pick up Agile Development with Ruby on Rails. It is in version 2.0 now which is what you should be getting. I know the PDF is available, but I am not sure if it has been printed yet.

Rails is currently my framework of choice. I still do 90% of my work with Java but Rails would be what I would want to do it in. A good benchmark for performance might be basecamp. That site is widely popular and is running using RoR, if they can do it then you should be able to as well.

Dan @ Code Town

bitdamaged
Maniac (V) Mad Scientist

From: 100101010011 <-- right about here
Insane since: Mar 2000

IP logged posted posted 07-06-2006 18:49 Edit Quote

Don't forget, Why's (Poignant) Guide to Ruby one of my favorite programming writings ever.

It's got cartoon foxes.



.:[ Never resist a perfect moment ]:.

Steve
Maniac (V) Inmate

From: Boston, MA, USA
Insane since: Apr 2000

IP logged posted posted 07-06-2006 21:54 Edit Quote

Blaise - the Gang of Four is a priceless resource for learning Design Patterns concepts and strategies but I don't know how useful it will be with RoR which imposes one Pattern on the developer, namely the Model View Controller pattern. I can recommend the Agile Development book highly, though as was mentioned the 2nd edition is vital because things have changed significantly since the 1st edition.

I had a brief immersion in RoR last fall and ultimately got frustrated and walked away for a while. It is true that dazzling things can be done but as a sole practitioner I realized that RoR's great power and flexibility demands , among other things,more knowledge of server configuration and MySQL than I had, and I didn't have a team to back me up in the areas I was weak in. It also is a rapidly changing framework which generates a lot of energy and excitement but which means 2 things to a dabbler like myself: you really have to stay on top of it, and it's not well documented yet. There is however a large and enthusiastic user base and support seems pretty good among the large ISPs.

There are lots of shortcuts and shorthands, lots of methods that invisibly become enabled if you simply include "acts_as_tree" in a model definition for example. There are loads of tutorials that show how fast and simple it is to make a to-do list, but as soon as you want to do something more interesting than a to-do list the water gets deep fast.

I haven't given up on it, but as I said I did have to give myself some distance for a while because I was getting frustrated at spending time and brain cells and having nothing to show for it.

I wish you luck!

Steve
Maniac (V) Inmate

From: Boston, MA, USA
Insane since: Apr 2000

IP logged posted posted 07-06-2006 21:57 Edit Quote

Oh - and as bitdamaged pointed out, Why's Poignant Guide is quite unlike anything I have ever encountered on the internet. It's in a category all by itself. But, as the title suggests, it's a guide to Ruby which is the foundation of Rails but Why's guide doesn't really touch directly on Rails. So you sorta have to learn BOTH a new language (Ruby) AND a very complex framework (Rails).

WarMage
Maniac (V) Mad Scientist

From: Rochester, New York, USA
Insane since: May 2000

IP logged posted posted 07-06-2006 22:21 Edit Quote

Steve I am glad you got back into it, I believe this is a very worthwhile framework.

One major difference between using the rails framework over other frameworks is that you can not solve a problem by throwing more code at it. When using this framework it really pays to take the time and to think about your problem before you jump right into it and code to fix the problem. You have to understand your problem and put the correct solution to it.

The tutorials posted above are great, there is no doubt about it. Curt Hibbs' tutorials are what really got me interested in Rails the idea of having a 30 minute development cycle is great. Scaffolding mixed with ActiveRecord is really amazing, but this only takes you so far. There are some powerful features that tend to not get mentioned often in the tutorials. The baked in testing, the database migration/versioning, the before after and around filters, the security from SQL injection, this is all really great stuff, and this is the stuff that makes rails great. But this take a time investment to understand these concepts in the rails way. It is one thing to know what testing, and database versioning and migration is, but it is another thing to learn how to do it the way the rails designers want you to do it.

Dan @ Code Town

Steve
Maniac (V) Inmate

From: Boston, MA, USA
Insane since: Apr 2000

IP logged posted posted 07-07-2006 04:19 Edit Quote

Unit testing and database migrations => two of my favorite things about Rails.

quote:
the idea of having a 30 minute development cycle is great.


Blaise: don't get your hopes up...

30 DAY development cycles is more like my experience...

Blaise
Paranoid (IV) Inmate

From: London
Insane since: Jun 2003

IP logged posted posted 07-07-2006 12:00 Edit Quote

Well I appreciate all your comments, I had a dabble with it last night, and was pleasantly suprised, it's one thing reading through a tutorial, but actually following one through and seeing your project unfold before your eyes is quite impressive.

I can see how it's very simple and fast to set up basic functionality with a project, and the way RoR ties in with DB's such as MySQL is really nice.

I can imagine myself getting very stuck with RoR, as I know very little about OO and even less about Ruby and the Ror, but I've found and have been pointed to some great reading material and resources, so I'm confident with a bit of time and patience I can get my personal project under way, once I've completed this then I'll be confident I can use it for commercial use.

Has anyone had any experience with deploying a RoR project to a WebServer on an ISP, is it as simple as copying folders across or is there more setup and configuration that needs to be taken care of?

Cheers,

WarMage
Maniac (V) Mad Scientist

From: Rochester, New York, USA
Insane since: May 2000

IP logged posted posted 07-07-2006 14:45 Edit Quote

It depends upon your host and the level of support that they offer for it. You will really need to talk to your host about the specifics of deploying your application.

Dan @ Code Town

Nathus
Bipolar (III) Inmate

From: Minnesota
Insane since: Aug 2003

IP logged posted posted 07-07-2006 21:17 Edit Quote

If you know PHP and are looking for an MVC framework similar to RoR (started as a port, but has changed somewhat I gather) I can recommend CakePHP (http://www.cakephp.org)

jiblet
Paranoid (IV) Inmate

From: Minneapolis
Insane since: May 2000

IP logged posted posted 07-09-2006 01:56 Edit Quote

What really made me appreciate Rails is 6 years of writing web applications in PHP. I've looked at a lot of PHP frameworks during that time, and mostly I felt like they just got in my way. I developed a pseudo-MVC style for my own code that worked pretty well. However after a few years of writing PHP I felt like I was hitting a wall--PHP just isn't that great a language.

Rails on the other hand uses Ruby, which is one of the best languages around, and Rails takes full advantage. Basically almost everything I learned about Rails was an immediate "ah-ha!" moment based on my years of experience with PHP. If you haven't done a lot of web programming than a lot of Rails features may not make as much sense right away, but because of its elegance I'm sure you could start your web programming career in Rails and do just fine, provided you have the necessary curiosity and attention to detail that makes the potential for a good programmer.

That said, the water can get deep fast, and the only insurance is understanding Ruby. Now there's a bit of a paradox here which is that Ruby semantics can be very hard to understand, but once you do, the language is much more expressive. It lends itself to clean engineering, which makes RoR source code more concise and easier to understand than similar Java or PHP code which would be easier to understand on a line-by-line basis but would be much longer and convoluted.

To add to some comments above:

@WarMage - Not only is Basecamp running on RoR, RoR is extracted from Basecamp.

@Blaise - Deployment is tricky. RoR must be resident in memory to perform adequately. This means that when you upload a new version you have to reload it into memory. It also means that RoR over CGI is just too slow. However, by running FastCGI and keeping all the code in memory RoR performs quite well. There is a ton of activity around deploying Rails apps, but unfortunately it's not the kind of stuff that you can just plug and play on a shared host. It takes time for hosts to develop shared-hosting friendly solutions.

However, once you have deployment worked out, Rails has very convenient tools for automating deployment. Capistrano makes it so you can deploy the new version of your app to multiple servers with a single command, and also offers the ability to easily rollback the update if something breaks.

My general observation of Rails is that it really makes it easy to do the 'right' thing. Often times the 'right' thing is more work than doing nothing, but you get 90% of the benefit of the overengineered enterprise-level Java solutions with only 10% of the effort. Unit testing, functional testing, development vs production environments, database migrations, ORM (ActiveRecord), and MVC separation are handled simple and elegantly in Rails. Learning RoR is worth it just for the exposure to these concepts. It's also a gateway drug to more new and fantastic frameworks.

-jiblet



Post Reply
 
Your User Name:
Your Password:
Login Options: Remember Me On This Computer
 
Your Text:
Loading...
Options: Show Signature
Enable Slimies
Enable Linkwords

« BackwardsOnwards »

Show Forum Drop Down Menu