GNOME Office: офисный пакет для Linux
Мария Сысойкина
До недавнего времени все споры между "линуксоидами" и приверженцами 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.
Рис. 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). Его можно использовать и как простую программу для рисования, и для более серьезных задач, например, для ретуширования фотографий, пакетной онлайновой обработки, для просмотра больших коллекций изображений, для конвертирования различных форматов изображений и т. д.
Рис. 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).
Рис. 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.