`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Web-приложения: Java еще рано сбрасывать со счетов

Статья опубликована в №5 (573) от 6 февраля

0 
 

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

Около полугода назад, обсуждая перспективы развития пользовательских Web-приложений (), мы среди прочего задавались вопросом - вытеснит ли Ajax укрепившуюся в данной нише платформу Java. Примечательно, что в то время даже создатели одного из наиболее известных онлайновых Java-пакетов, ThinkFree Office, планировали обратиться к новым технологиям. Однако, как оказалось, они вовсе не подразумевали полную миграцию на Ajax и отнюдь не торопились отказываться от прежних наработок.

Web-приложения Java еще рано сбрасывать со счетов
Полноценный ThinkFree Office представляет собой множество небольших модулей, которые подгружаются по необходимости. По сути, он мало отличается от обычного автономного приложения

Как и ранее, ThinkFree Office (проект, похоже, находится в состоянии перманентного бета-тестирования) состоит из трех приложений (текстового процессора Write, электронной таблицы Calc и программы для создания презентаций Show), совместимых с аналогичными приложениями Microsoft Office. Правда, теперь пользователям этого бесплатного пакета дополнительно предоставляется 1 GB дискового пространства - вполне достаточно для хранения любых документов. Главная же новинка состоит в том, что приложения доступны в двух режимах - полнофункциональном, который по-прежнему реализован на Java, и Quick Edit с существенно ограниченной функциональностью, но на базе Ajax.

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

В режиме же Quick Edit предлагается лишь минимальный набор инструментов для работы с текстом, таблицами и презентациями. И это, скорее всего, является следствием четкого понимания разработчиками ограничений Ajax-подхода. Достаточно много функций, без которых сейчас не обходится ни один текстовый процессор или электронная таблица, очень сложно качественно реализовать средствами Ajax, тогда как на Java это не вызывает затруднений (хорошим примером может служить и EIOffice).

Web-приложения Java еще рано сбрасывать со счетов
Хотя Google Docs обеспечивает функцию проверки правописания (только документа целиком), со сложными документами она может работать не вполне удовлетворительно

Сама идеология Ajax-приложений подразумевает выполнение любых сколько-нибудь сложных операций на сервере с последующим обновлением части страницы. Таким образом, например, для реализации проверки правописания "на лету" необходимо предусмотреть передачу каждого слова на сервер и обратно (возможно, с какой-то дополнительной информацией). При этом структура HTML-страницы не слишком приспособлена для таких целей, и разработчикам придется изобретать различные дополнительные трюки. Реализация же подобной функциональности на клиентской стороне (средствами скриптового языка) наверняка получится довольно громоздкой и неэффективной. Другое дело Java - тем более, что, как мы уже отмечали, полнофункциональный ThinkFree Office использует собственные интерфейс и внутреннее представление документа, а практически весь код выполняется локально.

Впрочем, даже проверка правописания всего документа, реализованная с помощью Ajax, вообще говоря, проигрывает аналогичной функции, выполненной на Java. Для сравнения мы поэкспериментировали с одним набором документов в полнофункциональной версии ThinkFree Write (в режиме Quick Edit данная функция просто не поддерживается) и Google Docs. Оказалось, что в приложении от Google скорость работы существенно зависит от структуры документа. Если в нем содержится только текст, то проверка выполняется достаточно быстро, но стоит встроить в него более сложные элементы (таблицы, рисунки) - и процесс заметно замедляется (иногда в несколько раз). Проверка же правописания в ThinkFree Write происходит фактически мгновенно (она, кстати, может функционировать и "на лету"), за исключением первого вызова, когда подгружается соответствующий словарь.

То же самое относится и к другим "тяжелым" функциям, например к построению диаграмм. Ajax-версия электронных таблиц в ThinkFree Office их вообще не поддерживает, да и в Google Spreadsheets, несмотря на заявленные планы, они до сих пор не реализованы. Поэтому для сравнения мы выбрали Web-приложение Zoho sheet, которое достаточно давно умеет работать с диаграммами - список их типов, правда, невелик, но вполне достаточен для неискушенного пользователя. Оказалось, что если скорости начального построения диаграмм у Zoho sheet и ThinkFree Calc сравнимы (особенно когда во втором случае подгружается соответствующий модуль), то на этапе их редактирования преимущества Java становятся вполне очевидными: ThinkFree Calc обновляет изображение в мгновение ока, тогда как у Zoho sheet на эту процедуру уходит столько же времени, как и на создание (оно и понятно, ведь приходится выполнить практически все те же действия).

Web-приложения Java еще рано сбрасывать со счетов
Поскольку основной код ThinkFree Office выполняется локально, задержки даже на самых сложных операциях фактически отсутствуют

В пользу нескорого отказа от Java при разработке Web-приложений говорит и еще один нюанс. Основное преимущество онлайновых приложений - возможность доступа из любой точки и совместной работы над документами, невзирая на расстояния, - в то же время является и одним из уязвимых мест. Как поступать при плохой связи или полном отсутствии таковой? Не случайно поставщики SaaS-решений все чаще задумываются о необходимости предоставления хотя бы урезанной функциональности в автономном режиме с возможностью синхронизации при появлении соединения с Интернетом. Понятно, что в случае Java это сделать гораздо проще, что вскоре и собирается доказать компания ThinkFree.

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

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

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

0 
 

Напечатать Отправить другу

Читайте также

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT