2011-01-11 2 views
1

Я создаю веб-сайт, и я думаю о способах его загрузки как можно быстрее. Мой сайт, как это бывает с большинством, имеет макет, который одинаковый для каждой страницы. Например, заголовок, внешние div и т. Д. Определяются один раз в макете и используются также для каждой загружаемой страницы. Меню всегда находится на левом div и никогда не изменяется и т. Д.Использование Ajax для создания Rails-сайта быстрее

Итак, подумайте о 5 областях. Верхний, левый, центральный, правый и нижний колонтитулы. В моем случае, только центр должен измениться, в зависимости от страницы, которую я хочу загрузить. Поэтому я думал, что использование Ajax для этого ускорит загрузку, поскольку все остальные элементы уже будут загружены, верно?

Итак, я хотел бы спросить, есть ли хороший ресурс или онлайн-учебник, который обсуждает этот вопрос, так как я хотел бы внимательно посмотреть.

Спасибо за чтение, что :)

+0

1 изображение в содержании, вероятно, сделает эту оптимизацию бесполезной. Объем данных, которые вы сохраняете, не загружая заголовок/ногу, вероятно, не так много, поскольку большая часть его должна быть кэширована. Я бы посмотрел на стандартные способы оптимизации страницы first.http: //stackoverflow.com/questions/808601/how-to-optimise-site-load-times-in-ruby –

+1

Остерегайтесь, ajax может дрейфовать к неуклюжим приложениям если вы не поддерживаете основы Интернета: одна страница = один URL. Почему бы вам не кэшировать часть вашего приложения, которое вы используете снова и снова? – apneadiving

+0

Почему? Я действительно не понимаю. – Spyros

ответ

0

Что касается комментария @ apneadiving о кешировании частей приложения, вы должны использовать кэширование фрагментов для его обработки. http://api.rubyonrails.org/classes/ActionController/Caching/Fragments.html

Вы можете загрузить содержимое «основных» части вашей страницы, используя подход здесь (используя JQuery) Replace HTML page with contents retrieved via AJAX

Если вы не знаете, что производительность вашего сайта является неприемлемой, и Аякс исправит проблему вам вероятно, следует избегать усложнения вещей с помощью ajax. Запомнить premature optimization is the root of all evil :)

+0

Отлично, спасибо за информацию :) – Spyros

0

Я бы посоветовал вам избежать RJS, потому что это на стороне сервера JavaScript.

Использовать регулярные звонки Ajax с помощью JS-структуры, которая вам нравится. Хороший актив здесь: http://peepcode.com/products/jquery-ajax

Смежные вопросы