Основным средством работы с ресурсами Internet сегодня стали программы, позволяющие читать страницы Web. Как их называть? Самая популярная программа доступа к ресурсам Internet, Netscape Navigator, позволяет обращаться не только к WWW, но и к FTP-архивам, базам данных Gopher и WAIS, и новостям Usenet. Термин "browser" ограничивает восприятие возможностей только просмотром информации, но многие программы позволяют не просто просматривать страницы WWW, но и заказывать файлы, отправлять почту, участвовать в дискуссиях Usenet, а HotJava и Navigator могут интерпретировать программный код. Слово "client" также вводит в заблуждение. Кроме интерфейсных функций Web-клиент выполняет поисковые операции, индексирование ресурсов, тестирование серверов и целый ряд других специализированных действий. Слово "viewer" тем более некорректно использовать - оно закреплено за классом программ для просмотра файлов специальных форматов: GIF, JPEG или MPEG.
Скорее всего, программы, при помощи которых пользователь получает непосредственный доступ к ресурсам Internet, следует обозначать термином "интерфейс пользователя Internet" или просто "интерфейс". В общем случае так называются программы, которые обеспечивают доступ ко всем или большинству информационных ресурсов Сети: электронная почта, телеконференции Usenet, FTP-архивы, WAIS, Gopher, Internet Relay Chat, World Wide Web, базы данных, доступные по telnet, и ряд других информационных источников. Остановимся, прежде всего, на тех интерфейсах, которые основаны на языке гипертекстовой разметки HTML. Это могут быть как реально существующие, так и виртуальные файлы, генерируемые программно и передаваемые интерфейсу по сети. Таких программ великое множество. Если просмотреть файл регистрации визитов на любом HTTP-сервере, то можно обнаружить около сотни такого сорта программ. Практически в любом компьютерном журнале можно найти информацию о рейтингах этих программ, составленных на основе анализа функциональных возможностей, дизайна и доброго десятка других черт, которые авторам рейтингов показались достаточно важными. Мы же рассмотрим интерфейсы с точки зрения типовой реализации особенностей технологии World Wide Web и тенденций ее развития. Будут представлены программы www, lynx, Arena, Internet Explorier, Netscape Navigator, SlipKnot и, как пример отечественной разработки, Ariadna. Интерфейс Mosaic не попал в этот список потому, что с точки зрения современных тенденций не является чем-то уникальным: исторически он был только предтечей Netscape Navigator, аккумулировавшего все лучшее, что было заложено в Mosaic.
Программа www
Это самый первый из заявленных на Internet интерфейсов доступа к World Wide Web. С самого начала программа www предназначалась для организации анонимного доступа к ресурсам World Wide Web через telnet. В этом смысле www до сих пор остается наиболее универсальным интерфейсом, не зависящим от типа используемого терминала. Однако есть и огромный минус - отсутствие поддержки ряда очень нужных возможностей HTML. Сегодня в HTML можно выделить несколько основных изобразительных и управляющих средств языка. К первым относятся: разбивка текста на параграфы; организация списков; выделение заголовков; отображение встроенной графики; отображение таблиц и математических формул; возможность построения многооконных интерфейсов; управление шрифтом текста, его цветом и стилем; управление фоном; организация просмотра файлов специальных форматов. К управлению относятся: организация сложных экранных интерактивных форм, организация текстовых и графических гипертекстовых ссылок, управление процессом отображения информации в многооконных интерфейсах, программирование гипертекстовых страниц, мультипликация. Из этого списка программа www поддерживает только разбиение на параграфы, текстовые ссылки и, если сервер допускает эту возможность, поиск по ключевым словам в индексе информационных ресурсов сервера. Такие широкие ограничения вызваны тем, что www - это алфавитно-цифровой интерфейс, ориентированный на работу с простейшими терминалами, способными только на ввод информации в командной строке и последовательный просмотр полученных страниц Web. Однако эта программа обеспечивает доступ к Web c любого рабочего места. Если у пользователя имеются компьютер, модем и регистрация на компьютере, включенном в Сеть, то в режиме удаленного терминала программа www может обеспечить приемлемый доступ к Web. У www имеется еще одно предназначение - эта программа служит для иллюстрации использования библиотеки общих кодов W3, используемых для разработки программ в технологии WWW. Программа www размещается по адресу W3C (http://www.w3.org/).
Программа lynx
Эта программа предоставляет собой уже гораздо более развитый интерфейс, поскольку поддерживает все возможности HTML 2.0, кроме графики. Если говорить более точно, то lynx позволяет поддерживать управление отображением текста в том виде, в каком это вообще доступно на алфавитно-цифровых устройствах: выделение цветом, мерцание, инверсия и т.п. В местах вставки графики lynx либо показывает текст, заданный атрибутом ALT, либо сообщает, что на этом месте расположен IMAGE. Главным достоинством lynx, на мой взгляд, является возможность работы с формами. Это позволяет разрабатывать интерактивные интерфейсы и осуществлять поиск и изменение данных. Lynx - это свободно распространяемая программа, доступная в исходных кодах и работающая в большинстве операционных систем. Единственным узким местом является ориентация lynx на библиотеку curses, которая обеспечивает полноэкранный алфавитно-цифровой интерфейс. Но если этот подводный камень удается преодолеть, то в распоряжение пользователя поступает полноценный алфавитно-цифровой интерфейс.
Еще два интерфейса
Непосредственно к www и lynx примыкают интерфейсы SlipKnot и I-COM. Не будем останавливаться на разнице между ними, а постараемся объяснить для чего они нужны. SlipKnot и I-Com предназначены для доступа к Web по коммутируемой линии. Изюминка этих программ в том, что пользователю не надо получать IP-адрес для своего удаленного компьютера: ему требуется только вход на машину в режиме удаленного терминала. В телеконференции comp.infosystems.www.windows.browsers недавно велась достаточно бурная дискуссия о том, нужны ли SlipKnot и I-Com и если да, то для чего? Ответ на этот вопрос дает внимательное рассмотрение маршрутизации в сетях IP. Функции маршрутизатора в сетях IP выполняют шлюзы - это либо компьютер TCP/IP, стек которого сконфигурирован для работы в качестве шлюза, либо устройство-маршрутизатор. Удаленные машины, подключаемые по телефонной линии к локальной сети, как правило имеют соединение по протоколу SLIP или PPP. Но это значит, что им надо раздавать адреса, отличные от машин локальной сети.
Некоторые системы разрешают использовать адреса локальной сети и для удаленных машин, но в этом случае такая настройка может быть выполнена только на машине-шлюзе. А что делать тем пользователям, которые не являются администраторами сетей и не имеют привилегированного доступа на машинах-шлюзах, но имеют возможность настроить свой компьютер для работы с модемом и обеспечивать доступ в режиме удаленного терминала по телефонному каналу? Именно для этого случая и разработаны SlipKnot и I-Com. Каждая из этих программ дозванивается до компьютера, подключенного в Internet, вводит идентификатор пользователя и его пароль и, после успешного входа в систему, запускает либо www, либо lynx, которые и передают информацию на машину пользователя. При этом никаких протоколов семейства TCP/IP на конечном этапе (www-SlipKnot) не применяется - вся коррекция ошибок возложена на протоколы модема. Обе программы реализованы для среды Windows и позволяют реализовать форматирование текста в соответствии со стандартом HTML 2.0. Программы позволяют работать и с графикой, но эти возможности сильно ограничены.
Системы Arena, Netscape и Internet Explorer
Прежде чем перейти к изложению концепции, используемой в данных программах, необходимо остановиться на основных направлениях развития технологии WWW в области развития языковых возможностей. На сегодняшний день существует два законченных стандарта языка HTML - версии 1.0 и 2.0. Для дальнейшего развития этого языка было предложено несколько путей: первый из них - HTML+ - является базой для следующей версии HTML 3.0. Именно в этом варианте языка были определены таблицы, стили и математические формулы. Концептуальный интерфейс для HTML 3.0 - это программа Arena, главное назначение которой - продемонстрировать возможности HTML 3.0.
Другим направлением развития HTML стали так называемые расширения Netscape Extensions. Первоначально эта спецификация развивала синтаксис HTML 2.0 в сторону более выразительных средств представления документов: возможность смены фона, выравнивание текста, обтекание графики текстом и т.п. Расширения Netscape Extensions были предложены компанией Netscape Communication и реализованы в программе Netscape Navigator версии 1.1 и старше. Фактически, если HTML+ был направлен на расширение HTML в сторону реализации публикаций научно-технического характера, то Netscape Extensions развивали HTML в сторону рекламно-издательской деятельности. Этого направления компания Netscape Communication придерживалась и в следующей версии Navigator, куда были добавлены две принципиально новые возможности разработки Web-страниц: фреймы и JavaScript. Заявлена также и поддержка Java, но об этом языке как о концептуальном развитии технологии лучше говорить в контексте другой программы - HotJava компании Sun Microsystems. На поприще развития стандартов Web не отстает от других, и компания Microsoft, предлагающая свободно распространяемые сервер и интерфейс Internet Explorer. Важным представляется тот факт, что Microsoft не просто пытается поддерживать чужие разработки, но и сама предлагает новые расширения языка, которые касаются главным образом возможностей разработки мультимедийных страниц и являются в некотором смысле альтернативой предложениям Java и JavaScript.
Таким образом, можно выделить следующие направления развития технологии Web: HTML 3.0 (HTML+), HTML 2.0 Netscape Extensions, JavaScript, Java, Microsoft Extensions. Чуть в стороне находится еще одна ветвь исследований - создание трехмерных страниц, ярким представителем которой является язык моделирования виртуальной реальности VRML, предложенный компанией Silicon Graphics.
Программа Arena реализована для ОС Unix и требует для своей сборки библиотеки Motif, а интерфейс базируется на библиотеке общих кодов W3C и поддерживает фон, таблицы, обтекание графики текстом, встроенные imagemap и математические выражения. Последние, кстати, не поддерживаются ни одним другим интерфейсом. Кроме этого, Arena умеет работать со стилями документов и в скором времени, вероятно, сделает возможным программирование управляющих меню самой программы через заголовок HTML-документа. Следует отметить, что это довольно медленная программа, которая потребляет к тому же большое количество ресурсов. Но ее разработчики и не претендовали на создание промышленного продукта - их цель состояла в демонстрации новых возможностей языка разметки. Описание интерфейса и программа его реализации хранятся по адресу W3C (http://www.w3.org).
Netscape Navigator - это интерфейс номер один в Internet. Главным его достоинством является наиболее гибкое представление Web-страниц за счет использования Netscape Extensions. Именно в этой программе впервые появились возможности центрирования элементов страницы относительно границ рабочей области окна программы, создания вложенных таблиц, управления размером и цветом шрифта, мерцания текста, обтекания графики текстом и многое другое. Среди основных достижений необходимо упомянуть фреймы и дополнительные окна, динамическое обновление документов и работа с JavaScript.
Фреймы - долгожданная многооконность, которая позволяет решить сразу множество проблем, связанных с разработкой документов. В первую очередь, обеспечивается возможность одновременной работы с текстом, меню и графикой. Фрейм позволяет использовать часто встречающиеся фрагменты текста, например постоянную заставку в качестве отдельного фрейма. Многие пользователи Internet наверняка встречались с этим механизмом при обращении к поисковой службе InfoSeek (http://www.infoseek.com/). Если раньше нужно было постоянно вставлять в текст готовые части страницы, которые появляются в начале и конце каждого документа или использовать включаемые серверы, то теперь это можно делать при помощи фреймов. При этом фреймы остаются очень органичным решением - документ с фреймами является просто суперпозицией простых HTML-документов.
Дополнительные окна - это тесно связанный с фреймами механизм. Но если страница с фреймами делит рабочую область Navigator на несколько частей, не выходя за пределы окна программы, то в случае дополнительного окна разработчик страницы Web имеет возможность открыть новое окно Navigator и тем самым придать просмотру как бы новое измерение. Такое направление интерфейса лежит в русле разработки многооконных интерфейсов гипертекстовых систем, о которых в академических кругах говорят уже лет десять, но к единой модели оных так до сих пор и не пришли. Очевидно одно - это позволяет оставлять видимые закладки при проходе по гипертекстовой сети по инициативе разработчика страниц, что является в некоторых случаях достаточно полезным решением, расширяющим привычную двухуровневую схему просмотра, когда в отдельное окно помещали либо графику, либо файл специального формата.
Динамическое обновление документов - это возможность построения самопросматривающихся страниц и, если позволяет скорость линии связи, средство реализации примитивной мультипликации. Если разработчики программы Arena только обещают включить использование заголовка HTML-документа для управления просмотром последнего, то в Netscape это уже делается. В данном случае используется тэг META с атрибутом HTTP-EQUIV, в котором указывается порядок обращения Navigator к серверу за обновленным документом.
Кроме языковых возможностей в Navigator имеется еще ряд особенностей, которые заставляют говорить об этой программе все компьютерные издания мира, а пользователей - копировать ее на свои компьютеры. Navigator имеет встроенные возможности работы со списками новостей и свою собственную программу приема и отправления электронной почты. Таким образом, пользователь в одной упаковке получает весь необходимый набор средств для работы в Internet, и ему, по большому счету, больше ничего не нужно. Для разработчиков Web-страниц в версию Navigator Gold 2.0 включен еще и редактор гипертекстовых страниц. Все это организовано в виде дополнительных окон специального типа, что очень органично вписывается в архитектуру технологии WWW.
В сети существует много мест, откуда можно списать программу Netscape Navigator. Лучше всего это сделать с норвежских или шведских зеркал, в частности с ftp.luth.se или ftp.sunet.se. Можно также поискать navigator и через archie.funet.fi или archie.luth.se.
HotJava - продукт компании Sun, который специально предназначен для демонстрации возможностей апплетов Java, встроенных при помощи тэга APPLET в тело HTML-документа. Следует сразу отметить, что такого бурного использования Java в страницах Web, как это происходит сегодня с JavaScript, не наблюдается. На мой взгляд, это объясняется двумя причинами. Во-первых, Java - это язык программирования, который требует профессиональных навыков работы и понимания объектно-ориентированного подхода при создании приложений. Большинство разработчиков Web-страниц такими навыками не обладают. Во-вторых, HotJava не так популярен, как Netscape, и до недавнего времени был реализован только для ограниченного набора систем. Конечно, Java обладает гораздо более мощными средствами построения мультимедийных страниц, но какой в этом прок, если большинство пользователей все равно это не ощутят. Для того, чтобы можно было разрабатывать страницы с апплетами Java, необходимо скопировать Java Development Kit, который представляет из себя компилятор кода Java. В отличие от JavaScript для получения апплетов программа-интерфейс должна делать дополнительные запросы к серверу, точно так же, как и в случае встроенной графики. Чем больше апплетов на странице, тем больше обращений к серверу. Однако фирма-производитель уверена в успехе своего нового детища, Java. Сегодня существуют реализации HotJava и JDK для ОС Solaris, Win32 и Mac OS. Получить их можно либо с домашних страниц Sunsoft, либо из архивов, которые были указаны для JavaScript.
Internet Explorer - это ответ Microsoft на все расширяющиеся запросы WWW. Вообще говоря, в этой программе нет ничего необычного по сравнению с другими программами-интерфейсами World Wide Web. Explorer - типичный пример маркетинговой политики проникновения в существующую отрасль разработки ПО. Эта программа прекрасно приспособлена к особенностям Win32 и реализует ряд новых языковых возможностей, которые могут стать стандартом в новой версии HTML. Главным образом это касается фонового звука (атрибут SOUND у тэга BODY) и форм. Совершенно очевидно, что компания Microsoft, во-первых ориентируется на огромную армию пользователей своих ОС и свои же программные продукты, реализованные как средства расширения возможностей демонстрации HTML-страниц. Такой подход до сих пор неоднократно приводил к успеху, а критическая масса пользователей MS-DOS и Windows играла решающую роль в конкурентной борьбе. Но ситуация с Netscape несколько иная. Во-первых, Navigator - изначально многоплатформенная система, что позволяет создать единую среду разработки и просмотра страниц World Wide Web. Во-вторых, Navigator - это рабочее место в Internet, до чего Microsoft еще явно далеко. Для этого компания должна разработать новую операционную систему и реализовать в ней интерфейс Web со всеми возможностями Navigator плюс еще что-нибудь, чтобы уйти в технологический отрыв. Кроме того, в этой борьбе Netscape опирается на поддержку Silicon Graphics, Sun и ряда других известных компаний, что делает борьбу еще более захватывающей. Explorier и свободно распространяемый сервер для Win32 можно получить с домашних страниц Microsoft (ftp://ftp.microsoft.com или http://www.microsoft.com/).
Ariadna - пример отечественной программы
В отличие от "китов" компьютерного бизнеса типа Microsoft или Netscape, отечественная компания AMSD пока не изобретает принципиально новых подходов - идет реализация существующих стандартов языка и его расширений. Как показывает практика, таким программам уготована судьба вечных аутсайдеров, если только нет крупной информационной сети, которая предоставляет эту программу в виде стандартного средства доступа к Web. Но будем надеяться, что AMSD найдет интересные, новые решения и сможет создать нечто неповторимое. Тестовая версия программы Ariadna может быть получена по адресу http://www.amsd.ru.
Эпилог
Завершая обзор новых технологий World Wide Web, напомним еще раз основные тенденции: повышение качества отображения страниц Web, программирование страниц Web, добавление новых измерений к страницам, возможность построения многооконных интерфейсов, "оживление" интерфейса, повышение интерактивности на линии "интерфейс-сервер". Использование Web в бизнес-целях заставляет задуматься и о шифрование трафика, что уже реализовано во многих коммерческих версиях интерфейсов. Мы являемся свидетелями рождения новой отрасли, которая в данный момент определяет свои стандарты. Наиболее смелые из отечественных программистских команд на равных могут принять и принимают участие в этом соревновании.
Павел Храмцов - руководитель группы РНЦ "Курчатовский Институт". С ним можно связаться по тел. (095) 196-9124 или по электронной почте: dobr@kiae.su.
JavaScript - средство создания "оживших" страниц Web
JavaScript, собственно говоря, - это объектно-ориентированный язык программирования, привязанный к Navigator, отдельные компоненты которого являются объектами этого языка. Часто пишут, что Java и JavaScript - близнецы-братья. Может быть, они и братья, но отнюдь не близнецы. Во-первых, для JavaScript не требуется специального компилятора, и сценарий размещается прямо в теле документа - его интерпретирует непосредственно Navigator. Конечно, возможности программирования анимации в JavaScript очень ограничены: можно организовать бегущую строку, идущие часы, меняющиеся картинки, но не более. Главным достоинством JavaScript является организация всего этого без использования сервера. Navigator c JavaScript позволяет организовать многооконную локальную гипертекстовую систему с контекстной справочной системой, что раньше требовало достаточно больших усилий программистов.
Все эти богатые возможности не даются просто так - за все приходится платить. Проводя опыты со сценариями на Windows 3.x, я очень скоро убедился, что "ожившие" страницы требуют очень много ресурсов, а иногда могут даже привести к "зависанию" системы. Разъяснения, полученные из comp.lang.javascript, javascript@oberon.edu, а также аналогичного списка Netscape, выглядели примерно так: "Не валяй дурака и ходи как все по камешкам - ставь многопотоковые Windows 95, а лучше NT, и не морочь занятым людям голову". А если серьезно, то Navigator для Windows 3.1х является лишь калькой 32-разрядных версий этой программы, и так как в 16-разрядной ОС нет реальной вытесняющей многозадачности, то при использовании отложенных вызовов функций в цикле по setTimeout происходит просто "отъедание" ресурсов, которые далеко не безграничны.
Hewlett-Packard объединяется с Microsoft и Netscape для печати документов HTML
Microsoft - не единственный монополист, стремящийся запустить свои щупальца в Internet. Ведущий производитель принтеров, компания Hewlett-Packard, тоже намерена расширить свое присутствие в World Wide Web.
HP заключила два практически одинаковых соглашения с Microsoft и Netscape Communications с тем, чтобы встроить в принтеры поддержку языка гипертекстовой разметки документов HTML (HyperText Markup Language), который является стандартным средством представления данных в Internet.
Сегодня из-за недостатка стандартов, относительно низкого разрешения графических файлов в Internet и отсутствия правил форматирования документов, единых для Internet и принтеров, которое влечет за собой потерю данных, осложняется распечатка информации непосредственно из Internet.
Хотя HP собирается работать с Microsoft и Netscape по отдельности, компания официально заявила, что считает себя своего рода связующим звеном, призванным обеспечить согласование различных стандартов.
"Пока не решено, как и когда будет реализована поддержка HTML в принтерах и насколько изменится их архитектура", - говорит менеджер по маркетингу отделения лазерных принтеров Джим Лионс.
"Мы могли бы расширить PCL (графический язык, поддерживаемый принтерами HP) для поддержки HTML, но другие варианты тоже возможны", - считает Лионс.
Несмотря на расплывчатость обещаний и отсутствие каких-либо сроков, аналитики высоко оценивают новое начинание HP и пророчат ему успех.
"К сожалению, Microsoft и Netscape используют различные методы поддержки печати HTML. Авторитет HP позволяет ей просто-напросто диктовать свои стандарты другим производителям", - говорит Билл Флинн, менеджер консультационной службы Lyra Research.
"Соглашения с Microsoft и Netscape позволяют с уверенностью утверждать, что на чем бы HP не остановила выбор, это станет частью базового множества HTML", - считает Флинн.
HP собирается улучшить качество печати документов Internet
- Расширения HTML позволят печатать только выбранные части документов
- Встроенная поддержка HTML обеспечит увеличение скорости распечатки документов
- Будет увеличена разрешающая способность и точность форматирования
- Расширения HTML позволят печатать через Internet документы в режиме WYSIWYG