ставлен статической картинкой. Это программа, места в панели которой достаточно, чтобы отображать какую-нибудь полезную (или забавную) информацию или даже принимать клавиатурный и/или координатный ввод. С GNOME поставляется масса апплетов, отображающих всякую полезную информацию (состояние ресурсов и статус сети, например) или позволяющих осуществить нетривиальные действия (например, mini commander, позволяющее набрать команду, не запуская терминала). Важными "приложеньицами" являются "путеводитель по столу" (Desktop Guide) и "список задач" (Task List), позволяющие переключаться между виртуальными экранами и активизировать окна запущенных программ, соответственно;

  • специальные объекты -- это те же апплеты, но выполняющие функции, которые другими средствами "достать" почему-либо нельзя (запереть экран, выйти из GNOME или запустить программу "вручную"). В качестве "специальных объектов" исполняются и программы, которые не были написаны специально для GNOME, но могут, тем не менее, осуществлять вывод в панель -- "поглощенные программы" (swallowed applications);

  • наконец, объект-меню раскрывает меню.

  • За работу системы меню, как и за работу панелей, отвечает компонент GNOME Panel, и это не случайно: разница между панелью и меню более декоративная, чем сущностная: любое меню можно зафиксировать на экране, и оно превратиться в подобие панели-меню (только вертикальное, а не горизонтальное, и с меньшими возможностями настройки).

    У "Гнома" нет единой иерархии меню: кроме главного, вызывающегося объектом-меню с гномьей лапой (оно же, когда вызывается щелчком правой кнопки на фоне или нажатием клавиши, почему-то называется глобальным (global)), пользователь может создавать "обычные" (normal) меню, связанные с объектами-меню на панелях.

    Меню настраиваются примерно так же, как и панели: пользователь может добавлять, менять и удалять пункты, создавать подменю и т.п. При этом создаваемые "обычные" меню изначально пусты, а главное/глобальное "набивается" при установке всем, что "Гном" найдет в системе, и пользователю остается только убрать лишнее и переставить пункты в соответствии со своими предпочтениями.

    Утилиты, апплеты и "капплеты". Для настройки различных аспектов функционирования системы предназначен Центр управления, представляющий собой набор "управляющих апплетов" (capplets), связанных с разными компонентами и прикладными программами.

    Одни из них позволяют менять параметры рабочего стола и облик приложений (включая использование "тем"), другие -- настраивать мультимедиа, третьи -- управлять свойствами клавиатуры и мыши, и т.д.

    Важным "капплетом" является менеджер т.н. "драйверов документов" (Document Handlers), устанавливающий соответствие между типом файла или протокола и программой, выполняющей различные операции с ними. Набор "капплетов" является расширяемым, их можно писать не только для программ, написанных специально для "Гнома", но и для внешних программ.

    Еще более открыт набор утилит, прикладных программ и апплетов, поставляемых с GNOME -- вместе с программами, входящими в большинство дистрибутивов ОС, о которых "Гном" "в курсе", их число превышает сотню.

    Перечислить их здесь нет никакой возможности, но в их число входят интерфейсы для администрирования системы, средства звукозаписи и воспроизведения, сетевые утилиты, игры и многое другое.

    GNOME снабжен встроенной системой помощи; кроме того, его разработчиками совместно с Sun Microsystems подготовлено компактное (130 с.) руководство, доступное в разных форматах на сайте проекта. В его поставку входит система разработки графических приложений под GTK+, которая называется Glade и включает в себя специфические для Gnome элементы.

    "Гном" и большинство его компонент соответствуют соглашениям об интернационализации и, соответственно, поддерживают работу с кириллицей и локализацию и перевод интерфейса. К сожалению, локализация "Гнома" сильно отстает от разработки.

    9.4 KDE (Настольная среда K)


    Само название KDE -- явная пародия на CDE -- Common Desktop Environment ("Общая настольная среда") -- последнюю попытку отрасли стандартизовать графическую среду на несвободной основе, предпринятую в конце девяностых годов. "K" в KDE ничего не означает.

    Несмотря на явно игривый тон, начинающийся с названия среды и продолжающийся в названии компонент (в KDE любят играть со словами; например, универсальный браузер, входящий в среду, называется Konqueror (от Conqueror -- "завоеватель", "покоритель"), терминал -- Konsole (от Console -- "консоль), а система помощи -- вообще Kandalf (от имени Гэндальфа, мага из фантазийных произведений Дж.Р.Р.Толкиена)), KDE -- очень серьезный проект.

    Если единообразие и "сплошность" среды считать достоинством, то KDE -- несомненный лидер среди всех (как свободных, так и несвободных) интегрированных графических сред. Основное "видимое" средство интеграции -- это универсальный браузер Konqueror. Функция Konqueror близка к той, которую приобрел Microsoft Internet Explorer в Microsoft Windows (начиная с MS Windows 98 в линейке MS-DOS и MS Windows 2000 в линейке NT) -- он совмещает функции гипермедийного браузера WWW и браузера локальных ресурсов.

    Разработчики KDE пошли даже дальше своих коллег из Microsoft и определили ряд дополнительных протоколов, что позволило, в частности, просматривать с помощью браузера в единообразном формате все разнообразие справочной информации, представленное в сегодняшних открытых система (традиционные страницы руководства man, гипертекстовую систему Info из проекта GNU, разрозненные файлы документации в текстовом и гипертекстовом формате). В Konqueror интегрирована также возможность предварительного просмотра содержимого большого количества типов файлов.

    KDE включает также настраиваемую систему панелей и меню и интегрированный "центр управления", позволяющий согласованно изменять параметры среды. KDE несколько менее гибка в настройке, чем GNOME, однако на ее гибкости вполне достаточно для решения любых практических задач (в том числе, имитации вида и поведения других сред). KDE работает только с собственным оконным менеджером KWin.

    В поставку KDE входит множество "аксессуаров" и прикладных программ, к тому же "рядом" с проектом выросла целая "грибница" сопутствующих, ориентированных на те или иные предметные приложения, из которых самым развитым является KOffice.

    9.5 "Офисный" прикладной пакет KOffice

    С проектом KDE тесно сопряжен проект KOffice, в рамках которого разрабатываются "офисные" программы на основе той же основной библиотеки Qt и предназначенный для совместного с KDE использования. KOffice на сегодня включает в себя следующие основные программы, находящиеся на разных стадиях готовности:

    Собственные форматы KOffice ориентированы, как и собственные форматы большинства современных "офисных" пакетов, на XML, хотя не все из них являются чисто XML-приложениями. Заявлена поддержка достаточно большого количества "чужих" и унаследованных форматов, хотя качество поддержки на сегодня весьма среднее; в особенности последнее относится к поддержке кириллических текстов.

    KDE и KOffice достаточно оперативно локализуются (см. www.kde.ru), однако, к сожалению, в переводах на сегодня еще больше, чем в оригиналах, "персонально-компьютерного" сленга.

    9.6 Ресурсы

    GNOME и KDE входят в поставку практически всех (свободных и несвободных) открытых систем для всех аппаратных платформ. Об их стабильных переносах под альтернативные ОС нам ничего не известно.

    Дополнительную информацию о них можно найти на сайтах http://www.gnome.org и http://www.kde.org, соответственно. Русская информация о KDE периодически обновляется на http://www.kde.ru (http://www.gnome.ru не обновляется, текущие локализационные инициативы "сбрасываются" в основное дерево разработки).

    Базовую информацию об обеих интегрированных средах можно найти практически в любом "неканоническом" учебнике или руководстве по Linux (например, в [20]) или в документации по любому дистрибутиву, однако вряд ли вы найдете там что-то такое, чего не было бы во встроенных электронных руководствах. Существует обширная англоязычная (для KDE -- еще и немецкоязычная) литература для разработчиков в обеих средах, из которой на русский пока ничего не переведено.

    Лекция 10. Свободные коммуникации

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

    Типичные интернет-приложения11 -- это электронная почта, WWW, обмен "быстрыми сообщениями" ("интернет-пейджинг") и пр. системы, разворачиваемые обычно в глобальном масштабе.

    Основной тенденцией последнего десятилетия стало постепенное вытеснение специализированных локально-сетевых низкоуровневых протоколов и замена их интернет-протоколами (TCP/IP). Даже протоколы, специально разработанные для персонально-компьютерных систем и используемые в унаследованных сетях, такие, как AppleShare или NetBIEU, могут сегодня развертываться поверх TCP/IP. В отличие от сетей Интернет, образующих сообщество с единой нумерацией и единым именованием компьютеров, локальные TCP/IP-сети, отделенные от Интернет, называют интранет.

    Поддержка TCP/IP на сетевом и транспортном уровнях впервые реализована в ОС BSD и реализована в современных ОС на уровне ядра12. На уровне ядра обычно -- из соображений эффективности -- реализуются и такие, например, сервисы, как экранирование (firewalling) трафика. Протоколы более высокого уровня реализуются в виде системных или прикладных сервисов.

    10.1 Локальные сети

    NFS. В открытых ОС локально-сетевая функциональность традиционно реализуется в рамках концепции Сетевой файловой системы NFS. NFS позволяет предоставлять каталоги для удаленного монтирования и монтировать (т.е. делать частью локальной файловой системы) их удаленно. Поскольку с точки зрения стандартной ОС любое устройство представлено файлом, этого достаточно не только для совместной работы с каталогами, но и предоставления доступа к принтерам, ленточным накопителям и прочему оборудованию13.

    БД и доступ к ним. Так же традиционно более сложная семантика сетевых взаимодействий (для которых файловое представление данных и файловые операции влекут слишком большие издержки), внедрялась с помощью баз данных совместного доступа и специальных протоколов доступа к ним14, таких, как DAP (X.500) или его упрощенная и более популярная версия LDAP. LDAP входит в поставку практически всех дистрибутивов свободных ОС и широко используется в современных системах, но пока в основном для решения административных задач.

    SMB и его расширения. В персонально-компьютерных системах большее развитие получил альтернативный подход, опирающийся на концепцию обмена блочными сообщениями (SMB), разрабатывавшийся первоначально корпорацией IBM, на основе которого компаниями Novell, Microsoft и другими были разработаны семейства локально-сетевых протоколов высокого уровня, к сожалению, не стандартизированные и переусложненные. Более сложная семантика обмена блочными сообщениями влечет за собой и более сложный аудит безопасности построенных на его основе систем, поэтому применимость SMB и его расширения в серьезных приложениях ограничена.

    Тем не менее, существует современная авторитетная и очень эффективная свободная реализация SMB и (частично) его позднейших расширений, называющаяся SAMBA (www.samba.org). SAMBA входит в поставку практически любого дистрибутива свободных ОС.

    SAMBA дает возможность предоставлять в совместный доступ каталоги, а также принтеры и другие устройства и получать к ним доступ15, что позволяет разворачивать сложные гетерогенные сети, включающие, помимо стандартных ОС, также унаследованные системы на основе Microsoft Windows и Novell OS.

    SAMBA предполагает использование специфических локально-сетевых протоколов, таких как IPX или NetBIOS, лишь поверх TCP/IP, что, хотя и влечет за собой некоторые издержки16, но позволяет заметно повысить надежность системы за счет применения собственных средств обеспечения безопасности TCP/IP (экранирование, а при необходимости и шифрование и аутентификацию трафика).

    Пакет SAMBA доступен как для открытых ОС, так и для ряда альтернативных архитектур (включая Microsoft Windows NT. Более подробно функциональность SAMBA в этих "лекциях" рассматриваться не будет.

    10.2 Интернет

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

    10.3 Пакет Mozilla

    Среди массы свободных клиентских программ, связанных с сетевой функциональностью, за ограниченностью печатного объема остановимся на проекте Mozilla.

    Mozilla представляет собой свободный пользовательский прикладной пакет, реализующий интерфейсы просмотра WWW (браузер), электронной почты и новостей USENET, многопользовательских диалогов в реальном времени ("чатов") IRC и редактирования страниц WWW (компоновщик). Входящие в пакет программы, таким образом, открывают доступ ко всем наиболее популярным приложениям Интернет (кроме, на сегодня, "быстрых сообщений"). Существенной сильной стороной Mozilla является практически неизменная функциональность и эргономика на широком спектре платформ, включая как стандартные (MacOS X, GNU/Linux, Solaris, Irix, HPUX, BSD/OS и пр.), так и альтернативные (MacOS 9, Microsoft Windows, BeOS, OS/2) операционные системы на большинстве аппаратных платформ.

    Слегка модифицированная версия Mozilla 1.x также распространяется организатором разработки -- компанией AOL Time WarnerКомпания AOL приобрела три года назад компанию Netscape. проект Mozilla прототипировался на ранних разработках этой компании -- Netscape Navigator и Netscape Communicator, являвшихся, в свою очередь, развитием первого графического WWW-браузера NSCA Mozaic. -- под названием Netscape Navigator 6.x и 7.x.

    Русская локализация Mozilla выполнена Валентиной Ванеевой, Вадимом Виниченко и Сергеем Дегтярвым.

    10.4 Базовая функциональность Mozilla17


    Браузер. Для просмотра страниц WWW и "хождения" по FTP-серверам предназначен компонент Navigator. На панели компонент Mozilla он изображается морским штурвалом (см. рис. 1).

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

    С каким бы компонентом вы не работали в даный момент, всегда можно запустить любой другой кнопкой с соответствующим значком из панели компонент или пункт меню "Окно". Из пункта меню "Создать..." вы можете, кроме того, открыть еще одно окно просмотра или вкладку (вкладка -- это окно в окнеИдея использовать вкладки в основном окне браузера впервые была реализована в браузе Opera. Будьте осторожны: начав их использовать, вы вряд ли затем удовлетворитесь браузером, не поддерживающим такой возможности.) уже открытого окна, на разных вкладках вы можете просматривать разные страницы с одного сайта или разные сайты. Это позволяет не захламлять экран и панель задач окнами одного типа и сразу видеть, где закачка страницы уже завершилась, а где еще нет.

    Из пункта меню "Файл" можно также открыть любой локальный html-файл или каталог (или файл другого известного Навигатору формата, например, графический или текстовый), одной командой переслать по почте адрес понравившейся страницы или даже всю страницу, сохранить страницу на жестком диске или напечатать на принтере.

    Программа ведет учет страниц, которые вы посетили ("Перейти... Журнал посещений"). Это удобно для быстрого возврата на уже посещенную страницу. Сколько просмотренных адресов (и на какое время) программа будет их сохранять, можна указать в общем окне настроек.

    Как и в других браузерах, вы можете вести структурированную базу закладок на понравившиеся сайты и редактировать параметры каждой закладки, в частности, менять названия и делать пометки на память: а чем же зацепила вас именно эта страница.

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

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

    Почта. Электронная почта соревнуется с WWW за почетное звание главного коммуникационного приложения. Существует масса свободных программ для работы с почтой, и среди них -- модуль Мозиллы "Почта и новости".

    Открыть его можно, нажав кнопочку с изображением конверта, выбрав соответствующий пункт меню "Окна".

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

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

    В почтовом ящике возможен поиск по теме, отправителю, словам в самом письме, дате, приоритету, адресатам, датам или комбинации этих параметров -- этого хватит, чтоб не потеряться в своем почтовом ящике. Можно иметь несколько почтовых ящиков на разных серверах и работать с ними в одном окне.

    Главное окно программы поделено на четыре части. Слева вверху -- список почтовых ящиков, под ним боковая панель. Справа вверху -- список писем в выбранной папке, под ним -- текст выбранного сообщения. Многие из них можно временно спрятать, чтоб освободить место для других окошек. И здесь доступна боковая панель со всеми ее возможностями.

    Выбрав в правой части название почтового ящика, вы увидите список действий, которые можете выполнить в нем и над ним. Например, настроить сам почтовый ящик, если есть необходимость, и его параметры роботы с почтовым сервером, параметры для исходящих и входящих сообщений. Возможности гибкой настройки и мощная система фильтрации сообщений, вместе с возможностями проверки правописания для многих языков (включая английский, русский, украинский) сделают вашу переписку удобной и приятной.

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

    В этой ситуации вам на помощь прийдет "Компоновщик", спрятавшийся за кнопкой с листком и пером для письма. Вызвав его, вы сможете быстро и без погружения в изучение стандарта создать простую страницу в режиме визуального редактирования. Как в word-процессоре, просто пишете текст, вставляете таблицы и рисунки и сразу можете видеть, что у вас получается. Более того, заглянув на другие вкладки окна Компоновщика, можно еще и подучить HTML. В этом помогут вкладки "Все теги" и "<HTML> Код". Проверить, как ваша работа будет смотреться в окне просмотра Navigator, можно на последней вкладке. Главное преимущество этого инструмента перед многими похожими состоит в создании правильного HTML кода без лишних и нестандартных тегов, поэтому рекомендую его как первый инструмент начинающего (разумеется, для создания серьезных проектов изучение стандартов W3C обязательно).

    В окне программы сперва линейка меню, под ней инструментальные панели, далее главное рабочее окно с вкладками и панель состояния под ним. Для подробного описания всех возможностей модуля потребуется не одна страница. Просто запустите его и попробуйте что-нибудь создать. Большинство пиктограмм и команд никакого объяснения не требуют.

    Адресная книга. По мере того, как увеличивается круг ваших знакомых, помнить все необходимые адреса становится все тяжелее, но на помощь приходит адресная книга программы. Каждый раз, когда вы пишете письмо новому адресату или получаете письмо от нового отправителя, этот компонент программы запоминает его адрес. Дальше, когда вы начинаете заполнять поле "кому" нового письма, он пытается завершить набор за вас. Если адрес угадан правильно, можно просто переходить к заполнению остальных полей. Когда программа ошиблась, можно выбрать подходящий адрес из выпадающего списка или завершить набор самостоятельно.

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

    Настройки. Мозилла -- пакет не только мощный, но и очень гибкий в настройке. Все доступные параметры настроек собраны в одном окне -- дерево доступных настроек поделено на категории в соответствии с имеющимися программами плюс несколько общих.

    В общей категории "Внешний вид" настраивается использование шрифтов для каждой кодовой страницы, отображаемые при запуске Мозиллы окна, использование цветов, язык интерфейса.

    Вторая общая категория -- "Дополнительно" -- позволяет отрегулировать использование cookies, Java, размер и время сохранения буфера на диске для быстрого возврата к уже просмотренным страницам, использование прокси-серверов и еще некоторые полезные параметры.

    Название группы "Приватность и безопасность" говорит само за себя. Количество доступных в ней настроек, говорит о том, насколько ответственно разработчики отнеслись к этому вопросу. Предлагаю вам разобраться с ней самостоятельно.

    Регулировать внешний вид окна программы и степень "свежести" страницы в окне просмотра, вам позволят пункты меню "Вид". Отсюда можно запретить или разрешить показ каждого из компонентов окна программы, подобрать размер шрифта на странице, изменить, если нужно, кодовую страницу для показа текста, увидеть исходный код страницы и получить информацию про страницу на которой сейчас находитесь.

    10.5 Mozilla: как это сделано

    Возможно, более интересным будет общий взгляд на "начинку" Mozilla, поскольку эта тема остается пока практически нераскрытой в публикациях на русском. А именно интересными внутренними архитектурными решениями и возможностями, которые они открывают для программистов, обусловлена перспективность и востребованность этого проекта.

    "Движок" Gecko. Собственно интерпретацию ("рендеринг") гипертекста и гипермедиа в браузере и компоновщике осуществляет "движок" под названием Gecko ("геккон", "ящерка"). Сам по себе "движок" компактен и быстр. Он используется также рядом альтернативных браузеров, таких, как Galeon, Aphrodite и Phoenix; первый из них, достачно развитый и "шустрый", может рекомендоваться пользователям старых или маломощных (например, карманных) машин.

    Язык XUL. Видимо, самой интересной особенностью Mozilla является реализация интерфейса пользователя на языке XUL, представляющем собой XML-приложение, т.е. набор определений вида и поведения визуальных объектов, свойственных современным графическим интерфейсам пользователя, на расширяемом языке разметки XML (об XML и его интегрирующей роли в современных приложениях компьютера подробнее говорилось в "лекции" 1).

    В большей своей части программы Mozilla "написаны для XUL" и интерпретируются "на лету". Обратной и неприятной для пользователя стороной этого остается значительная ресурсоемкость Mozilla и размер пакета. Базовая установка занимает порядка 30 Мб и комфортная работа в большинстве сред начинается от 128 Мб ОЗУ и 500 МГц процессора.

    "Светлой" стороной XUL'ности Mozilla является его чрезвычайная гибкость, что, видимо, позволит уже в ближайшие годы "малой кровью" существенно расширить набор входящих в пакет программ и практически полностью покрыть ими клиентские приложения Интернет.



    На рисунке видно, что по специальному протоколу chrome можно просто "открыть" в браузере еще один браузер (или любой другой компонент пакета), причем это не просто изображение его интерфейса, а полноценная работающая программа.

    Разумеется, суть использования XUL не в этом, а в том, что на этом относительно простом языке разметки могут быть легко реализованы ... На сайтах www.mozdev.org и www.xulplanet.com можно найти десятки программ на XUL, а по http://books.mozdev.org/chapters/ можно найти текст книги "Создание прикладных программ в Mozilla" (к сожалению, пока только на английском).

    Например, так выглядит традиционная первая программа "Привет, мир!" на XUL (ее текст заимствован из упомянутой книги):

    <?xml version="1.0"?>
    <!-- Sample XUL file -->
    <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <box align="center">
    <button label="hello xFly" onclick="alert('Hello World');" />
    </box>
    </window>

    Знакомым с JavaScript-сценариями в HTML или XML этот пример должен быть кристально понятным. Однако внимание следует обратить на то, что элементы разметки, определяемые XUL, свойственны графическим интерфейсам общего назначения ("окно" (window), "контейнер" (box), "кнопка" (button) и т.п.), и весь XUL-файл определяет интерфейс, а не страницустрого говоря, Mozilla поддерживает и смешанные контексты, например, XUL-компоненты в HTML или наоборот, но XUL-интерпретатор как таковой не обязан этого делать, и XUL-интерпретатором, соответственно, вовсе не обязательно должен быть браузер. XUL может не только интерпретироваться, но и транслироваться, хотя трансляторы нам на сегодня не известны.

    Перспективы, открываемые универсальным языком описания графического интерфейса перед отраслью быстрой прикладной разработки (RAD) и практическим программированием вообще -- очевидны. Но здесь уместнее будет указать на методические перспективы: включение в один и тот же вводный курс программирования на XUL наряду с изучением языков разметки контента (например, HTML, особенно в его нынешней, XML-версии) позволит осуществить значительную понятийную экономию. Возможно, что наш кругозор ограничен, но нам не известны другие полноценные языки программирования интерфейса, кроме XUL, являющиеся корректными и исполнимыми XML-приложениями.



    10.6 Ресурсы

    Пакет Mozilla в исходниках и сборках для большинства ОС доступен на главном сайте проекта, локализованные версии -- на русском сайте. Mozilla входит в большинство поставок открытых ОС (как свободных, так и несвободных).

    Литература

    1. Министерство образования Российской Федерации. "Обязательный минимум содержания образования по информатике".

    2. Максим Отставнов (ред.). "Свободное программное обеспечение: бизнес-модели и корпоративные инициативы" -- М.: ГУ-ВШЭ, 2001. Расширенную версию этого сборника можно найти на: http://www.otstavnov.com/fsr
    3. Эрик Рэймонд. "Собор и базар" // "Открытые системы", ## 09-10, 1999 г.
    4. С.В. Сергеев, Н.А. Роганова. Практическая информатика: учебное пособие. Ч.1 -- М.: МГИУ, 2001. См. тж. http://www.ctc.msiu.ru/materials/
    5. "Информатика" # 29, 2002 г.
    6. Документация на StarOffice 5.2 ("Руководство пользователя" и "Инструкция по инсталляции", в совокупности около 600 стр.) входит в русское "коробочное" издание этого пакета. "Руководство пользователя" также (в значительно улучшенном переводе) издавала и включала в "коробочные" издания своих дистрибутивов, содержащих StarOffice, московская компания ASPLinux (www.asplinux.ru). Следует заметить, что OO.o 1.0 несколько отличается от StarOffice 5.2 и более ранних версий; однако единственным серьезным с точки зрения пользователя отличием является лишь отсутствие единого "рабочего стола" в первом.

    7. Сергей Глушаков, Алексей Сурядный. Linux для дома и офиса: Учебный курс. -- Харьков: "Фолио", 2002. -- 389 с. Несмотря на название, бОльшая часть этой книги посвящена прикладным свободным пакетам, и в том, что касается OO.o и Mozilla, ее содержание неспецифично для Linux (или каких-либо конкретных ОС вообще). Часть III, посвященная OW -- это стодесятистраничное (т.е. занимающее более четверти книги) описание базовой функциональности OW с точки зрения пользователя.В OpenDraw уделили всего 7 страниц. Часть, посвященная OpenCalc -- это восьмидесятистраничное (т.е. занимающее около четверти книги) описание базовой функциональности OpenCalc с точки зрения пользователя.

    8. Антон Ионов и др. OpenOffice.ru. Руководство пользователя. -- М.: ALT Linux, 2002. -- 115 с. Двадцать пять страниц этой брошюры, не продающейся отдельно, но входящей в "коробочную" комплектацию ALT Linux 2.0 Master и OpenOffice.ru и доступной на сайте http://docs.openoffice.ru, посвящено OW, и это действительно кратчайшая инструкция по использованию.В Двадцать пять страниц посвящено OpenDraw, и это действительно кратчайшая инструкция по использованию, пятнадцать страниц --В  OpenCalc

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

    9. С.В.Андреев, Н.А.Роганова. Практическая информатика: Учебное пособие. Часть 1. -- М.: МГИУ, 2001. -- 348 с. Это тоже свободная книга под GNU FDL, ее можно купить на бумаге или скачать отсюда: www.ctc.msiu.ru/materials/books.php. Пособие консервативно и, несмотря на обновление, пока описывает StarWriter 5.2, а не OW; впрочем, как уже отмечалось, разница между ними с точки зрения пользователя невелика.

    10. Т.Робертс, "Текстовые редакторы" // "Человеческий фактор". Т. 6. -- М.: "Мир", 1992

    11. Дэвид Тейнсли "Linux и Unix: программирование в shell" -- Киев: BHV, 2001

    12. Ричард Столлмен. Руководство по GNU Emacs (тринадцатая редакция) -- М.: Институт логики, 1999

    13. Karin Kylander & Olof S Kylander. GIMP: The Official Handbook. The Coriolis Group: 1999, ISBN 1-57610-520-2

    Карина и Олаф Киландер взяли на себя нелегкий труд официального документирования GIMP, созданного полутора сотнями программистов. Написанный ими "Официальный справочник по GIMP" доступен (в разных форматах, включая готовые к печати postscript- и pdf-файлы) со страниц http://manual.gimp.org, он также издан на бумаге The Coriolis Group.

    Остается надеяться, что рано или поздно эта книга появится и по-русски, а пока скачать это монументальное тысячестраничное издание рекомендуется всем, кто читает по-английски и использует или готовится использовать GIMP. Тем, кто пока не собирается -- тоже, поскольку, помимо всего прочего, эта книга -- одно из лучших введений в растровую компьютерную графику вообще.

    14. Carey Bunks. Grokking the GIMP New Riders Publishing, 2000; ISBN: 0735709246; 352 pp.

    Из другой литературы, посвященной GIMP, можно порекомендовать написанный Кэрием Банксом учебник Grokking the GIMP, также доступный в Сети на http://gimp-savvy.com/BOOK/.

    15 Nikolai Bezroukov. The Orthodox File Manager (OFM) Paradigm. Work in progress // http://www.softpanorama.org/OFM/Ofm_00.shtml

    16 D. Englebart, W. English. A Research Center for Augmenting Human Intellect // AFIPS Conf. Proc., Fall Joint Computer Conf. -- San Francisco, 1968.

    17 Фредерик Брукс. Мифический человеко-месяц: двадцать лет спустя // Его же. Мифический человеко-месяц. -- СПб.: "Символ-плюс", 1999

    18 Виктор Вагнер. True UNIX GUI // http://www.ice.ru/~vitus/thoughts/true_unix_gui.txt/true_unix_gui.txt

    19. "Домашний компьютер" #12, 2002 г. Материалы номера также доступны онлайн (http://www.homepc.ru/offline/2002/78/).

    20. Матт Уэлш и др. "Запускаем Linux" -- СПб.: "Символ", 2000

    Об авторе

    Максим Отставнов <maksim@otstavnov.com> (www.otstavnov.com) -- ведущий аналитик компании TechInvestLab.com, член редколлегий еженедельника "Инфобизнес" (www.ibusiness.ru) и ежемесячника "CIO" (www.cio.ru), член рабочей группы по законодательству в области электронной экономики при Председателе СФ Федерального собрания РФ, член экспертного совета фонда "Новая экономика" (www.neweco.ru).

    Основная область профессиональных интересов -- гуманитарные аспекты и социокультурные эффекты информационных технологий. Автор более 150 статей, редактор-составитель сборника "Свободное программное обеспечение: бизнес-модели и корпоративные инициативы" ( М.: ГУ-ВШЭ, 2001).

    1 Например, типичная цена одно-двухдискового дистрибутива российской сборки, включающего софт, достаточный для обеспечения школьной программы по информатике, не превышает трехсот рублей, в то время, как комплект Microsoft Windows и Microsoft Office, покрывающий лишь часть программы, со всеми скидками обойдется не дешевле трех тысяч.

    2 Возможно, использование двоичных форматов и было оправданно во времена, когда позволяло экономить байты памяти и носителей на "персоналках" с крайне ограниченными аппаратными ресурсами. В то же время, современные компьютеры (даже относимые к классу персональных, "стартового уровня") обладают ресурсами, позволяющими организовать гораздо более удобную схему: сжатие "на лету" по стандартному алгоритму стандартно размеченного текста или иных данных.

    3"В девичестве" (до того, как американская корпорация Sun Microsystems приобрела немецкую компанию StarDivision и свободно лицензировала код, права на который принадлежали ранее последней) пакет назывался StarOffice, а word-процессор -- StarWriter; под таким названием он получил известность и обрел достаточную популярность, в том числе, и в России (особенно версии 5.1 и 5.2).

    4 Кривую обучения можно сгладить, создав дополнительный набор макрокоманд под конкретный курс и, наверное, это правильный способ, но он потребует от методиста незаурядного знания не только Emacs, но и Emacs Lisp.

    5 Мы не касаемся здесь специального вопроса о сложных форматах кодирования, включающих векторные элементы и фрагменты растра, так же, как и -- растрового и векторного -- кодирования движущихся изображений и вопросов сжатия растровых изображений.

    6 Стоит отметить, что стоимость одной копии последнего, самого по себе не дешевого, вместе со всеми такими модулями составляет несколько тысяч долларов.

    7 Поскольку использование тех или иных языков программирования в учебном процессе само по себе является предметом постоянных споров, на всякий случай стоит, не погружаясь в глубину аргументации, все же заметить, что автор придерживается весьма консервативных взглядов, и считает, что в качестве первого языка лучше всего подходят Алгол-60, Паскаль, АПЛ или любой другой простой язык сентенционального программирования, либо простой объектный язык наподобие Лого. Использование языков, поощряющих плохой стиль (как Бейсик) или лояльно к нему относящихся (как С), во всяком случае, не кажется ему удачным выбором. Крайне важным ему кажется хотя бы поверхностное знакомство как минимум с двумя с разными (разработанными в ориентации на разные парадигмы) языками.

    8Возможностью представить их обзор в компактном виде автор обязан прежде всего своим соавторам по [3] Егору Гребневу, Сергею Иванову, Михаилу Шигорину.

    9 Следует отметить, что большинство базовых функций оконных менеджеров при исполнении опираются на поддержку оконной системой X функций двумерной графической акселерации (ускорения), реализованных практически во всех современных графических адаптерах. В отличие от трехмерной акселерации, полезной лишь для достаточно узкого круга приложений (программ трехмерного моделирования, компьютерных игр), двумерная акселерация -- действительно универсальна полезна для графического пользовательского интерфейса. При использовании карты без двумерного ускорения или карты, чья акселераторная функциональность не поддерживается системой X, можно рекомендовать настройку среды для исключения, например, визуализации перемещения окна со всем его содержимым, дабы избежать неоправданного роста нагрузки на процессор и драматического падения производительности.)

    10 Имеются в виду графические оболочки (Microsoft Windows 1.x, 2.x, 3x, 9x и Me), а не семейство Microsoft Windows NT (сегодняшними версиями которых являются Microsoft Windows 2000, XP и .NET Server).

    11 Здесь и далее "интернет" с маленькой буквы обозначает сумму сетевых технологий, основанных на протоколах TCP/IP, а "Интернет" с заглавной -- всемирное сообщество интернет-сетей. Возможно разворачивание интернет-сетей, не входящих в Интернет. Слово "интернет" -- сокращение от internetworking, что буквально означает всего лишь "межсетевое взаимодействие".

    12 Все существующие реализации восходят к Berkley TCP/IP Stack в качестве живого прототипа, хотя в некоторых ОС сам текст реализации уже переписан по несколько раз.

    13 Реально используются несколько более сложные приемы, при которых удаленный доступ предоставляется не к самому устройству, а к очереди заданий для него.

    14 Наряду со стандартным SQL.

    15 А также выполнять некоторые другие локально-сетевые процедуры, такие как объединение отдельных систем в "домены" и управление ими.

    16 Практически незаметные в современных 100-мегабитных и гигабитных Ethernet-сетях.

    17 Раздел написан Андреем Добровольским <dobr@iop.kiev.ua>. Текст ранее публиковался в [19].