Концепция Ajax продолжает проникать во все новые и новые ниши. От более интерактивных и удобных Web-страниц она постепенно доросла до вполне самодостаточных приложений и сейчас посягает на святая святых – всем знакомые и привычные офисные программы. И как это уже не раз бывало, первопроходцем является вовсе не Google, но именно ее разработка служит толчком к очередному витку повышенного интереса к такого рода продуктам.
Идея переноса офисных программ в Web отнюдь не нова. В свое время им (и даже более емкой и комплексной парадигме Webtop, т. е. онлайновому Рабочему столу) была посвящена не одна публикация, с отдельными проектами-старожилами можно познакомиться и сегодня – например, www.thinkfree.com. Они реализовывались, естественно, средствами Java, загружались в виде апплетов, позволяли сохранять файлы на Web-дисках. Казалось бы, что здесь можно придумать нового?
Хотя проекты, реализованные на Java, имеют массу достоинств, именно Ajax сулит отсутствие таких сообщений |
Тем не менее плеяда новых решений основана на совершенно ином подходе. Java-апплеты являются, по сути, полновесными офисными приложениями, лишь каким-то образом взаимодействующими с Web (часто с ними можно работать и в автономном режиме). В случае же Ajax программный код и рабочий документ представляют собой фактически единое целое, т. е. обычную Web-страницу, размещение которой на Web-сервере априори предполагает возможность множественного доступа. Кроме того, высокая интерактивность таких страниц позволяет гибко сочетать локальный и серверный коды и, таким образом, обеспечивать как необходимую реактивность интерфейса, так и достаточную производительность (особенно при выполнении «тяжелых» функций вроде преобразования форматов и пр.).
Преимущества нового подхода особенно хорошо видны на примере онлайновых электронных таблиц. Текстовые редакторы в этом контексте менее интересны, поскольку поток текста относительно просто обрабатывать и представлять в виде HTML (или даже XML). Совершенно другое дело – жестко структурированные данные, где интерактивной должна быть каждая отдельная ячейка.
Все рассмотренные ниже проекты находятся в стадии развития и совершенствования, и пока не вполне понятно, во что они превратятся в конце концов. Все как минимум обеспечивают средства загрузки таблиц в популярных форматах, инструменты для наведения внешнего лоска, некоторый набор встроенных функций и элементарную работу с формулами. Безусловно, на скриптовом языке крайне сложно создать полновесного конкурента Microsoft Excel или других аналогичных программ, но разработчики Ajax-сервисов и не ставят перед собой подобной задачи, приняв во внимание правило Парето, более известное как 80/20.
В результате современные электронные Web-таблицы предлагают лишь базовые возможности, но зато они достаточно компактны, относительно быстро загружаются и действительно могут реально использоваться с публичных компьютеров (на которых Java обычно запрещен). Изредка предлагаются различные дополнения, основанные именно на Web – вот они, по нашему мнению, и являются наиболее ценными.
Пока Ajaxxls годится разве что на роль кросс-платформенной программы просмотра несложных XLS-файлов |
Num sum не хватает звезд с неба, но базовые функции выполняет вполне добротно |
Ajaxxls представляет сразу два проекта – программу для просмотра страниц и редактор (в бета-версии). Существенным минусом является совместимость исключительно с Firefox. В целом возможности обеих программ довольно примитивны, нельзя даже выполнять ввод данных прямо в ячейку. К плюсам же можно отнести достаточно корректное сохранение простых диаграмм при импорте XLS.
Несколько большей функциональностью обладает Num sum – по крайней мере, эта программа работает и с Internet Explorer, и с Firefox. Кроме того, проект отличается солидной библиотекой готовых публичных таблиц, среди которых можно отыскать шаблон практически для всех областей применения (конечно, не был обойден вниманием и нынешний чемпионат мира по футболу), а также не ограничивает объем сохраняемых данных. Для упрощения поиска с каждой таблицей допускается связывать описание и ключевые слова. Изменения в общую таблицу, видимую по умолчанию всем пользователям (предусмотрены и некоторые ограничения), разрешается вносить только автору. Впрочем, ее можно скопировать и после уже исправить.
К сожалению, не предусмотрена возможность назначения группы пользователей с правом редактирования, а средства совместной работы находятся в зачаточном состоянии – свои замечания можно адресовать автору в примечаниях (создаваемых по типу блогов). Сохранение данных необходимо выполнять специально, при этом происходит перезагрузка всей страницы, что не слишком удобно. Остальные функции также пока не блещут изяществом: таблицы могут содержать только один лист, диаграммы поддерживаются самые элементарные, экспорт предусмотрен лишь в текстовые форматы (хотя возможна публикация в блоги и RSS-ленты).
iRows больше других проектов напоминает обычную электронную таблицу |
Zoho Sheet лучше других справляется с преобразованием сложных таблиц, корректно обрабатывает формулы, именованные диапазоны, диаграммы, но также не лишен недостатков и совсем не блещет в области обеспечения сотрудничества |
iRows – один из наиболее зрелых проектов. Здесь обеспечивается двустороннее преобразование в три основных формата: XLS, ODS и CSV (в Unicode), используется набор разнообразных встроенных функций (их несколько десятков), строятся пристойные диаграммы, в том числе и трехмерные. Кроме того, Web-таблица iRows максимально похожа на обычное автономное приложение, у ячеек даже адаптировано контекстное меню (вместо стандартного браузерного, как у большинства конкурентов). Но главной особенностью этой программы является все же совместная работа над документами, для чего предусмотрена возможность создавать группы пользователей и определять их полномочия. iRows умеет автоматически оповещать по электронной почте о внесении изменений в документы, автоматически накапливает версии, допускает совместное редактирование. Правда, при одновременном изменении одной и той же ячейки данные просто перезаписываются, однако авторы планируют реализовать обработку подобных конфликтов с помощью специальных предупреждений. В планах также ведение протокола доступа к таблицам.
Пожалуй, не менее функционален и Zoho sheet, причем некоторые присутствующие здесь возможности у конкурентов встречаются довольно редко (вроде экспорта в XLS), а отдельные можно смело отнести к уникальным (для подобных проектов), – к таковым относится простенький, но все же «мастер» для выбора функций (всего их более 300). Уделено внимание и совместной работе над документами, которые допускается делать публичными или открывать для группы коллег – правда, в каждый момент времени редактировать их может лишь кто-то один. Обеспечивается публикация диаграмм и таблиц на Web-узлах и блогах, причем они будут обновляться автоматически. Естественно, поддерживаются и другие Web-функции, вроде набора ключевых слов, поиска в общедоступном каталоге и т. д.
Google Spreadsheets – относительно молодой проект, и пока не может похвастать развитой функциональностью. Обеспечивается импорт только файлов в двух форматах – CSV и XLS, все прочие требуется предварительно конвертировать. Также отсутствует возможность построения диаграмм, хотя работы в данном направлении, судя по всему, ведутся. Из положительных моментов можно выделить достаточно широкий набор встроенных функций, в том числе и специальных (правда, вы должны точно знать их назначение и список аргументов, поскольку какая бы то ни было справка отсутствует), и наличие простых сортировок (поддерживаются даже закрепленные столбцы). Одним словом, осталось совсем немного, чтобы выдержать некий средний уровень среди аналогичных проектов.
Собственно электронная таблица в проекте Google далеко не самая мощная, зато совместная работа реализована великолепно |
Однако в первую очередь Google Spreadsheets интересен как наиболее «идеологически выдержанный» проект. Как уже упоминалось, подобные Web-сервисы в первую очередь удобны для организации сотрудничества, и данному аспекту создатели, несомненно, уделили должное внимание. Прежде всего инструменты для совместной работы вынесены в специальную панель. Здесь крайне просто пригласить коллег для редактирования либо просмотра (равно как и при необходимости исключить их из списка допущенных). При этом разрешается совместное редактирование, однако нужно быть аккуратным, поскольку если изменения в ячейки были внесены двумя участниками почти одновременно, то без всякого предупреждения сохранится последний вариант (это, естественно, не идет ни в какое сравнение с режимом совместного доступа к таблице в Microsoft Excel, однако не следует забывать, что он обеспечивается только в локальной сети).
Кроме того, в панели отображается окно чата, что особенно удобно. Действительно, концепция работы с таблицей отовсюду, в том числе и с публичных компьютеров, не предполагает использования обычных IM. Здесь же все участники процесса могут элементарно общаться, обсуждать вопросы и, кстати, договариваться о последовательности редактирования.
Несомненно, подобные проекты в ближайшее время будут развиваться и множиться – даже упомянутый в начале статьи ThinkFree Office собирается мигрировать на Ajax. Тем не менее их вряд ли стоит воспринимать всерьез в качестве конкурентов автономным приложениям вроде Microsoft Excel или OpenOffice.org Calc. Последние, очевидно, всегда будут иметь ряд неоспоримых преимуществ, к тому же их использование не зависит от наличия коммуникаций, качества работы удаленного сервера и пр.
Главное назначение онлайновых приложений состоит в обеспечении различных элементов сотрудничества – от обнародования какой-либо информации, с возможностью их последующей корректировки, до совместного редактирования документов (что реализуется во многом благодаря именно Ajax). И следует признать, что в данном контексте – это самый простой из существующих инструментов, не требующий предварительной подготовки и не зависящий от используемых платформ и приложений. При этом Web-таблицы представляют особый интерес, поскольку в наибольшей степени ориентированы на деловое применение – с их помощью можно строить бизнес-планы, формировать совместные расписания и т. д.
Актуальность и перспективы подобных решений, кстати, весьма неплохо иллюстрирует еще один проект – WikiCalc, который интересен не только тем, что основан на принципах wiki, но и тем, что ориентирован на применение в intranet. Остается лишь помечтать, что на базе Ajax/Atlas когда-нибудь будет функционировать Excel Services.
Однако на пути успеха подобных публичных решений существует целый ряд препятствий. Хотя большинство из нас воспринимают Web-услуги как бесплатную данность, от сервисов, используемых в деловых целях, требуется гарантированная надежность, что, очевидно, предполагает немалые вложения – причем далеко не все поставщики готовы (или способны) применять бизнес-модель Google. И, конечно, никакая оплата не может полностью исключить традиционных для Web рисков.
Не меньшую роль могут сыграть и проблемы, так сказать, социального плана. По мере насыщения Ajax-решений программным кодом они становятся все более привлекательными для создателей вирусов и «червей» – первый звоночек уже прозвучал. Но наибольший вред может заключаться в том, что скрипты начнут блокировать (и не только в публичных местах) наравне с ActiveX и Java-апплетами.
Тем не менее направление Web-приложений, построенных на базе Ajax, для многих выглядит сегодня довольно заманчивым, поскольку, пожалуй, впервые наделяет реальным смыслом идею SaaS (Software as a Service), в соответствии с которой не будет (почти) разницы между мощным ПК и Web-терминалом, а оплата ПО станет производиться посеансово или почасово. Окажется ли это действительно выгодно и всем ли, покажет время, в любом случае вряд ли стоит ожидать резких смен приоритетов в ближайшем будущем.