Разработчики, рассчитывавшие использовать базовые классы AFC (Application Foundation Classes) корпорации Microsoft (Редмонд, шт. Вашингтон) для создания Web-приложений, столкнулись с трудностями, вызванными использованием в этих классах специфических функций.
AFC были широко разрекламированы в качестве межплатформного двойника JFC (Java Foundation Classes - базовые классы Java) фирмы Sun Microsystems (Маунтин-Вью, шт. Калифорния). Они были выпущены в конце сентября одновременно с Internet Explorer 4.0 и Software Development Kit 2.0 for Java.
Разработчики обнаружили, что AFC имеют один главный недостаток: непереносимость. Некоторые из них работают только на виртуальной машине Java, входящей в состав Internet Explorer 4.0.
“Меня это очень обеспокоит, - заявил Роб Макдермид, разработчик, занимающийся созданием ПО и пытавшийся заставить AFC работать где-либо, кроме IE 4.0. - Моя компания считала, что эти классы будут кросс-платформными и поэтому начала использовать их при создании продуктов. Мы были страшно расстроены тем, что это оказалось не так”.
По словам Макдермида, используя AFC, можно написать приложения, которые будут переносимы на другие виртуальные машины Java (JVM), однако некоторые из самих компонентов AFC работать на других JVM не будут.
“Разумного объяснения такой несовместимости нет, так что чувствовать себя комфортно, имея дело с AFC, достаточно трудно”, - добавил Макдермид.
Причина этих проблем в том, что AFC зависят от вспомогательных классов, имеющихся только в виртуальной машине Java корпорации Microsoft. Однако некоторые пользователи, такие, как независимый разработчик на Java Томас Стил, после множества экспериментов научились создавать переносимые приложения.
Представители Microsoft заявили, что им неизвестно о каких-либо проблемах с переносимостью. “Это чистые Java-классы, и они должны работать в любой виртуальной машине Java 1.1, - заявил Корнелиус Виллис, менеджер Microsoft по маркетингу продуктов для Windows. - Для нас новость, что это не так”.
Виллис сообщил, что Microsoft планирует “в течение нескольких дней” выпустить версию AFC 1.02, совместимую с JVM 1.02, использующейся в браузерах Navigator 3.04 и 4.03 корпорации Netscape Communications. В то же время данная версия AFC не будет работать на Macintosh VM, которая также не поддерживает и функции JDK 1.1.
Однако, как заявил Тод Нильсен, генеральный менеджер Microsoft по маркетингу платформ, корпорация не собирается в дальнейшем расширять кросс-платформные возможности своей библиотеки классов.
“Для Microsoft будет позором, если богатейшие возможности AFC будут доступны только под Windows, - заявил Стил. - С другой стороны, это доминирующая платформа, и Microsoft кажется, что ориентироваться только на Windows выгодно”.
Еще больше усложняет ситуацию то, что выход анонсированной весной этого года библиотеки AFC Enterprise Library, предназначенной для работы на серверах, откладывается на неопределенное время. Представители Microsoft заявили, что корпорация сконцентрирует усилия на более важных проектах.
Стало также известно, что широко разрекламированные интерфейсы прикладного программирования нового поколения COM+ не будут выпущены в виде альфа-версии к концу 1997 г., как это было первоначально обещано. По словам представителей Microsoft, к концу года пользователи могут рассчитывать в лучшем случае на ознакомительную версию.
Некоторые разработчики заявили, что проблемы с AFC не окажут существенного влияния на их планы, так как они никогда не доверяли обещаниям Microsoft по поводу выпуска кросс-платформных AFC.
“Microsoft не является лидером в данной области, - заявил Роберт Уомини, президент The Factual Images (Кенсингтон, шт. Калифорния), разработавшей на Java систему просмотра тематических Internet-конференций. - Разработчикам кросс-платформного ПО не нужно беспокоиться, поскольку JFC предоставляет им все что нужно”.
Тем не менее проблемы с AFC могут привести к тому, что еще больше разработчиков обратится к продукции фирмы Sun. Как стало известно из близких к Sun источников, в декабре на выставке Internet World фирма представит новую версию JFC, а также выпустит предварительную спецификацию интерфейсов прикладного программирования Enterprise Java и Enterprise JavaBean.
Майкл Мюллер, Энтони Гонсалвес