views:

627

answers:

2

Hi,

I'm looking for a Web UI toolkit for a Rails-based application. I have an experience with YUI but not in a Rails context. I have many questions I wish you could help me to answer.

  1. Do you use a web UI toolkit like YUI, ExtJS or JxLib within your Rails application ?
  2. Which UI toolkit is the most Rails-friendly ? Since most are not based on Prototype, is the co-existence of Prototype and another Javascript library (MooTools, JQuery, ...) easy and safe ?
  3. Do you mix usual 'traditional' Rails view development (rhtml, rjs) with a UI toolkit-based development ? In the same application ? In the same view ?
  4. Do you use a Rails plugin or do you code plain Javascript ?

Thanks all for your answers.

Laurent

+1  A: 
  1. We are building quite a big application using Ext with Rails, right now. You can see some discussion about it here.

  2. AFAIK it's easy to use JQuery alongside other js libraries (might be the case with the others, too). However, I strongly recommend you to use only one library at a time, to keep things clear.

  3. We are actually building two applications - server-side Rails application to handle the data and expose them through JSON API and a client-side Ext application that uses this API. To generate the client application we parse the Javascript source through ERB so we can use some helpers to build it.

  4. We use plain Javascript with some custom helpers.

Hope it helps.

Milan Novota
Thx for sharing your experience. I understand you started with ExtJS from the beginning. On my side, I need to deal with a legacy where views have been developed with pure HTML/CSS/Js.
Laurent Farcy
I see. Nonetheless, you can still plug in some Ext widgets (check out the ext_scaffold plugin - it contains some nice helpers), without separating the server and the client side so strictly as we did.
Milan Novota
+1  A: 

You don't need to use Prototype if you don't want to - JQuery, for example, is very popular in the Rails community. I would be concerned about potentially hard-to-resolve conflicts if I ran JQuery and Prototype together, though.

Mike Woodhouse