25.08.2014 |  support@ida-web.ru

Статические или динамические методы построения сайтов (ajax)

Статические или динамические сайты, построенные на технологии ajax, это один из тех вопросов, на который нельзя дать однозначный ответ. У каждого из этих способов построения, представления и подачи информации есть свои плюсы и минусы. Поэтому, не стоит всецело доверять экспертным мнениям, придерживающихся только одного из этих методов создания сайтов, конечно, если речь не идет о конкретной задаче. Но, обо всем по порядку.

 

Статические сайты - преимущества и недостатки

Статические сайты это самый первый способ построения. В тот период, когда только-только зарождался интернет, никто не задумывался о динамике. Есть текст, есть страница сайта, есть стили, есть картинки. Пользователь открыл в браузере нужный url, значит он должен получить всю информацию сразу, а не дожидаться двух и более ступенчатой загрузки данных. Исходя из этого и следуют его преимущества и недостатки.

  • Преимущества статических сайтов
    • Первое и самое главное. Вы получаете всю информацию сразу. Нет необходимости знать об особенностях загрузки данных на сайте. Вы знаете, что отображаемые данные, это все данные, которые предоставляет ресурс.
    • Минимальный риск фрагментации информации. Данные отображается либо полностью, либо вовсе не отображается. Если же возникают проблемы с загрузкой ресурсов, то об этом вы узнаете сразу.
    • Неизменность информации во время совершения ваших действий. Другими словами, данные на странице остаются неизменными до тех пор, пока вы не совершите какое-либо действие (перейдете на другую страницу, оставите сообщение и так далее). Простой пример. Представьте, что вы пишете ответ на комментарий. Подбираете нужные слова, обосновываете свое мнение. И где-то в середине вашего сообщения список комментариев обновляется. Этих проблем в статических сайтах нет.
  • Недостатки статических сайтов
    • Объемы данных. Если информации на странице много, то она полностью "вываливается" на пользователя и его браузер. Вы не можете сначала предоставить одну часть данных, а затем незаметно загрузить остальную (например, во время прочтения пользователем текста).
    • Технические ограничения. Необходимость полностью предоставлять данные накладывает на сайт ряд ограничений. Так, например, вы не можете распределить данные по сети серверов, каждый из которых будет загружать лишь ее часть. Безусловно, есть способы обойти некоторые ограничения, но только некоторые.
    • Нагрузка на сайт. Необходимость формировать все данные сразу отражается на нагрузке. Так, например, вы можете распределить ресурсы по различным CDN-серверам, но формировать все данные придется серверу вашего сайта.

Сегодня, этот способ представления остается лидирующим. Подавляющее количество сайтов если и используют динамику, то в случаях облегчения доступа к дополнительной функциональности (формы авторизации, комментарии и прочее).

Примечание: Важно понимать разницу между загрузкой ресурсов (стилей, картинок и прочего) и ступенчатым предоставлением данных пользователю. В последнем случае, пользователь получит доступ ко всей информации, только после полной загрузки предыдущих ее этапов. К примеру, достаточно отключить поддержу JavaScript (не загрузится файлу со скриптами; иметь ошибки в js-файле) и большинство динамических сайтов станут для вас бесполезными, в отличии от статических.

 

Динамические сайты (ajax) - преимущества и недостатки

Динамические сайты, построенные на ajax, это способ решить проблемы огромных объемов данных. Если раньше вы могли открыть несколько страниц, прочесть пару статей и этого было достаточно, то сегодня объемы данных существенно возросли. Одни только js-библиотеки имеют размер, который во времена модемов был соизмерим с объемом трафика вечернего времяпрепровождение в интернете. Кроме того, темп роста количества информации постоянно увеличивается. Эти данные не всегда уникальны и разнообразны, просто их становится много. Поэтому появление динамических сайтов отчасти стало необходимостью. Исходя из этого и следуют его преимущества и недостатки.

  • Преимущества динамических сайтов (ajax)
    • Снижение передаваемых объемов данных. В статических методах, данные всегда передаются вместе с их представлением (html, css и так далее). Динамические же методы построения ориентированы на загрузке только данных, что позволяет снизить объемы проходящего трафика.
    • Скорость предоставления информации. Возможность отложенной загрузки данных или же загрузки данных, во время просмотра пользователем другой информации, позволяет предоставить информацию "как можно раньше". Так, например, если представление страницы формируется 1 секунду (меню, оформление, заголовок, статический текст и так далее), а получение данных занимает 3 секунды (например, таблица со значениями), то нет никакой необходимости ждать 4 секунды, уже после 1-й секунды вы можете предоставить часть информации, красиво оформив ожидание данных.
    • Частичное и независимое получение данных. Чаще всего, данные на сайтах являются разнородными и независимыми (или слабо зависимыми). Статьи, комментарии, обсуждения, сообщения, меню, модули и прочее. Поэтому нет особой необходимости дожидаться получения их всех. Легко можно ограничиться динамическим отображением данных в режиме "что первое пришло, то и отобразилось".
  • Недостатки динамических сайтов (ajax)
    • Сложные зависимости и как следствие повышенная сложность исправления ошибок и добавления функциональности. Асинхронность получения данных порождает проблемы синхронизации отображения и действий. Если в статических методах вы можете точно ответить на вопросы "что? когда? и зачем?" отображается и выполняется, то в динамических ответ на вопрос "когда?" существенно усложняется с каждым добавленным уровнем асинхронных вызовов. Кроме того, в системах, максимально использующих асинхронность, могут возникать чисто логические ошибки (например, отображение элемента, несмотря на его предшествующее удаление), которых в статических методах нет.
    • Риск фрагментирования данных. Когда асинхронно загружаемые данные зависят друг от друга или же дополняют друг друга, то любой сбой или долгая задержка в передачи данных приведут к фрагментированию информации, что для пользователей может означать формирование некорректных выводов. Простой пример. Допустим сайт предоставляет услугу анализа. Каждый пункт анализа выполняется асинхронно. Если информация о существовании пункта появляется только после получения ответа от сервера, то проблемы в сети легко могут привести к тому, что пользователь не узнает о проблемах в каких-то пунктах.
    • Изменение информации во время совершения ваших действий. Другими словами, отсутствие гарантий, что после загрузки страницы и совершением вами действий не произойдет каких-либо событий, напрямую повлияющих на осмысленность вашего действия. Простой пример. Представьте, что на странице отображается таблица с данными, анализируя которую вы заполняете некую форму, например, составляете заметку по финансам. Вы смотрите на разные строки таблицы, сопоставляете числа, вычисляете показатели, размышляете над промежуточными данными. Но, в тот момент, когда вы проверяете данные перед сохранением заметки, таблица перезаполняется. Если добавленные данные имеют отношение к ваших расчетам, то, возможно, такому обороту событий вы обрадуетесь. В противном же случае, вы будете долго "ругаться".

Сегодня, этот способ активно набирает обороты. Но, как уже говорилось, подавляющее количество сайтов если и используют динамику, то в случаях облегчения доступа к дополнительной функциональности (формы авторизации, комментарии и прочее).

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

 

Статические или динамические методы построения сайтов (ajax) что лучше?

Как вы, наверное, уже поняли, как такового ответа на вопрос "что лучше" не существует, так как, по большей части, плюсы и минусы методов прямо противоположны (не забывайте, что в статье указана лишь часть из них). Кроме того, сами методы рассчитаны на определенные области применения. Поэтому, в первую очередь, при выборе метода, необходимо отталкиваться именно от задач. Так, например, если вам необходим простой статейный сайт или же форум, то лучшим выбором будет статические методы (возможно, и с вкраплениями динамических). А в случае аналитики, требующей отслеживания в реальном времени, лучшим выбором будет динамические методы с очень здравым подходом к построению.

Компания "Ida-Web.Ru" надеется, что данный материал поможет вам лучше понять специфику мира информационных технологий.



Так же советуем

Обратная связь

Я согласен с вашими правилами и условиями

Опыт Знания Умения