Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #50, ЯНВАРЬ 2005 г.

Делаем веб-магазин

Александр Федулов

Спецвыпуск: Хакер, номер #050, стр. 050-078-2


Определение функции проекта

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

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

Генерирование карты в виде растрового файла на стороне сервера отбросим сразу же - это варварский способ использовать вычислительные ресурсы сервера. Решено строить карту на стороне клиента, на случай чего есть три плана действий: а) написать апплет на Java; б) использовать движок Javascript Map Engine; в) делать карту на Flash. Поклонники кофе в зернах могут забросать меня (и меня, похоже, тоже! - прим. AvaLANche'а)тухлыми яйцами, но я с давних времен испытываю легкую личную неприязнь к Java, а во всем виновата ее по-буддистки нелучшая производительность на платформе Macintosh (и на всех остальных тоже - прим. AvaLANche'а). Возможно, кому-то повезло больше меня, но программы, написанные на Java, пусть даже двадцать раз кроссплатформенные, работали здесь гораздо медленнее и глючнее, чем все прочие. Еще одно доказательство вины Java - отсутствие в команде опытного Java-разработчика, который открыл бы глаза на некоторые преимущества (или закрыл бы глаза на недостаки, да простят меня поклонники Java :) - прим. AvaLANche'а). Второй вариант был отвергнут как раз из-за того, что кроссплатфоменностью не обладал. Клиент дал такое напутствие: сайт должен работать одинаково хорошо во всех популярных браузерах. Но мы с удивлением обнаруживаем его неспособность работать в условиях, отличающихся от "Windows + Internet Explorer". Другим доказательством недостатков Map Engine стал довольно большой объем интенсивно скачиваемых растровых файлов, из которых, собственно, и состоит карта в этом движке. В результате комфортная работа с сайтом доступна только счастливым обладателям широкополосных каналов, что для нас совершенно неприемлемо. Остается вариант с Macromedia Flash, который обладает необходимой для создания по-настоящему интерактивного решения гибкостью и позволяет разместить всю карту в одном файле, а при необходимости масштабировать ее без заметных потерь в качестве (а все благодаря использованию векторной графики).

Назад на стр. 050-078-1  Содержание  Вперед на стр. 050-078-3