Is RJS highly used by Rails developers??? (learning RJS versus just going to jQuery or Protype)

Hi,

Question - If I’m starting to use Rails javascript/ajax helpers but want to start doing some more custom/complex Ajax/Javascript should I learn RJS as part of moving forward? (or alternatively just look to either diving into jQuery or Prototype/Scriptaculous?)

Tks

I think that if you will be doing complex javascript stuff then you should dig into jQuery (or another js library) since you have to know your tool very well.

Rails's javascript helpers are useful but they shield you from having to know the javascript part. That can be an advantage when you need something really fast but on the long-term you'd be better off writing javascript yourself. Plus, the helpers "pollute" the html markup with javascript code which is not very nice.

Balint

Greg Hauptmann wrote:

Hi, Question - If I'm starting to use Rails javascript/ajax helpers but want to start doing some more custom/complex Ajax/Javascript should I learn RJS as part of moving forward? (or alternatively just look to either diving into jQuery or Prototype/Scriptaculous?)

We use Prototype for its amazing simplicity in sortable lists, and jQuery for some other stuff not covered by Prototype like embedding Flowplayer in our pages.

Hi,

Question - If I'm starting to use Rails javascript/ajax helpers but
want to start doing some more custom/complex Ajax/Javascript should
I learn RJS as part of moving forward? (or alternatively just look
to either diving into jQuery or Prototype/Scriptaculous?)

Personally I feel that rjs can be a bit of a crutch as there is only
so much it can do (or some things that it doesn't do as well as using
raw js). I found The prototype & scriptaculous book (Christophe Porteneuve)
very useful, mainly because it showed me that javascript doesn't have
to be horrible. It sort of depends what you're going to be doing
really - you can probably carrying with rjs if you're just using the
odd scriptaculous effect or ajax request, but you usually can do those
things in a cleaner way with a bit more knowledge of JS. In my case we
have quite a lot of javascript which would have been hellish (and hard
to test) with rjs (we have a variety of javascript classes which
encapsulate the behaviour of a particular 'widget' on the screen)

Fred

When my AJAX application got complex, I decided it was best to separate the HTML view from the Ruby controller code as much as possible. All AJAX calls were modified to respond with JSON data, and the page updates were coded in static javascript functions. I haven't used jQuery, we used ExtJS to great effect. You'll want to use something, otherwise you will have to deal with cross-browser compatibility yourself.

Kevin - can I ask what you meant by this exactly? didn’t quite understand this last line of yours. Also running with your approach does this mean you drop use of the Rails helpers (e.g. remote_form_for, etc)?