После HTML, или чем окончится борьба логики и физики
Все человечество, как известно, делится на оптимистов и пессимистов Не являются исключением из всего человечества и веб-мастера. Веб-мастера-пессимисты с тех самых пор, как был создан первый публичный сайт, непрерывно утверждают, что HTML как язык гипертекстовой разметки ни на что не годится. Веб-мастера-оптимисты, в общем-то, утверждают то же самое, но постоянно стараются улучшить свое орудие труда, внедряя в создаваемые сайты множество полезных и приятных новшеств - JavaScript, CSS, DHTML и т. п.
Из сказанного несложно сделать вывод, что первые предпочли бы заменить HTML на что-то кардинально иное, абсолютно новое; вторые же согласны совершенствовать полюбившийся язык до бесконечности, их не пугает даже несовместимость объектной модели браузеров - это лишь вносит в их работу некий элемент спортивного азарта. Неудивительно, что первые выбирают в качестве альтернативной среды разработки Flash, а вторые отдают предпочтение более логичному и интуитивно понятному языку XML Но давайте вспомним историю вопроса.
Логическое и физическое форматирование. Даже школьнику, хоть раз побывавшему в Интернете, известно, что найти там нужную информацию чрезвычайно сложно. Огромное количество поисковых систем и тематических каталогов помогает мало - каждый знает, что находишь с их помощью обычно совсем не то, что ищешь. И причина этого не в том, что поисковики и каталоги плохие. Просто всемирной Сети остро не хватает самого необходимого качества - логики. Причем, дело не только в отсутствии логики при размещении страниц (мало кто задумывается над смыслом названий доменов, и в результате этого контент-сайты частенько оказываются в домене .com, предназначенном для размещения коммерческих страниц). Логика
отсутствует и в самих страницах. Причины этого многообразны, но главная из них - отсутствие единого стандарта структуры страницы.
На заре развития веб-технологий никому и в голову не могло прийти, что в недалеком будущем желание делать страницы красивыми приведет к полному хаосу в Сети. Спецификация HTML 1.0 была строга и лаконична - в ней отсутствовали даже таблицы! И желание разработчиков хоть как-то украсить сайты было вполне естественным. А последствия, к которым оно привело, мы наблюдаем и по сей день. Производители браузеров, стремясь повысить их продажи, добавляли поддержку новых, «незаконных» тегов и атрибутов - так появились теги <font>, <1ауег> и т. п. Масла в огонь подлило появление поддержки таблиц - их сразу же стали использовать не по прямому назначению, а для создания каркаса страницы. Все это обусловило появление так называемого физического форматирования веб-страниц - то есть такого построения структуры страницы, по которому невооруженным глазом видно, что разработчик заботится лишь о том, чтобы было красиво, забывая при этом, что заголовок <h4>, к примеру, нелогично ставить в самом начале, а тег <blockquote> предназначен для обозначения цитат, а не для создания отступа текста слева.
Спохватившись, интернет-консорциум утвердил спецификацию HTML 4.0, которая предписывает разработчикам отделять структуру документа от его оформления. Для достижения этой цели были созданы каскадные таблицы стилей - CSS 1.0 и 2.0, позволяющие назначить любому элементу страницы произвольное оформление. Потребность в применении заголовков для выделения текста крупным жирным шрифтом отпала, как и другие потребности в физическом форматировании, в ущерб логике документа. Отпала и необходимость во многих тегах, таких как <b>, <I>, <u>. Им на смену пришли более логичные <em> (emphasis - выделенный), <strong> и т. п. Такое форматирование, при котором структура документа полностью отделена от способа его представления, назвали логическим.
Закономерным шагом при внедрении логического форматирования стало принятие спецификации XML 1.0 (extended markup language). Помимо полного отделения содержания документа от оформления, XML предоставляет и множество других полезных возможностей.
Давайте теперь рассмотрим каждый из стандартов повнимательнее и попытаемся выявить присущие им достоинства и недостатки.
Итак, Flash. Этот стандарт придуман и внедрен фирмой Macromedia, создателем множества других популярнейших программных продуктов - всем известны редактор HTML Dreamweaver, векторный графический редактор FreeHand и т. п. Редактор Flash по внешнему виду и возможностям очень близок к редакторам векторной графики и анимации. «На выходе» создается скомпилированный swf-файл, редактировать который можно только посредством того же Flash-редактора (или его аналогов).
То есть Flash, фактически, является закрытым стандартом (закрытым в том смысле, что он не является интерпретируемым «на лету» языком разметки). Этот факт является одновременно и достоинством, и недостатком. Достоинством - потому что отображение swf-файла не зависит от операционной системы, браузера и т. п. Те, кто устал создавать различные страницы для разных браузеров, мгновенно оценили это достоинство. Недостаток же «закрытости» формата частично объяснен в названии статьи. Дело в том, что Flash-сайты абсолютно неподвластны логическому анализу, по крайней мере, современными средствами поисковых систем. Для более наглядного объяснения рассмотрим простой пример. Представьте себе сайт, вся навигация на котором сделана посредством графических кнопок, у которых отсутствует атрибут alt. На кнопках написаны названия разделов сайта, но поисковым системам они недоступны, так как текст «спрятан» от них глубоко внутри графического файла. То же самое происходит и при индексировании поисковиками сайтов, сделанных практически полностью на Flash. Поэтому при использовании этой технологии все равно, как правило, приходится либо дублировать все страницы с помощью HTML-версии, либо создавать несколько дополнительных страниц, предназначенных специально для анализа поисковыми системами.
Но зато при создании отдельных элементов сайта, наделенных интерактивностью, Flash не имеет себе равных. Основное преимущество Flash перед обычной анимацией в том, что векторный формат графических элементов значительно уменьшает размер файла, а элементы, реагирующие на действия пользователя, корректно работают в любом браузере и в любой операционной системе. Все это сделало Flash в последнее время безусловным фаворитом дизайнеров. Необычайно популярными стали Flash-баннеры - за счет очень маленького размера файла они грузятся практически мгновенно и при этом содержат довольно сложную и красивую анимацию. Любители потокового видео в презентациях получили возможность создавать файлы, одновременно отвечающие их эстетическим запросам и не перегружающие слабые линии связи. С появлением Flash в Интернете появилась наконец-то возможность для создания по-настоящему мультимедийных приложений - электронных игр, интерактивных конкурсов и т. п.
Кроме того, редактор Flash, если не углубляться в сложное программирование, очень прост в освоении и понятен даже начинающим. Я считаю, что страничка, сделанная начинающим дизайнером в формате Flash, безусловно, выигрывает в сравнении со страничкой, сделанной, к примеру, в I MS FrontPage. Хотя это, конечно, дело вкуса.
XML же, в отличие от Flash, является полностью интерпретируемым и логически настраиваемым полноценным языком гипертекстовой разметки. Для того чтобы создать корректно работающий сайт на XML, вам придется вооружиться немалыми знаниями. Зато и результат будет превосходящим ваши самые смелые ожидания. Приверженцы XML строжайше следуют основной идее, позволяющей корректно обрабатывать и структурировать представленную в Сети информацию, - идее полного отделения логического содержания от физического представления. Если допустить такой утопический вариант, что когда-нибудь все сайты в Интернете будут написаны на XML, a Flash при этом будет выполнять функции графического и видеоформата (вместо, например, анимированных gif ов, но с более широкими возможностями), то у поисковых систем сразу же отпадет множество проблем с индексированием сайтов и найти нужную информацию в Сети станет несравненно легче.
Помимо этого огромным достоинством языка XML является возможность использования данных из внешних источников (баз данных). Ни для кого не секрет, что в классическом HTML подобные средства отсутствуют, из-за чего на данный момент в Сети существует пугающее разнообразие интерфейсов для связи баз данных с содержимым динамических страниц - как коммерческих продуктов, распространяемых солидными фирмами, так и самодельных, написанных талантливыми веб-программистами на Perl, C++ и т. п. Все эти приложения выполняются на стороне сервера, значительно перегружая и без того уже дрожащие от избыточного трафика линии связи. XML, в противоположность этому, предоставляет новый стандарт для приложений, взаимодействующих с внешними источниками данных и выполняемых на стороне клиента. Для небольших электронных магазинов, библиотек и пр. это было бы идеальным решением, позволяющим значительно снизить затраты на создание и поддержание сайтов. XML, в противовес технологии cookie, позволяет лучше персонифицировать содержимое сайтов в зависимости от пожеланий конкретного пользователя. Теоретически, при умелом обращении XML позволяет обходиться совсем без серверных скриптов. При этом связь с данными может быть настолько гибкой, насколько это вам необходимо, а данные на странице могут обновляться автоматически, без полной перезагрузки страницы, что также снижает нагрузку на линии связи.
Из всего сказанного видно, что сравнивать XML и Flash и предсказывать одному стандарту «полную победу» над другим в ближайшем будущем было бы неправильно. Однако мысль
о возможности такого сравнения может появиться в настоящий момент у отечественных веб-мастеров из-за того, что сейчас наблюдается самый настоящий Flash-бум, a XML в России незаслуженно обделен вниманием. Но это всего лишь влияние изменчивой моды, а также следствие того, что среди веб-мастеров-одиночек в России преобладают профессиональные дизайнеры, которых гораздо больше интересуют визуальные эффекты, чем реальная функциональность их произведений. При этом крупные дизайн-студии, а особенно владельцы онлайн-магазинов, крупных порталов и прочих сервисных систем все чаще поглядывают в сторону XML как достойной альтернативы преобладающей сегодня смеси HTML с cgi-скриптами.
На самом деле, даже если HTML умрет совсем, никакого противостояния между Flash и XML не будет, так как перед ними стоят абсолютно разные задачи. И не случайно Flash привлекает в основном дизайнеров, a XML - веб-программистов. Я думаю, никто не станет спорить с утверждением, что делать онлайновый магазин или электронную библиотеку целиком на Flash, мягко говоря, не слишком разумно. В то же время, презентационный ролик фирмы проще и быстрее сделать именно на Flash - даже если вы блестяще владеете HTML, XML, JavaScript, etc... - большую часть эффектов, доступных во Flash, вам воспроизвести не удастся никакими средствами. Таким образом, Flash предоставляет нам больше средств для того, чтобы сделать красивый сайт с динамическими визуальными эффектами, а XML обладает большими функциональными возможностями для создания сайтов со сложной динамической структурой, в том числе связанных с внешними источниками данных. Да и HTML хоронить пока рановато - война браузеров продолжается...
Людмила Бандурина
(Flash vs. XML)