все эти три качества, но с точки зрения классификации ПО Web такое деление чрезвычайно удобно, а, следовательно, оправдано. О средствах администрирования баз данных Web мы уже рассказывали (см. CW №2, 1996). Эта статья открывает новый цикл материалов о средствах подготовки Web-страниц, об инструментарии для тех, кого называют hypertext writer.

Изначально усилия разработчиков WWW были направлены на создание серверов "Паутины" и программ просмотра. Поэтому в качестве стандартной единицы хранения баз данных Web был выбран обычный текстовый файл ASCII. Это позволило сосредоточиться на главном и не тратить усилия на разработку специальных программ подготовки документов. Любой энтузиаст Internet мог создавать свои собственные документы на любой компьютерной платформе, в любой ОС, в любом редакторе. Но то, что было хорошо в 1990 году, неприемлемо сейчас. Причин этому несколько:

  • Во-первых, изменился сам язык разметки. Наличие таблиц, форм, обилие атрибутов и многих других современных средств описания информации заставляет использовать специальные программы, не только облегчающие создание страниц Web, но и защищающие от ошибок, возможных при ручном наборе новых конструкций HTML.
  • Во-вторых, стали другими те, кто готовит документы к опубликованию на сети. Это уже не энтузиасты идеи распределенной гипертекстовой системы, являющиеся одновременно и системными программистами, либо администраторами баз данных, а обычные операторы, выполняющие рутинную работу, или совершенно неподготовленные пользователи Internet, получившие в распоряжение программу просмотра Web и мечтающие разместить свои страницы в глобальной информационной системе.
  • В-третьих, использование Web в целях рекламы потребовало привлечь к разработке страниц "Паутины" профессиональных разработчиков, а для них уже недостаточно обычного текстового редактора.

Все это привело к появлению специального класса ПО для разработки страниц Web.

Программы подготовки страниц можно разбить на следующие группы: специализированные редакторы HTNL; дополнения к текстовым редакторам; программы-конверторы языка HTML, а также специализированные средства разработки отдельных компонентов страниц или специальных страниц: графические редакторы, мультипликаторы, аудио-рекордеры и т.п. Стали появляться не просто коммерческие средства подготовки HTML-страниц, а завершенные программные комплексы, оптимизированные под определенную платформу, например система WebMagic Author, входящая в комплект WebForce компании Silicon Graphics. Начнем обзор средств подготовки Web-страниц с редакторов HTML.

Коммерческие редакторы

Речь идет о коммерческих редакторах стоимостью 100 долл. за установку. Как правило, можно скопировать такой редактор по Internet и пользоваться им в течение 30 дней бесплатно, а уже потом решать вопрос о его приобретении. Готовя обзор, я воспользовался этой возможностью и поработал с HotDog, HotMetal, HTMLedit Pro, HTML Writer и рядом других редакторов, чтобы составить собственное мнение о современных средствах подготовки HTML-документов, занимающих первые места в рейтингах иностранных компьютерных журналов и в периодических опросах авторов Web-страниц. Обычно я пользуюсь свободно распространяемой версией HTMLed 1.2 и вполне ей доволен, но признаю, что коммерческие продукты обладают рядом неоспоримых преимуществ, особенно для начинающих пользователей. Свободно распространяемые программы сохранились с тех времен, когда Internet еще не погрузилась в пучину коммерциализации. До сих пор существуют добрые люди, которые пишут хорошие программы и раздают их всем желающим. К сожалению, их становится все меньше. С реди этих программ следует выделить HTML Writer, HTMLed 1.2e, Web Wizard 16bit и HotMetal Free.

Редакторы HTML
HotDog - http://www.sausage.com/ - Когда писалась эта статья, сервер не работал. Пришлось поискать программу через archie (archie.luth.se), которая указала два архива (в Польше и Норвегии, где можно было относительно быстро получить программу). Работает под Windows.
HTMLed - http://www.ist.ca/htmled/ - Windows
HotMetal - http://www.sg.cam/ - Windows
InContext Spider - http://www.incontext.са/ - Windows
Phoenix - http://www.bsd.uchicago.edu/ftp/pub/phoenix/ - Unix
Symposia - http://www.grif.fr/ - Unix
TkWWW - http://www.w3.org/hypertext/WWW/TkWWW/Status.html- Unix

Магическое слово "WYSIWYG", обозначающее "видишь то, что получишь", именует концепцию построения редакторов, используемых на ПК, например MSWord for Windows. Среди HTML-редакторов также есть редакторы класса WYSIWYG - это HotDog или TkWWW.

При сравнении различных редакторов зарубежные авторы, как правило, принимают в расчет такие показатели: поддержку различных стандартов языка (HTML 3, Netscape Extensions, Microsoft Extensions), наличие специальных средств разработки таблиц, форм и графических стеков гипертекстовых ссылок (imagemap), наличие программ проверки синтаксиса HTML и национальных языков, размер редактируемого файла, наличие режима WYSIWYG и удобство разработки, предполагающее соответствующий внешний вид, наличие икон, определяемые пользователем последовательности HTML-тэгов и т.п. Если первые показатели не вызывают никаких сомнений, то требование удобства выглядит в этом ряду несколько странно. Действительно, я был чрезвычайно удивлен тем, что первой во всех рейтингах значится коммерческая версия редактора HotDog. Действительно, это очень неплохой редактор, но по числу действительно полезных функций в тех же рейтингах он уступает, например, редактору HotMetal. В частности, HotDog не поддерживает контроль синтаксиса HTML, хоть офи циально об этом и заявлено. Для этого требуется загружать дополнительные файлы, которые в дистрибутиве не поставляются. Но если в рейтинге Карла Девиса (http://www.ccs.org/htmledit/comparetable.html) HotDog и HotMetal соседствуют, и это можно объяснить вкусом автора рейтинга, то Форест Строуд (http://cws.wilmington.net/html.html) назначил HotMetal три звезды против пяти у HotDog и поставил его на десятое место в общем списке HTML-редакторов - после свободно распространяемого редактора HTML Writer, что объяснить объективными показателями сравнения просто невозможно. (В вину HotMetal было поставлено то, что он проверяет синтаксис HTML, атак как HTML 3.0 и другие расширения языка не поддерживаются в качестве стандарта, то редактор терроризирует пользователя предложениями исправить ошибки при применении новых тэгов. Но проверку можно и отключить, если она столь назойлива.) Не будем углубляться в спор о т ом, что лучше или хуже - важнее выделить общие свойства различных редакторов и проиллюстрировать их примерами.

Процесс создания HTML-документов

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

Начнем с очевидных вещей - поддержки тэгов HTML и встраивания гипертекстовых ссылок. Эти возможности обязаны присутствовать в любом HTML редакторе. Вся разница состоит лишь в том, насколько широк набор предоставляемых средств. Практически все редакторы поддерживают стандарт HTML 1.0, причем только те из них, которые разработаны ранее 1994 года не поддерживают стандарт HTML 2.0, а вот новые стандарты и их вариации не поддерживаются уже многими. Правда следует заметить, что это не такая уж и большая беда. Под поддержкой того или иного стандарта языка, понимают, как правило, наличие специальных позиций в меню редактора, выбирая которые можно вставлять в текст соответствующие тэги. Многие редакторы позволяют организовывать пользовательские списки тэгов; следовательно, автор сам может расширить возможности своего редактора. С гипертекстовыми ссылками ситуация аналогична.

Составители обзоров часто относят к достоинству редактора наличие списка ссылок на наиболее популярные страницы Web, поставляемого вместе с программой. Конечно, это удобно. Но если автор давно работает с "Паутиной", и круг его профессиональных интересов определился, для создания таких списков есть еще два способа: конвертирование в формат редактора списка закладок программы просмотра, которой пользуется автор, или накопление своего собственного списка. Даже свободно распространяемая версия HTMLed 1.2e позволяет реализовать оба способа.

Следующее важное свойство гипертекстовой разметки - разметка таблиц. Таблица - довольно сложный объект; от автора требуется высокая квалификация для размещения этого объекта в HTML-документе. Кроме прямого использования таблиц, многие авторы организуют с их помощью многоколоночную разметку, блочную разметку, позиционирование графики относительно текста и ряд других эффектов, которые обычными средствами языка сделать трудно. Для примера можно посмотреть домашние страницы компании Demos (http://www.demos.su/), чтобы убедится, насколько эффективным может быть использование таблиц. Свободно распространяемые редакторы разметку таблиц не поддерживают, поэтому следует обратится к коммерческим продуктам. Честно говоря, ничего подобного, скажем, таблицам MS Word ни в одном из HTML-редакторов нет. (Правда и проверить все без исключения редакторы у меня возможности не было, а их описание - например, WebMagic Author на домашних страницах компании Silicon Graphics - к сожалению, не д ает исчерпывающего представления о реализации поддержки таблиц в этой программе). В других же редакторах поддержка таблиц подразумевает вставку в текст документа-шаблона, состоящего из тэгов элементов таблицы, которые потом надо заполнять вручную. Если таблица маленькая или ее элементы небольшие, вся ее структура хорошо видна на экране и работать с ней достаточно удобно. Если же надо организовать многоколоночный текст, то наглядность быстро теряется; создание таблицы с использованием средств редактора практически не отличается от ручной разметки.

Кроме таблиц, важным элементом интерактивных страниц Web являются страницы с формами. Тестируя коммерческие продукты, я ожидал увидеть возможность интерактивного программирования формы, как это давно принято в СУБД, с чем впервые познакомился еще при работе с ADABAS NATURAL. Но ни один из первой пятерки лучших редакторов WWW такой возможностью не обладает. Все, что можно получить, - это отдельные элементы формы, вставляемые в текст документа при выборе соответствующей позиции меню.

Возможности редактирования WYSIWYG

Поговорим и о возможностях редактирования WYSIWYG. Первым редактором этого типа была программа TkWWW, которая совмещала в себе редактор и программу просмотра. Таковой она осталась до сих пор. TkWWW реализует классический принцип WYSIWYG - так, как это делает MS Word. При наборе текста HTML-документа он сразу отображается так, как будто его просматривают программой Mosaic. Но как только вы попробуете вставить картинку, то сразу поймете, что программа не способна делать это в режиме редактирования документа. Все картинки заменяются на текст IMAGE, не говоря уже о таблицах и формах.

Классический режим WYSIWYG совсем не типичен для HTML-редакторов. Обычно программы отрывают дополнительное окно, где и отображается результат интерпретации текущего документа. На экране одновременно отображается исходный текст документа, в который автор вносит изменения, и его образ после интерпретации программой просмотра. Интерпретация происходит синхронно - при наборе символов в рабочем окне они немедленно появляются в окне отображения. Тоже самое происходит с графикой и другими элементами документа. Но применяя подобные встроенные программы просмотра, следует помнить о том, что другие программы могут отображать документ несколько иначе. Чтобы убедиться, что 85% всех пользователей Web увидят документ в том же виде, как его видит автор, следует обратиться к услугам внешней программы просмотра, а именно Netscape Navigator. Практически все редакторы это поддерживают.

Если же рассматривать HTML-редактор не только как средство подготовки страниц Web квалифицированным автором, но и как средство обучения персонала, то единственным редактором, полностью поддерживающим описание не только себя самого, но и различных стандартов языка и приемов разработки страниц, является HotDog. В его интерактивном руководстве имеется не только подробное описание HTML 2.0, HTML 3.0, Netscape Extensions для HTML 2.0 и предложения Netscape в стандарт HTML 3.0, но и описание Microsoft Extensions. Надо отметить, что описания эти составлены куда понятнее, чем руководства самих разработчиков.

Сравнивая различные HTML-редакторы, нельзя не обратить внимание, что подавляющее их большинство разработано для Windows Так, один из наиболее представительных списков HTML, опубликованный в руководстве "THE WEB DESIGNER", насчитывает 40 редакторов для Windows, 26 - для Macintosh, 28 для всех остальных платформ, в том числе 16 для Х Window. Информационная служба Yahoo поддерживает отдельный список HTML-редакторов для Windows. Тенденция эта понятна. Администраторы серверов, среди которых подавляющее большинство составляют рабочие Unix-станции, вообще не используют HTML-редакторы, а обходятся обычными текстовыми. Специализированных рабочих мест типа SGI WebForce мало, да и стоимость полного комплекта, включающего Indy и ПО, значительно превосходит затраты на старшие модели ПК. Если и нужно какое-либо специализированное ПО для разработки Web-страниц широкой общественностью Internet, то сегодня его место - на ПК с Windows.

С Windows 95 связана еще одна тенденция. Многие наперебой обсуждают внедрение в Netscape Navigator возможностей интерпретатора языка Java, которое, по их мнению, произведет настоящую революцию в технологиях Web. Может быть так оно и будет, однако разработка страниц, содержащих фрагменты на Java, - не такое простое занятие, как создание текстовых документов. Поэтому Microsoft Extensions, в частности BGSOUND, выглядит хотя и робкой, но очевидной попыткой дать более простые средства разработки страниц мультимедиа, чем среда Java. Безусловно, сегодня Netscape - лидер не только в деле разработки программ просмотра страниц Web, но и законодатель мод в мире самого языка HTML. Собственно, последнее обстоятельство и определяет лидерство Netscape. Но эта ситуация будет продолжаться только до тех пор, пока язык не сложился. Как только в HTML перестанет обновляться половина тэгов в год, у Microsoft появится реальная возможность вытеснить Netscape с платформ, использующих ее ОС. Сейчас же ПО, поставляемое с Windows 95 , скорее можно назвать прототипом, чем промышленной программой.

Павел Храмцов - руководитель группы РНЦ "Курчатовский институт". С ним можно связаться по телефону: (095) 196-9124 или по электронной почте: dobr@kiae.su.

Толстый и тонкий

На этом можно было бы и поставить точку в обзоре специализированных HTML-редакторов, но с точки зрения разработчика HTML-страниц такой будет несколько односторонним. Дело в том, что содержание документа интерпретируется не только программой просмотра страницы. Сегодня довольно большой объем работы выполняется сервером. И здесь мы сталкиваемся с характерной для архитектуры клиент/сервер проблемой, которая характеризуется сочетанием "толстый и тонкий". Сейчас доминирует тенденция сделать "толстым" клиента, расширив спектр его возможностей. Но к чему это приводит видно по тем же редакторам HTML-документов. Например работа с лучшим из них, HotDog, в режиме WYSIWYG на ПК 486100 с 16 Мбайт оперативной памяти крайне неудобно. Обновление документа в контрольном окне явно не уступает за изменениями в окне редактирования и просто тормозит весь процесс подготовки документа. В действительности приходится набирать документ вслепую. Тот же эффект наблюдается у HotMetal и . Да это и не удивительно, если со бственный размер HotMetal превышает 2 Мбайт. Отключение режима WYSIWYG не решает этой проблемы - размер Netscape или Mosaic, которые можно использовать для тестирования страниц, оцениваются также магической цифрой 2 Мбайт. Таким образом для разработки Web-страниц требуется машина, сравнимая по своим возможностям с той, на которую ставится сервер HTTP. В этом случае совершенно логичным является включение сервера в комплект инструментов разработки страниц Web/ Если рассматривать эту проблему с другой точки зрения, то появления тэгов типа BANNER или фреймов - это прямая альтернатива вставкам, которые осуществляет сервер в процессе подготовки документов.

Но если сервер делает свою работу, не нагружая сети, то все эти расширения языка только увеличивают трафик. Кроме того, используя обычный редактор, нельзя проверить работу через формы со скриптами CGI и стеками гипертекстовых ссылок imagemap. Поэтому некоторые фирмы предлагают в своих комплектах не только средства редактирования документов, но и серверы, например Hype IT 1000, FrontPage или SGI Web Force.

Вообще говоря, с появлением возможности динамического обновления страниц как со стороны сервера, так и со стороны клиента, такие связки стали достаточно эффективными. Этот же принцип WYSIWYG, но не модельный, как в HotDog, основанный на использовании специальных компонентов, а реальный, где применяется настоящий сервер и настоящий клиент. При этом в качестве сервера набора страниц можно использовать любой HTML-редактор. Читая документацию по HTML, может сложиться впечатление, что HTML развивается только путем добавления новых контейнеров, которые должны интерпретироваться клиентом - это не так.

Многие серверы стали поддерживать очень сложные возможности предварительной обработки документов перед их отсылкой кпиенту. Если год назад реально это были только вставки, то теперь этот набор расширен до условных вставок и условий генерации. Некоторые разработчики пошли еще дальше и стали внедрять в HTML тэги, которые интерпретируются только сервером. Типичным примером может послужить HtmlScript. Отличие этого подхода в том, что если раньше предварительная обработка базировалась только на использовании комментариев HTML, то HtmlScript язык дополнен новыми контейнерами, которые позволяют манипулировать содержанием документа - макета, в результате этих манипуляций "на лету" превращаемого в обычный HTML-документ перед отправкой программе просмотра. Для подготовки такого сорта документов пока вообще нет специальных средств подготовки.

Скажем пару слов и о стиле подготовки документа До сих пор для этой цели используется обычный текстовый ввод, который осуществляется в той же манере, что и в обычном текстовом редакторе. Но еще на заре гипертекстовых систем многие теоретики говорили о том, что для нелинейного текста следует применять и нелинейные процедуры его подготовки. Кажется, что некоторые разработчики HTML-редакторов наконец прониклись этой идеей и решили создать нечто отличное от обычного редактора. Первой ласточкой можно считать программу InContext Spider. Концепция этой программы достаточно прозрачна, но непривычна. В ее основу положен принцип визуализации контейнеров и их связей друг с другом. Контейнеры помечаются соответствующими пиктограммами, и автор может работать с каждым контейнером независимо от других. Для взаимосвязи контейнеров используются деревья, сети и т.п. Такой стиль похож на разработку встроенных в текст картинок в Word 6.0 for Windows.

Мы рассмотрели проблему подготовки HTML-страниц с позиций современных возможностей как самого языка HTML, так и ПО, которое поддерживает базы данных World Wide Web. Такой подход к проблеме, с моей точки зрения, более продуктивен, чем простое сравнение программ по набору признаков которые могут измениться. Ясно, впрочем, что для сегодняшних нужд надо иметь то, что есть на рынке в данный момент. Поэтому прежде, чем вы решите использовать тот или иной редактор, рекомендую прочесть несколько обзоров, которые можно найти в сети. Во-первых, это обзор "HTML Editors" (Forrest H.Stroud, http://cws.wilmington.net/html.html), во-вторых, руководство "THE WEB DESIGNER" (N. Laviolette. Ftp://www.kosone.com/people/nelson.nl.html), в-третьих, "HTML Editor Reviews" (Carl Davis, http://www.ccs.org/htmledit/). На этих страницах можно найти обширные списки редакторов с их кратк им описанием и оценками авторов.