Sun Java Wireless Toolkit (WTK) – бесплатный набор средств разработки программ для мобильных телефонов и других устройств, поддерживающих платформу Java ME. Включает в себя набор классов Java ME для компиляции с помощью JDK, эмулятор, профилировщик, монитор памяти, набор документации и примеры мидлетов. Ранее известен как Java 2 Platform, Micro Edition Wireless Toolkit. Разработчики приложений мобильных телефонов работают в большинстве своём именно с WTK.
Пользовательский интерфейс и значительная часть кода JSR'ов написана на языке Java, что обеспечивает переносимость. Однако, значительная часть кода, в том числе вся реализация виртуальной машины написаны на платформенно-зависимом низкоуровневом языке, что усложняет портирование.
Для компиляции на мобильную платформу необходимо использовать набор классов из 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 представляет собой работу не какого-то телефона из доступных на рынке, а неких гипотетических устройств. Предполагается, что мидлет, проверенный на WTK, будет работать точно так же на любом устройстве, поддерживающем нужный набор JSR. Можно выбрать одно из доступных устройств, а кроме того, есть возможность с помощью текстового файла задать изображение телефона, расположение кнопок, размер экрана.
Эмулятор предоставляет дополнительные возможности, например, профайлер и монитор памяти. Последний позволяет увидеть, сколько объектов каждого типа было распределено за все время работы и в текущий момент, их размер, а также график потребления памяти.
Мобильные приложения одинаково работают на разных устройствах только теоретически. На практике же, пока приложение не протестировано на конкретном устройстве, нет никакой гарантии, что оно на нем даже запустится. Производители устройств иногда предоставляют дополнительные нестандартные интерфейсы. Это вынуждает разработчиков приложений использовать средства, аналогичные WTK, предоставляемые производителями телефонов.
Обычно аналоги от производителей телефонов предоставляют и дополнительные возможности, например, установку тестируемого приложения на телефон, подписывание приложений, а также некоторые средства отладки программ на телефоне.
Большинство крупных производителей предоставляют аналоги WTK: Sony Ericsson – Sony Ericsson SDK for the Java ME Platform; Nokia – Nokia Platform SDK; Motorola – MOTODEV SDK for Java ME
Интегрированные среды разработки, поддерживающие разработку для языка Java, обычно поддерживают и ее мобильную версию. При этом используется один из установленных пользователем мобильный SDK – Sun WTK, либо его аналог. В первую очередь это нужно для получения заданного набора классов платформы для компиляции. После компиляции, появляется возможность не только запустить эмулятор из выбранного WTK, но и полноценно отлаживать свою программу на нем: устанавливать точки останова, выполнять построчно, смотреть значения переменных и т.п.
О следующих интегрированных средах разработки известно, что они поддерживают разработку для Java ME: IntelliJ IDEA: поддерживает DoJa/MIDP/CLDC. NetBeans IDE: поддерживает не просто компиляцию и отладку с помощью WTK, но и набор средств быстрой разработки приложений под эту платформу. Eclipse: с помощью плагинов, поддерживает несколько различных технологий для мобильных устройств, в частности, плагин MTJ для Java ME.
Среда кросплатформенная: Windows, Linux, Ubuntu. Разработчик данного средства, Sun Microsystems распространяет его бесплатно, отмечая его как «Freeware», по лицензии GNU. В целом же, это одна из лучших сред для разработки мобильных игр, программ для профессиональных разработчиков.
Официальный сайт: http://java.sun.com/products/sjwtoolkit/
The Sun Java Wireless Toolkit (formerly known as Java 2 Platform, Micro Edition (J2ME) Wireless Toolkit) is a state-of-the-art toolbox for developing wireless applications that are based on J2ME's Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), and designed to run on cell phones, mainstream personal digital assistants, and other small mobile devices. The toolkit includes the emulation environments, performance optimization and tuning features, documentation, and examples that developers need to bring efficient and successful wireless applications to market quickly. |