Мария Сысойкина

До недавнего времени все споры между "линуксоидами" и приверженцами Windows, касающиеся применения Linux в качестве ОС для настольных систем и тем более для работы в офисе, упирались в отсутствие подходящего программного обеспечения. Но в последние год-два ситуация сильно изменилась. Во-первых, программа установки в большинстве дистрибутивов Linux обрела русифицированный графический интерфейс, что сделало процесс установки гораздо более понятным даже не слишком опытному пользователю. Во-вторых, не стоит забывать о десктопах для X Window. По своей функциональности KDE или GNOME ни в чем не уступают пресловутому детищу Microsoft.

И наконец, в 2000 году появились на свет три пакета офисных программ - StarOffice 5.2 от Sun Microsystems, KOffice от KDE Team и GNOME Office Suite. Если ориентироваться на работу в среде GNOME, то наибольший интерес представляет последний из этих трех пакетов - GNOME Office.

GNOME Office - это мета-проект, имеющий конечной целью объединение и координацию работы приложений в рамках одного пакета, предназначенного для среды GNOME Desktop. Как и подавляющее большинство программ для Linux, пакет GNOME Office полностью состоит из свободно распространяемого ПО.

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

На сегодняшний день в пакет GNOME Office входят следующие приложения:

  • текстовый процессор AbiWord;
  • электронные таблицы Gnumeric;
  • Web-браузер Galeon;
  • программа работы с векторной графикой Sodipodi, Sketch;
  • программа просмотра изображений Eye Of GNOME;
  • программа работы с растровой графикой GIMP;
  • почтовые клиенты Balsa, Evolution;
  • программа работы с чертежами Guppi;
  • программа работы с диаграммами Dia;
  • ПО управления проектами MrProject, Toutdoux;
  • ПО управления финансами Gnucash;
  • ПО для создания презентаций Achtung;
  • программа работы с БД GNOME-DB;
  • ПО для коммуникаций Gfax.

Базовые технологии

Базовых технологий несколько, но прежде всего необходимо сказать о компонентной архитектуре Bonobo, на которой основано большинство офисных приложений для GNOME.

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

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

Bonobo представляет собой набор интерфейсов CORBA, определяющих взаимодействие, необходимое для написания компонентов и создания приложений. Эти интерфейсы CORBA не привязаны ни к GNOME, ни к X Window, ни к UNIX-системам в целом. В GNOME включены интерфейсы CORBA для Bonobo и реализация этих интерфейсов на базе GNOME/GTK+. Поддержка Bonobo в настоящее время реализована в приложениях Evolution, Gnumeric, Guppi, SodiPodi.

Кроме Bonobo, важное место в реализации GNOME Office занимает технология GNOME-Print. Она представляет собой унифицированный механизм печати для оболочки GNOME. Основные достоинства этого механизма - устойчивое качество и скорость печати, эффективность использования памяти, а также возможность беспрепятственной работы с PostScript-принтерами, шрифтами и другими ресурсами. В то же время GNOME-Print имеет простой API, предназначенный для разработчиков приложений.

Поддержка GNOME-print в настоящее время осуществлена в приложениях Gnumeric, Evolution, Eye Of GNOME, AbiWord, Sodipodi, Dia и Gnucash.

И наконец, нельзя не упомянуть об XML, который используется во всех приложениях GNOME Office повсеместно в качестве "родного" формата файлов. Технология XML обеспечивает универсальный формат обмена структурированными данными как внутри самой оболочки GNOME, так и при работе с другими приложениями.

AbiWord

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

Fig.1
Рис. 1. Возможности текстового процессора AbiWord.

AbiWord позволяет импортировать файлы таких форматов, как DocBook (только XML DTD), Microsoft Word (различные версии), XHTML 1.0, RTF, UTF8, TXT, WML, GZipped AbiWord, Psion Word. Экспорт из AbiWord возможен в форматы DocBook (только XML DTD), XHTML 1.0, LATeX, Palm (PDB), RTF (включая RTF для более старых приложений), TXT, UTF8, WML, GZipped AbiWord, Psion Word. Экспорт в формат Microsoft Word '97 и импорт из Palm на данный момент только разрабатываются.

Печать в AbiWord реализована с использованием механизма GNOME-print. Поддерживается печать в PostScript и PDF, а также предварительный просмотр печати. AbiWord позволяет встраивать в документы изображения в формате PNG, BMP или SVG.

Кроме того, в редакторе реализованы следующие функции:

  • форматирование абзацев; списки (поддерживается несколько типов);
  • форматирование текста, множественные колонки текста;
  • пользовательские стили;
  • неограниченное количество операций undo/redo;
  • использование цветов переднего и заднего плана;
  • проверка правописания с использованием Pspell (и поддержка других языков).

Achtung

Achtung - программа создания презентаций; в настоящий момент разработка ее только начата.

Balsa

Balsa - почтовый клиент, внешне напоминающий Eudora для Windows. Помимо внешнего сходства Balsa предлагает пользователю и большинство функций, реализованных в Eudora. В частности, программа поддерживает протоколы POP3 и IMAP и обеспечивает работу с локальными почтовыми системами по SMTP, поддержку типов MIME и такие стандартные возможности, как печать, проверка правописания, адресная книга (интегрированная с GnomeCard), присоединение файлов, различные кодировки и наборы символов.

Dia

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

Dia легко расширить, добавив новые коллекции объектов, определенных с использованием XML. Среди прочих возможностей программы следует указать экспорт в формат PostScript и загрузку и сохранение данных в формате XML.

Eye Of GNOME

Eye Of GNOME - быстрая и функциональная программа просмотра и каталогизации изображений. Приложение широко использует библиотеку GNOME Canvas, благодаря чему она может быстро и качественно показать изображение на экране.

Eye Of GNOME распознает все графические форматы, поддерживаемые библиотекой gdk-pixbuf, включая PNG, GIF, JPEG, BMP, PNM, RAS, TIFF, ICO и XPM.

Большое преимущество этого приложения состоит в том, что даже при высокой степени масштабирования для работы достаточно сравнительно небольшого объема памяти, причем это никак не отражается на качестве изображения.

Кроме всего прочего, использование технологии Bonobo позволяет встраивать изображения в любые приложения пакета GNOME Office.

Evolution

Evolution - это интегрированные в одно приложение почтовый клиент, календарь и адресная книга.

Почтовый клиент Evolution имеет такие возможности, как поддержка протоколов POP3 (возможность создания нескольких учетных записей) и IMAP; фильтрация и сортировка входящих сообщений; отображение текста, HTML и графики. Более сложные данные (аудио, видео или PDF) можно обрабатывать с помощью встраиваемых компонентов Bonobo.

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

Адресная книга Evolution, так же как и календарь, синхронизирована с Palm Pilot и использует стандарт vCalendar.

Galeon

Браузер Galeon реализует простейший интерфейс с оптимальным набором возможностей стандартного Web-браузера. Иными словами, Galeon - это только браузер, но не почтовый клиент или файловый менеджер. Остальные функции выполняются в Galeon с помощью подключения внешних программ или компонентов. Для интеграции с другими компонентами служат механизмы CORBA, Bonobo или даже просто вызов приложения через командную строку.

Что касается возможностей Web-браузера, то Galeon поддерживает те же стандарты, что и Mozilla: HTML, XHTML, XML, CSS1, CSS2, CSS3, DOM0, DOM1, DOM2, JavaScript. В нем реализована поддержка плагинов Netscape (Flash, Java и т. д.), cookies и SSL. Есть возможность ведения журнала операций, поиска по тексту, просмотра исходных HTML-текстов страницы и сохранения страниц.

Помимо этого Galeon имеет весьма функциональный интерфейс, с такими возможностями, как конфигурирование внешнего вида, просмотр в режиме полного экрана, автодополнение URL, расширенная поддержка drag-and-drop, настройка работы мыши. В Galeon реализована и работа с закладками: например, импорт/экспорт закладок формата Mozilla/Netscape, возможность отображения множественных панелей закладок, закладки с изображениями (закладки на панели инструментов представлены пиктограммами), динамически генерируемые страницы со всеми закладками (My Portal), автоматически создаваемые закладки.

Gfax

Gfax - это программа отправки факсимильных сообщений через компьютер. Она работает со всеми X-приложениями, использующими lpr в качестве интерфейса печати. Gfax была протестирована с такими программами, как Word Perfect от Corel, Emacs, NEdit, GhostScript и Lyx. Она работает и на базе таких приложений для передачи факсов, как Mgetty+Sendfax или Hylafax.

Помимо этого к числу достоинств Gfax можно отнести следующие свойства:

  • всплывающее графическое окно;
  • телефонная книга;
  • уведомление об отправке факса на указанный адрес e-mail;
  • отправка факсов из файла на диске;
  • отложенная отправка;
  • отправка факса по сети с помощью Hylafax;
  • online-справка.

GIMP

GIMP (GNU Image Manipulation Program) - программа управления изображениями, свободно распространяемое ПО для таких задач, как ретуширование фотографий или создание изображений.

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

Fig.2
Рис. 2. Возможности графического редактора GIMP.

GIMP поддерживает форматы файлов GIF, JPG, PNG, XPM, TIFF, TGA, MPEG, PS, PDF, PCX, BMP. Как и многие другие приложения GNOME Office, GIMP легко можно дополнить или расширить, подключив внешние встраиваемые модули.

Вот краткий список основных возможностей GIMP:

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

GNOME-DB

Цель проекта GNOME-DB - предоставить архитектуру свободного унифицированного доступа к данным в рамках проекта GNOME. Но несмотря на то, что основной упор делается на работу в среде GNOME, большое внимание было уделено четкому разделению ядра доступа к данным (библиотека libgda) и пользовательского интерфейса. Таким образом, GNOME-DB состоит из двух разных проектов. Первый - ядро доступа к данным - представлен библиотекой libgda, полностью независим от оболочки GNOME, а поэтому позволяет разрабатывать на базе этой библиотеки приложения не только для GNOME. Второй проект - это непосредственно GNOME-DB, представляющий собой нечто большее, чем просто GNOME-интерфейс для libgda. С помощью основных технологий GNOME, таких как Bonobo, GConf, OAF, libxml, GNOME-DB интегрирует возможности libgda в саму среду GNOME.

GNOME-DB поддерживает различные СУБД, в том числе PostgreSQL, MySQL, Oracle, ODBC, Sybase, и допускает экспорт/импорт данных между различными серверами БД. Имеется полный набор инструментов для работы с БД, возможность создавать отчеты с использованием технологии CORBA. Поддерживаются XML-запросы.

GNOME-DB включает набор библиотек для разработки собственных приложений на базе gnome-db/libgda.

Gnucash

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

Gnumeric

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

Fig.3
Рис. 3. Внешний вид табличного редактора Gnumeric.

В результате Gnumeric предоставляет следующие базовые возможности:

  • 95% встроенных функций Excel и 100% инженерных функций;
  • расчеты внутритабличных зависимостей;
  • работа с массивами и функциями, пользовательские имена переменных;
  • панель для вызова часто выполняемых операций;
  • масштабирование;
  • добавление объектов в таблицы (линии, овалы, квадраты, кнопки, объекты Bonobo);
  • печать: содержимое ячеек, информация о стиле, настройки принтера для каждой таблицы, предварительный просмотр; параметры печати (ориентация и размеры страницы, поля, заголовки и сноски, порядок печати);
  • форматы данных: числовой, денежный, учетный, даты, времени, процентов, дробный, научный, текстовый, специальный;
  • стили: рамки, цвета, шрифты, выключка, перенос текста;
  • импорт из Excel (вся суммарная информация, весь текст таблиц плюс формулы, стили, выделения, встроенные изображения, настройки принтера), XML (собственный формат), HTML, CSV, Lotus 1-2-3, GNU oleo;
  • экспорт в Excel (итоговая информация, весь текст таблиц плюс формулы, названия), XML (формат gnumeric - все данные, кроме встроенных объектов), HTML, LATeX, Troff, PDF, EPS, DVI, CSV.

Guppi

Guppi - удобный графический интерфейс для построения чертежей и представления статистической информации.

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

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

Работа с Guppi API возможна как через Scheme, так и через Python. Так как графический набор инструментов, с помощью которого создавался Guppi, доступен и в Scheme, и в Python, то пользовательский интерфейс Guppi можно расширить до любой степени сложности за счет пользовательских скриптов.

MrProject

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

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

Sketch

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

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

Sketch поддерживает импорт внешних растровых изображений в форматах, распознаваемых графическими библиотеками Python, - JPEG, PNG и т. д. Кроме того, Sketch поддерживает формат Encapsulated PostScript (EPS).

Sodipodi

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

  • чтение и сохранение файлов в формате SVG (Scalable Vector Graphics), импорт PNG, BMP, JPEG, GIF, экспорт PNG;
  • поддержка прозрачных слоев для векторных и растровых изображений;
  • высококачественный текст;
  • полный набор инструментов для редактирования контура;
  • произвольная трансформация форм, растровых изображений и текста;
  • группировка, комбинирование, склеивание объектов;
  • одновременная работа с несколькими документами и несколько одновременных видов одного документа.

Toutdoux

Toutdoux - менеджер проектов для GNOME. Возможно, это приложение менее функционально, нежели MrProject, однако имеет неоспоримые преимущества.

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

Помимо приложений, изначально создававшихся в рамках проекта GNOME Office, предполагается интегрировать в пакет ряд приложений проекта OpenOffice. В настоящий момент эти приложения не входят в состав GNOME Office, однако многие из них более функциональны. Сейчас предполагается включить в офис GNOME текстовый процессор OpenWriter, электронные таблицы OpenCalc, редактор векторной графики OpenDraw и программу создания презентаций Impress.