Выпущенный Sun новейший набор интерфейсов прикладного программирования не поддерживается Personal Java
Майкл Мюллер
Стратегия “растягивания” сферы применимости Java от смарт-карт до суперкомпьютеров вызывает у фирмы Sun Microsystems (Купертино, шт. Калифорния) все более серьезные проблемы. В феврале Sun намеревается выпустить новый набор библиотек Java-классов Swing Set, предоставляющий разработчикам развитой интерфейс прикладного программирования (API) для создания более сложных Java-приложений.
Однако новое подмножество Java, выпущенное недавно под названием Personal Java, этого API не поддерживает. Вместо него при работе с Personal Java применяются библиотеки классов Personal AWT (Abstract Windowing Toolkit - набор графических примитивов), рассчитанные на создание приложений для карманных ПК и приставок WebTV (такие приложения можно исполнять и на ПК, но без использования всех возможностей машины).
Таким образом, для того чтобы Java-приложения универсального назначения, созданные с помощью Swing Set, смогли исполняться также и на устройствах низшего класса, их придется затем переписывать с применением Personal AWT.
Представители Sun утверждают, что отсутствие поддержки Swing Set в Personal Java стало исключительно следствием несогласованности рабочих графиков различных подразделений компании. В настоящее время ее руководство предпринимает усилия по синхронизации этих графиков, с тем чтобы в дальнейшем две ветви технологии Java больше не теряли единства.
Sun поспешила успокоить публику заявлением, что произошедшую неувязку не стоит слишком драматизировать, поскольку поддерживающие Personal Java устройства на рынок все равно еще не выпущены.
Один из пользователей, заинтересованный одновременно и в Swing Set, и в Personal Java, выразил озабоченность не только различием моделей пользовательского интерфейса, но и тем, насколько просто будет отделить интерфейс пользователя от базовой логики приложения.
“Если это можно сделать, переработка пользовательского интерфейса для другого класса устройств окажется не таким уж трудным делом, - заявил вице-президент по разработке ПО фирмы Sony Online Ventures (Нью-Йорк) Марк Бенероф. - Но вот если они тесно интегрировали Personal AWT и новые API с остальной архитектурой, то приложения придется переписывать практически полностью, а это уже серьезная задача”.
Аналогичная дилемма встает и перед разработчиками, которым приходится выбирать версию Java для построения своего приложения: Personal, Embedded или обычную. Приложение, построенное на основе библиотек Personal Java, будет исполняться на Web-телефоне. На стандартном ПК его тоже можно запустить, но с ограничением функциональных возможностей, да и вычислительные ресурсы персональной машины при этом не используются в полной мере.
Решение этой проблемы, по словам представителей Sun, состоит в создании дополнительных модулей к приложению на основе Personal Java, которые будут загружаться только в случае его запуска на ПК. Однако тип исполняющего устройства не идентифицируется автоматически. Разработчику придется предусмотреть выполнение перед загрузкой специальных процедур по определению набора доступных ресурсов.
В настоящее время Sun рассматривает возможность дополнения Personal Java реестром устройств, который поможет разработчику организовать автоматическое копирование и загрузку альтернативных интерфейсов и функциональных компонентов.
Java персональная или обычная? Что выбрать...
Дилемма, стоящая перед разработчиком
Приложения, написанные с использованием Personal Java, в силу своей природы при запуске на ПК оказываются ограниченными по возможностям
Приложения, написанные с использованием библиотек классов Swing Set, предназначенных для обычной версии Java, не смогут исполняться на устройствах, поддерживающих Personal Java 1.0
Personal Java-приложения не способны автоматически определять тип исполняющего устройства