Недостатки
анимации, основанной на Web-сценариях, и их преодоление
Напоследок
поговорим о недостатках опробованного нами способа создания анимаций на Web-страницах.
И выясним, когда стоит его применять, когда можно ограничиться обычными видеофайлами,
а когда можно обойтись вообще без всякой анимации.
Самый
главный недостаток анимаций, основанных на Web-сценариях, -это... нет, отнюдь
не несовместимость со старыми программами Web-обозревателей. (Хотя, несовместимость
тоже следует принимать в расчет.) Это "тяжесть" необходимого для их
обработки программного обеспечения, его ресурсоемкость и не очень высокое быстродействие.
Это может быть критично, если среди посетителей вашего сайта будет много обладателей
старых, маломощных компьютеров, на которых оно будет работать очень медленно,
из-за чего анимация станет воспроизводиться рывками. Если вообще будет...
Как
вы помните, Web-сценарии выполняются не самим Web-обозревателем, а специальной
программой-интерпретатором, являющимся по отношению к Web-обозревателю внешней
программой. Интерпретатор, расшифровывающий код сценария и исполняющий его,
довольно требователен к ресурсам. Мало того, что нужно где-то хранить код сценария,
исходный и расшифрованный, и свои данные, так еще нужно обрабатывать и сохранять
данные самого сценария. И чем больше и сложнее сценарии, тем больше интерпретатор
требует системных ресурсов.
В
качестве решения этой проблемы можно только посоветовать не создавать без нужды
сложных анимаций. Однако если уж без них не обойтись, стоит подумать о том,
чтобы создать специальную версию сайта вообще без использования анимации и вообще
сценариев. Тогда обладатели старых программ и (или) маломощных компьютеров смогут
посещать ее, а счастливые владельцы современной техники получат удовольствие
от "полновесной" версии сайта. Такой подход используется очень часто;
почти все крупные и популярные интернет-проекты имеют "бессценарную"
версию как раз на такой случай.
Есть
и другой путь. Если ваша анимация представляет собой набор последовательно сменяющихся
картинок или элемент, движущийся по небольшой площади страницы, попробуйте реализовать
ее в виде видеофильма. Практически все программы Web-обозревателей, за исключением
совсем уже старых, поддерживают формат "анимированный GIF-файл". Этот
формат используется в Web-графике так долго, что даже подмял под себя некоторые
стандарты, например стандарт на рекламные баннеры. Существует огромное количество
программ для создания анимации в формате GIF. А для помещения такой анимации
на Web-страницу вам нужен только хорошо знакомый тег <IMG> — и никаких
сценариев!
Точно
так же можно обойти проблему несовместимости со старыми программами.
Но
есть еще одна проблема, решение которой весьма затруднительно. Это проблема
авторских прав на программный код. Точнее, проблема охраны этих самых авторских
прав.
Давайте
рассмотрим обычные программы, которыми вы пользуетесь. Это могут быть популярнейший
текстовый редактор Microsoft Word, проигрыватель мультимедийных файлов Nullsoft
WinAmp, игра Quake 3 или сама операционная система Windows. Все эти программы
были созданы с использованием компилируемых языков программирования, т. е. программа,
написанная на каком-либо языке программирования (C++, Pascal или Assembler),
была откомпилирована в набор инструкций центрального процессора и сохранена
в файле с расширением ехе. Впоследствии, если пользователь запустит этот файл,
он будет исполняться непосредственно центральным процессором, без участия каких-либо
программ-интерпретаторов.
Предположим,
вы написали программу на компилируемом языке и хотите ее продавать. Причем продавать
за большие деньги, т. к. в программе используется несколько принадлежащих вам
ноу-хау. Если теперь хакер-злоумышленник захочет посмотреть, каков же принцип
работы вашей программы, он потерпит неудачу. Дело в том, что читать машинный
код процессора — занятие не для слабонервных. Далеко не всегда возможно просто
понять, что он делает. А уж восстановить по нему исходный код программы абсолютно
невозможно. (Хотя, если очень хочется, можете попытаться. Однако положительный
результат этих попыток опять же не гарантирован.)
Программы
Web-сценариев пишутся на интерпретируемых языках программирования. Это значит,
что в Web-странице такие программы находятся прямо в виде исходного кода. Любой
JavaScript-программист может без труда получить доступ к этому коду и выяснить,
как работает программа. А это значит, что никаких секретов в JavaScript-коде
не утаишь.
Выход
из этой ситуации один: не реализовывать в качестве сценария сложные авторские
алгоритмы. Интернет — среда, открытая по определению, и распространять по ней
закрытую, секретную информацию весьма проблематично. С другой стороны, на то
они и секреты, чтобы хранить их от любопытных глаз, которых во Всемирной паутине
более чем достаточно.
Есть, вообще-то, еще один недостаток, но он свойствен не самой анимации, основанной на Web-сценариях, а подходу, предлагаемому Dreamweaver. Дело в том, что необходимый для создания анимации набор Web-сценариев помещается в секцию HTML-заголовка страницы (тег <HEAD>). Из этого следует, что если вы используете для создания страниц шаблоны, вы можете создать анимированные (и вообще любые свободно позиционируемые) элементы только в самом шаблоне, но никак не в созданных на его основе страницах. Dreamweaver просто не даст вам этого сделать. В самом деле, секция заголовка — это неизменяемая область, а поместить какой-либо код в неизменяемую область Dreamweaver вам не позволит. Имейте это в виду. Хотя, конечно, вы можете отказаться от анимации или "открепить" страницу от шаблона, а потом уже делать с ней все, что вам заблагорассудится.