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

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

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

Но, обо всем по порядку.

Примечание: Данный материал является субъективным мнением, носит чисто информативный характер, не является претензией или иным порочащим действием и ни к чему не призывает.

 

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

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

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

 

Преимущества статических сайтов

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

2. Минимальный риск фрагментации информации. Данные отображаются либо полностью, либо вовсе не отображаются. Если же возникают проблемы с загрузкой ресурсов, то об этом вы узнаете сразу.

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

 

Недостатки статических сайтов

1. Объемы данных. Если информации на странице много, то она полностью "вываливается" на пользователя и его браузер. Вы не можете сначала предоставить одну часть данных, а затем незаметно загрузить остальную (например, во время прочтения пользователем текста).

2. Технические ограничения. Необходимость полностью предоставлять данные накладывает на сайт ряд ограничений. Так, например, вы не можете распределить данные по сети серверов, каждый из которых будет загружать лишь ее часть. Безусловно, существуют способы обойти некоторые ограничения, но только некоторые.

3. Нагрузка на сайт. Необходимость формировать все данные сразу отражается на нагрузке. Так, например, вы можете распределить ресурсы по различным CDN-серверам, но формировать все данные придется серверу вашего сайта.

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

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

 

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

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

 

Преимущества динамических сайтов (ajax)

1. Снижение передаваемых объемов данных. В статических методах данные всегда и полностью передаются вместе с их представлением (html, css и так далее). Динамические же методы построения ориентированы на отложенную загрузку данных по мере их необходимости, что позволяет снизить объемы проходящего трафика. Абстрактно, вместо того, чтобы полностью загружать ленту сотней сообщений, они загружаются и отображаются по мере просмотра. Соответственно, если вы почитали парочку из них, то остальные попросту не будут загружены.

2. Скорость предоставления информации. Возможность отложенной загрузки данных позволяет предоставить информацию "как можно раньше". Сейчас поясню. Так, например, если представление страницы и первичная часть информации формируются 1 секунду (меню, оформление, заголовок, некий текст и так далее), а получение остальных основных данных занимает 3 секунды (например, таблица со значениями), то нет никакой необходимости ждать 4 секунды (чтобы сформировать полную страницу), уже после 1-й секунды вы можете предоставить часть информации (тот же текст), красиво оформив ожидание остальных данных. Как это порой происходит в сайтах, когда вы видите страницу, где часть блоков с "крутяшками загрузки". В таком случае вы можете сразу действовать, а не ждать всех данных.

3. Частичное и независимое получение данных. Чаще всего, данные на сайтах являются разнородными и независимыми (или слабо зависимыми). Статьи, комментарии, обсуждения, сообщения, меню, модули и прочее. Поэтому нет особой необходимости дожидаться получения их всех. Легко можно ограничиться динамическим отображением данных в режиме "что первое пришло, то и отобразилось". Банальный пример. Если вы ищите какую-то информацию, то вас в первую очередь интересует текст, а уже потом комментарии к нему, менюшки, дополнительные блоки и прочее. Соответственно, если второе будет загружаться в фоне, но так, что не будет особо мешать, то у пользователя и не возникнет проблем. Утрируя, вы хотите посмотреть мемасики про котиков. В такой ситуации если вы сразу получите свои мемасики, а потом блоки с менюшками, комментариями, подборками и прочими вещами, без необходимости дожидаться загрузки "всего и вся", то, не сложно предположить, что такое вам даже понравится. Еще пример, когда у на странице отображается несколько графиков, то, по большому счету, вы можете сразу начинать анализировать данные уже по первому отобразившемуся графику. Утрируя, если вам хочется кушать и вы взяли, скажем два горячих блюда, то, в общем-то, тактика "получить любое из них сразу, а не дожидаться их обоих" более приоритетна.

 

Недостатки динамических сайтов (ajax)

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

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

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

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

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

 

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

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

Так же вам могут быть интересны обзоры Уникальность или универсальность, что лучше? и Достоинства и недостатки: почему найти их можно только в обзорах и аналитиках?

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

Социальные сети

☕ Понравился обзор? Поделитесь с друзьями!

Добавить комментарий / отзыв
Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Социальные сети
Программы (Freeware, OpenSource...)