Ruby on Rails Thursday, June 28, 2012

iframes are not always evil, but framesets are. Well, ok, framesets may not be "evil," per se, but they are 13-year old web development (I personally haven't visited a site with a frameset since 1999).

It sounds just based exclusively on your questions you want to use ajax. Updating part of the page after an action happens is a job for Ajax, not iframes.

There are good cases to use iframes (like a Google map embedded on your page, or some piece of your page that you want to call an external service for), but calling external services absolutely creates more points of failure.

What you want is Ajax. While you're at it, take a look into Backbone JS, Spine JS, and Ember JS. Based on your questions those might be overkill, but at least learn what's out there if you're going down this path. (For one little page with one little piece of Ajax, those JS frameworks are overkill. If you are writing a sophisticated client-side app that demands great in-page updating and instantaneous re-display of information, you'd be crazy not to use a JS framework like those mentioned)

-Jason


On Jun 28, 2012, at 3:17 PM, Robert Walker wrote:

> Michael Baldock wrote in post #1061633:
>> I'm trying to work out the best way to implement a page with various
>> sections.
>>
>> One section reports statistics about players in a team, the user selects
>> from a row of player icons, and underneath this, a set of graphs are
>> displayed.
>>
>> One way I thought of doing this was to have the 'graph view' as an
>> iframe, and when the user clicks on the player icon, a new url is loaded
>> in the iframe eg root/graphs_controller/graph_for_player/13.
>
> In general, frames/iframes are evil!
>
>> I already have an iFrame for a google maps view also on the page.
>
> But, sometimes a necessary evil.
>
>> Are there any considerations when using iframes? Can they slow the
>> loading time?
>
> Technically yes they can. Is it likely to matter? Probably not. Loading
> a page with an iframe is effectively the same as loading two separate
> pages. There's two requests to the server. The content of the iframe
> includes markup not necessary when compared with an AJAX partial page
> download.
>
>> Another way to do this would be to use Ajax to reload a partial view on
>> the page.
>
> This would almost certainly be the choice I would make myself.
>
>> Would this be quicker / slower?
>
> What do you mean by quicker, performance or development time? If the
> former see above, if the latter, well that depends on how skilled you
> are with JavaScript and AJAX.
>
>> Any experience / advice on the matter would be appreciated!
>
> AJAX provides a far superior user experience in my view. The current
> trend is to build web applications that behave more like desktop
> applications, and the web is getting better for it IMHO.
>
> --
> Posted via http://www.ruby-forum.com/.
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.
>
>

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en-US.

No comments:

Post a Comment