Выбрать главу

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

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

Рис. 3-2

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

Например, так выглядит традиционная первая программа «Привет, мир!» на XUL (ее текст заимствован из упомянутой книги) – см. Рис. 3.3.

Рис. 3-3

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

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

Глава 4. «Открытый Офис»

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

В пакет «OpenOffice.org» (далее – «OO.o»), которому посвящена эта глава, входят:

словарный процессор «OpenWriter»;

редактор электронных таблиц «OpenCalc»;

компоновщик мультимедийных презентаций «OpenImpress» (в этой книге не рассматривается).

Кроме того, в пакет включен:

векторный графический редактор «OpenDraw».

У «OpenOffice.org» есть масса недостатков – он (версия 1.0) вышел сыроватым (хотя версия 1.1, уже выпущенная в англоязычном и готовящаяся к выпуску в русскоязычном варианте, гораздо более «вылизана»), он достаточно «тяжел» для слабой техники, он неидеально отдокументирован и локализован) – которые постепенно исправляются. У него есть четыре очень серьезных достоинства:

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

2) он изначально платформенно-независим, и пользование им не диктует практически никаких ограничений на выбор операционной системы и операционной среды. Более того, навыки работы с ним также в большой степени переносимы. Фактически, «OO.o» выглядит и управляется одинаково под любой стандартной ОС (разработчики говорят о поддержке «ГНУ/Линукс» и «Солярис»; известно об устойчивой работе пакета под FreeBSD, «Дарвин»/«МакОС Х»), а также под «Майкрософт Уиндоуз 9х/Ми» и «Майкрософт Уиндоуз НТ/00/XP»;

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

4) в команде разработчиков есть российские программисты и фирмы, которым небезразличны перспективы его применения в школе.

4.1 Словарный процессор «OpenWriter»

И «Обязательный минимум...», и большинство конкретных учебных планов предусматривает знакомство лишь с базовой функциональностью программ манипуляции текстами, и любой из свободных словарных процессоров («AbiWord», «Kword», «OpenWriter») гарантированно и с избытком перекроет требования (так же, как и масса присутствующих на рынке несвободных программ, таких, как «Майкрософт Уорд», «Лексикон», «СтарОфис» или «УордПёрфект»). Поскольку большинство из них так или иначе развивают основные интерфейсные подходы «УордПёрфект», существенного (и могущего быть выявленным в пределах тех немногих часов, что учитель в состоянии уделить этой теме) эргономического различия между ними нет.

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

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

«Плоский» и размеченный

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

<курсив>Предложение, набранное курсивом.</курсив>

а word-процессор визуализирует эти атрибуты, например:

Предложение, набранное курсивом.

Визуализацию иногда путают с так называемым WYSIWYG-принципом (сокращение от «What you see is what you get» – «Что видишь, то и получишь»).

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

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

_Предложение,_набранное_курсивом._

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

вернуться

67

Строго говоря, «Мозилла» поддерживает и смешанные контексты, например, XUL-компоненты в HTML или наоборот, но XUL-интерпретатор как таковой не обязан этого делать, и XUL-интерпретатором, соответственно, вовсе не обязательно должен быть браузер.