Sun Java Wireless Toolkit

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Centurn l (обсуждение | вклад) в 20:05, 29 июня 2008 (+ Эмулятор). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
Sun Java Wireless Toolkit
Файл:Sun Microsystems Logo.svg
Скриншот эмулятора WTK с запущенным приложением из набора примеров и включенным монитором памяти
Тип средство разработки
Разработчик Sun Microsystems
Операционные системы Кроссплатформенное программное обеспечение (GNU/Linux, Windows XP)
Последняя версия 2.5.2 (10 октября 2007)
Лицензия Freeware
Сайт java.sun.com/products/sj…

Sun Java Wireless Toolkit (часто упоминается как «WTK») — бесплатный набор средств разработки программ для мобильных телефонов и других устройств, поддерживающих платформу Java ME. Включает в себя набор классов Java ME (для компиляции с помощью JDK), эмулятор, профилировщик, монитор памяти, набор документации и примеры мидлетов. Ранее известен как Java 2 Platform, Micro Edition Wireless Toolkit.

Технические данные

Язык реализации

Пользовательский интерфейс и значительная часть кода JSR'ов написана на языке Java, что обеспечивает переносимость. Однако, значительная часть кода, в том числе вся реализация виртуальной машины написаны на платформенно-зависимом низкоуровневом языке, что усложняет портирование. [1] Поэтому первая версия под платформу, отличную от Windows, появилась только в мае 2007 года[2].

Системные требования

Компиляция

Мобильная платформа Java использует практически тот же формат .class файлов, что и полная версия (Java SE), и для компиляции используется тот же компилятор javac.exe из комплекта JDK. Однако есть несколько важных отличий:

  • Большинетсво классов и их методов платформы Java ME являются всего лишь подмножеством набора классов, доступных на более сложных платформах Java SE, Java EE
  • Некоторые пакеты, например, для работы с графическим интерфейсом, в силу специфики экрана и устройств ввода, предоставляют совершенно другой набор классов, построенный по иной идеологии
  • "Облегченная" версия виртуальной машины, доступная на телефоне, не содержит некоторой функциональности, необходимой для загрузки файлов с классами, поэтому эти файлы должны пройти предварительную обработку

Поэтому для компиляции на мобильную платформу необходимо использовать набор классов из WTK (указывается через параметр компилятора -classpath). А после компиляции и сборки .jar архива он должен быть обработан утилитой preverify.exe из набора WTK.

Целевая платформа

В силу переносимости, компиляция происходит не для какого-то конкретного устройства или процессора, а в универсальный байт-код, который (теоретически) должен работать одинаково на разных платформах. Однако, платформы отличаются версией конфигурации (CLDC 1.0/1.1), профиля (MIDP 1.0/2.0/2.1), и набором необязательных JSR (например, M3G для трёхмерной графики или JSR-82 для bluetooth). Поэтому при компиляции мидлета следует указывать в -classpath только те наборы классов, которые необходимы приложению — это даст возможность работать на большем количестве устройств.

Эмулятор

Эмулятор — возможно, наиболее важная часть WTK. Основные категории ползователей, для которых он предназначен:

  • Разработчики приложений мобильных телефонов — для предваритеьного тестирования программ без установки на целевое устройство
  • Разработчики самих платформ, поддерживающих Java ME (например, производители мобильных телефонов) — для сравнения поведения их платформы с "эталоном"
  • Обычные пользователи — чтобы запускать Java ME мидлеты на компьютере

Эмулятор WTK представляет собой работу не какого-то телефона из доступных на рынке, а неких гипотетических устройств. Предполагается, что мидлет, проверенный на WTK, будет работать точно так же на любом устройстве, поддерживающем нужный набор JSR. Можно выбрать одно из доступных устройств, а кроме того, есть возможность с помощь текстового файла задать изображение телефона, расположение кнопок, размер экрана.

Эмулятор предоставляет дополнительные возможности, например, профайлер и монитор памяти. Последний позволяет увидеть, сколько объектов каждого типа было распределено за все время работы и в текущий момент, их размер, а также график потребления памяти. Следует, однако, помнить, что данные, предоставляемые этими сервисами, на настоящем устройстве почти наверняка будут отличаться, поскольку они зависят от реализации виртуальной машины и JSR'ов.

Ссылки

Примечания

  1. FAQ, General Questions
  2. What's new with WTK 2.5.1
  3. [1], см. System Requirements - Software, System Requirements - Hardware