Может ли интернет-магазин работать быстрее... Windows-приложения?

12.11.2005
С помощью DHTML, php и MySQL автору удалось создать интернет-магазин, который по качеству и скорости поиска и заказа товаров не уступает Windows-приложениям, а по некоторым показателям и превосходит их.
Составляя очередную заявку, состоящий из пары десятков различных наименований товаров, я поймал себя на мысли, что намного проще и быстрее составить заявку в 1С, чем с помощью интернет-магазина организации. Даже скидка в 2% не смогла убедить меня воспользоваться услугами данного ресурса. Данная ситуация показалась мне достаточно странной, поскольку, во-первых, я не считаю себя новичком в Интернете и механизм заказа товара через интернет-магазины представляю себе достаточно хорошо, во-вторых, он был сделан достаточно грамотно, в-третьих, доступ в Интернет осуществляется по выделенному каналу. В чём же причина? Рассмотрев с десяток различных вариантов, я пришёл к выводу о том, что технология построения многих интернет-магазинов основана на информационном подходе и рассчитана на заказ небольшого ассортимента товаров - 10-20 различных наименований, поскольку производить поиск и заказ большого ассортимента в них крайне неудобно и накладно, особенно в том случае, если не известно точное название товара, и приходится выполнять его поиск, который работает, зачастую, известным только для автора сайта образом. Более детально данная проблема описана в статье e-commerce: когда нужно искать альтернативу электронному магазину. Здесь же приведу небольшой фрагмент из этой статьи: "Предположим, что страница с результатами поиска "весит"50 kb. Предположим также, что для поиска 40 позиций требуется выполнить 30 запросов. Перемножив эти числа, получим 1500 kb. Добавим сюда ещё несколько загрузок промежуточных страниц и получим достаточно большой трафик. Значит, если рассматривать вопрос с технической стороны, то посетители, в своём большинстве, будут пользоваться виртуальным магазином тогда, когда они хотят заказать небольшое количество наименований товаров, имеют понятие о том, какой товар содержится в каталоге виртуального магазина, и его не сильно смущает стоимость трафика при работе с ресурсом, по сравнению с ожидаемой выгодой при работе с ним." Нетрудно заметить, что данные условия неплохо выполняются в случае приобретения бытовой техники, книг, CD, т.е. товаров широкого потребления (особенно в том случае, если сервис интернет-магазинов намного превышает сервис обычных магазинов). Естественно, при изучении данной проблемы необходимо учитывать и многие другие факторы, например, ассортимент товаров в каталоге интернет-магазина и их ценовую категорию, аудиторию посетителей данного сайта и степень их готовности к осуществлению заказов через Интернет, наличие оплачиваемого выделенного канала связи и др., но в большинстве случаях именно технология построения интернет-магазина влияет на удобство работы с ним. Какие меры применяются для этого? Многие Web-разработчики направляют свои усилия на уменьшение размера HTML-страниц и оптимизацию серверных скриптов, выбору более мощного Web-сервера, канала связи и др., практически не обращая внимание на … браузер.
Изучая и анализируя различные приёмы оптимизации программного кода и информации, как на стороне клиента, так и на стороне сервера, я пришёл к выводу, что источником многих проблем является браузер, а точнее, его низкая скорость работы, из-за чего не представляется возможным реализовать целый ряд эффективных решений. Суть проблемы состоит в том, что в большинстве случаев вывод товарных записей осуществляется с помощью HTML-таблиц, что осуществляется очень медленно и сопровождается загрузкой кода описания структуры самой HTML-таблицы, который по размеру может быть сопоставим с полезными данными в ней. При локальной загрузке скорость вывода данных увеличивается лишь на несколько процентов. Неужели браузер может хорошо выполнять только одну операцию - загружать HTML-страницу с неформатированным текстом? К счастью, нет. Исследования показали, что еще он умеет достаточно быстро заполнять прокручивающийся список <SELECT>. Благодаря данному обстоятельству и возник центральный вопрос: а можно ли прокручивающийся список <SELECT> использовать в качестве таблицы для вывода информации?! Да! С помощью технологии DHTML можно превратить список в таблицу и построить интернет-магазин, который в десятки раз работает быстрее и эффективнее традиционных, с выводом информации в HTML-таблицы! В качестве примера, привожу основные характеристики построенного на данной основе интернет-магазина по сравнению с традиционными решениями:
  • Мультипоиск на сервере (одновременный поиск нескольких записей)
  • Трафик при передаче результатов поиска с сервера в браузер уменьшен в 600 и более раз благодаря передаче только полезных данных!
  • Объем табличных данных, загружаемых с сервера, уменьшен в 6-10 раз.
  • Инкрементный поиск в реальном времени по 1500 записям
  • Работа в автономном режиме с 0 трафиком (просмотр фотографий и описаний товаров)
  • Скорость составления заявки в интернет-магазине и аналогичном по функциональности Windows-приложении была примерно одинаковой.
Более того, используя данную технологию можно решить задачу на минимальный объём загружаемых с сервера данных, что позволит сократить трафик ещё раз в 10. Однако скорость вывода данных при этом несколько уменьшится, поскольку браузер должен будет декодировать данные.
Оглавление
Copyright © 2016