После длительного ожидания пользователи компьютеров Macintosh получили виртуальную машину и библиотеки, поддерживающие спецификацию Java 1.1

На Web-узле Apple (http://applejava.apple.com/) наконец-то появился долгожданный продукт - MacOS Runtime for Java (MRJ) версии 2.0. Нумерация версий продуктов Apple отличается от принятой в Sun Microsystems, однако виртуальная машина Java и библиотеки, присутствующие в данном пакете, соответствуют спецификации Java 1.1.3 компании Sun. Продукт также содержит компилятор реального времени (Just-In-Time compiler, JIT) для процессоров Motorola 68040 и PowerPC.

На Web-узле компании рекомендуется: немедленно установите свежую версию MRJ, "чтобы получить все преимущества и возможности последней версии Java". На прошедшей в августе прошлого года в Бостоне выставке MacWorld компания Apple обещала выпустить официальную бета-версию MRJ 2.0 в сентябре. Вместо этого она выпустила ряд промежуточных предварительных версий, соответствующих различным этапам разработки продукта. Окончательная версия появилась 20 декабря, вскоре после выпуска компанией Sun бета-версии Java Development Kit (JDK) 1.2 для Windows 95/NT и Solaris. Apple по-прежнему намеревается сократить время между выходами новых версий Sun JDK и MRJ. В частности, работа с версией 1.2 уже началась.

Поставляемая с MRJ 2.0 виртуальная машина Java для MacOS поддерживает JavaBeans, файловый формат JAR, удаленный вызов методов (Remote Method Invocation, RMI), интерфейс для работы с базами данных Java Database Connectivity (JDBC), а также Java Native Interface (JNI). Остальные возможности продукта важны скорее для разработчиков, нежели для обычных пользователей, - это поддержка внутренних классов, новая модель обработки событий, ряд изменений в Abstract Window Toolklit (AWT), поддержка сериализации объектов и др.

Соответствующий пакет для разработчиков (Software Development Kit, SDK) пока не готов. Менеджер по продуктам Java компании Apple Гарри Литтл сообщает, что окончательная версия MRJ 2.0 SDK выйдет к концу января. По существу, это будет ориентированная на MacOS версия пакета JDK, которую Sun изначально планировала выпустить в июне прошлого года. Окончательная версия JDK 1.1 для Windows была выпущена в феврале 1997 г. В мае представитель отдела JavaSoft компании Sun Эндрю Шикиар сообщил, что первые бета-версии JDK для MacOS появятся через несколько недель, а готовый продукт выйдет в начале осени. На деле оказалось, что версия для MacOS отстает от версии для Windows примерно на год.

По словам Литтла, MRJ 2.0 содержит ряд новых функций для разработчиков: "JManager предоставляет интерфейс для браузеров и исполнителей апплетов, JBindery позволяет создавать приложения с простым и понятным интерфейсом, библиотеки MRJToolkit обеспечивают доступ к стандартным системным процедурам, а JDirect - удобный интерфейс для работы с инструментальными средствами".

К сожалению, не все компоненты легко переносимы на платформу MacOS. Компания Zero G Software, имеющая богатый опыт работы с Java на различных платформах, уже несколько месяцев занимается проблемами MRJ 2.0. Ее продукт InstallAnywhere позволяет разработчикам создавать универсальные дистрибутивы, которые могут быть установлены в любой среде, поддерживающей Java. Директор компании Эрик Шапиро сообщает о наличии проблем с длинными именами файлов. При работе с файлами, длина имен которых превышает 31 символ, требуются специальные меры. Шапиро считает, что для решения этой проблемы можно создать в операционной системе, поддерживающей более длинные имена, неупакованный zip-файл, который хранит относительные пути (например, с помощью PKZIP). Затем такой файл может быть перенесен на Macintosh.

В целом, выход нового продукта является радостной новостью для поклонников Mac. Его появление означает, что пользователям MacOS теперь доступны все современные возможности языка Java и апплетов. Что касается разработчиков, они пока не обладают таким же арсеналом средств, как предоставляемый Sun для платформ Windows 95/NT и Solaris.