Wireless Toolkit: различия между версиями
Shevron (обсуждение | вклад) Нет описания правки |
|||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 17: | Строка 17: | ||
'''Sun Java Wireless Toolkit''' (часто упоминается как «'''WTK'''») — бесплатный набор средств разработки программ для мобильных телефонов и других устройств, поддерживающих платформу Java ME. Включает в себя набор классов Java ME (для компиляции с помощью JDK), эмулятор, профилировщик, монитор памяти, набор документации и примеры мидлетов. Ранее известен как ''Java 2 Platform, Micro Edition Wireless Toolkit''. | '''Sun Java Wireless Toolkit''' (часто упоминается как «'''WTK'''») — бесплатный набор средств разработки программ для мобильных телефонов и других устройств, поддерживающих платформу Java ME. Включает в себя набор классов Java ME (для компиляции с помощью JDK), эмулятор, профилировщик, монитор памяти, набор документации и примеры мидлетов. Ранее известен как ''Java 2 Platform, Micro Edition Wireless Toolkit''. | ||
== Технические данные == | |||
=== Язык реализации === | |||
Пользовательский интерфейс и значительная часть кода JSR'ов написана на языке Java, что обеспечивает переносимость. Однако, значительная часть кода, в том числе вся реализация виртуальной машины написаны на платформенно-зависимом низкоуровневом языке, что усложняет портирование.[http://java.sun.com/products/sjwtoolkit/FAQ.html#general FAQ, General Questions] Поэтому первая версия под платформу, отличную от Windows, появилась только в мае 2007 года [http://java.sun.com//products/sjwtoolkit/download-2_5_1.html?feed=JSC What’s new with WTK 2.5.1]. | |||
=== Системные требования === | |||
* Windows XP или Linux (проверено на Ubuntu 6.x) | |||
* 100 мегабайт свободного места на жёстком диске | |||
* 128 мегабайт системной памяти | |||
* Процессор 800 MHz Pentium III или выше[http://java.sun.com/products/sjwtoolkit/download.html?feed=JSC], см. System Requirements — Software, System Requirements — Hardware | |||
== Компиляция == | |||
Мобильная платформа Java использует практически тот же формат ''.class'' файлов, что и полная версия (Java SE), и для компиляции используется тот же компилятор ''javac'' из комплекта JDK. Однако есть несколько важных отличий: | |||
* Большинство классов и их методов платформы Java ME являются всего лишь подмножеством набора классов, доступных на более сложных платформах Java SE, Java EE | |||
* Некоторые пакеты, например, для работы с графическим интерфейсом, в силу специфики экрана и устройств ввода, предоставляют совершенно другой набор классов, построенный по иной идеологии | |||
* «Облегченная» версия виртуальной машины, доступная на телефоне, не содержит некоторой функциональности, необходимой для загрузки файлов с классами, поэтому эти файлы должны пройти предварительную обработку | |||
В силу этих особенностей для компиляции на мобильную платформу необходимо использовать набор классов из ''WTK'' (указывается через параметр компилятора ''-classpath''). А после компиляции и сборки .jar архива он должен быть обработан утилитой ''preverify'' из набора WTK. | |||
=== Целевая платформа === | |||
Компиляция происходит не для какого-то конкретного устройства или процессора, а в универсальный байт-код, который (теоретически) должен работать одинаково на разных платформах. Однако, платформы отличаются версией конфигурации (CLDC 1.0/1.1), профиля (MIDP 1.0/2.0/2.1), и набором необязательных JSR (например, M3G для трёхмерной графики или JSR-82 для bluetooth). Поэтому при компиляции мидлета следует указывать в ''-classpath'' только те наборы классов, которые необходимы приложению — это даст возможность работать на большем количестве устройств. | |||
== Эмулятор == | == Эмулятор == | ||
Строка 44: | Строка 66: | ||
* Samsung — Samsung SDK for Java ME [http://developer.samsungmobile.com/Developer/resources/board_list.jsp] | * Samsung — Samsung SDK for Java ME [http://developer.samsungmobile.com/Developer/resources/board_list.jsp] | ||
== Интегрированные среды == | |||
Интегрированные среды разработки, поддерживающие разработку для языка Java, обычно поддерживют и её мобильную версию. При этом используется один из установленных пользователем мобильный SDK — ''Sun WTK'', либо его аналог. В первую очередь это нужно для получения заданного набора классов платформы для компиляции. После компиляции, появляется возможность не только запустить эмулятор из выбранного ''WTK'', но и полноценно отлаживать свою программу на нём: устанавливать точки останова, выполнять построчно, смотреть значения переменных и т. п. Все это в равной степени возможно с любым мобильным SDK благодаря тому, что все они предоставляют стандартный интерфейс для запуска эмулятора и отладки. | |||
О следующих интегрированных средах разработки известно, что они поддерживают разработку для Java ME: | |||
* IntelliJ IDEA: поддерживает DoJa/MIDP/CLDC [http://www.jetbrains.com/idea/features/j2me.html IntelliJ IDEA :: Java ME: DoJa/MIDP/CLDC<!-- Заголовок добавлен ботом -->] | |||
* [[NetBeans|NetBeans IDE]]: поддерживает не просто компиляцию и отладку с помощью ''WTK'', но и набор средств быстрой разработки приложений под эту платформу [http://www.netbeans.org/features/javame/index.html NetBeans IDE — Java ME & Embedded Development<!-- Заголовок добавлен ботом -->] | |||
* Eclipse: с помощью плагинов, поддерживает несколько различных технологий для мобильных устройств [http://www.eclipse.org/home/categories/embedded_device.php Embedded and Device Development<!-- Заголовок добавлен ботом -->], в частности, плагин MTJ для Java ME [http://www.eclipse.org/dsdp/mtj/ DSDP — Mobile Tools for Java (MTJ) Home Page<!-- Заголовок добавлен ботом -->] | |||
== Ссылки == | == Ссылки == | ||
* [http://java.sun.com/products/sjwtoolkit/ Домашнаяя страница продукта] | * [http://java.sun.com/products/sjwtoolkit/ Домашнаяя страница продукта] |
Текущая версия от 18:50, 19 марта 2012
Sun Java Wireless Toolkit | |
Скриншот эмулятора WTK с запущенным приложением из набора примеров и включенным монитором памяти
| |
Тип | средство разработки |
Разработчик | Sun Microsystems |
ОС | Кроссплатформенное программное обеспечение (Linux, Windows XP) |
Последняя версия | 2.5.2 (10 октября 2007) |
Лицензия | Freeware |
Сайт | http://java.sun.com/products/sjwtoolkit/ |
Sun Java Wireless Toolkit (часто упоминается как «WTK») — бесплатный набор средств разработки программ для мобильных телефонов и других устройств, поддерживающих платформу Java ME. Включает в себя набор классов Java ME (для компиляции с помощью JDK), эмулятор, профилировщик, монитор памяти, набор документации и примеры мидлетов. Ранее известен как Java 2 Platform, Micro Edition Wireless Toolkit.
Технические данные
Язык реализации
Пользовательский интерфейс и значительная часть кода JSR'ов написана на языке Java, что обеспечивает переносимость. Однако, значительная часть кода, в том числе вся реализация виртуальной машины написаны на платформенно-зависимом низкоуровневом языке, что усложняет портирование.FAQ, General Questions Поэтому первая версия под платформу, отличную от Windows, появилась только в мае 2007 года What’s new with WTK 2.5.1.
Системные требования
- Windows XP или Linux (проверено на Ubuntu 6.x)
- 100 мегабайт свободного места на жёстком диске
- 128 мегабайт системной памяти
- Процессор 800 MHz Pentium III или выше[1], см. System Requirements — Software, System Requirements — Hardware
Компиляция
Мобильная платформа Java использует практически тот же формат .class файлов, что и полная версия (Java SE), и для компиляции используется тот же компилятор javac из комплекта JDK. Однако есть несколько важных отличий:
- Большинство классов и их методов платформы Java ME являются всего лишь подмножеством набора классов, доступных на более сложных платформах Java SE, Java EE
- Некоторые пакеты, например, для работы с графическим интерфейсом, в силу специфики экрана и устройств ввода, предоставляют совершенно другой набор классов, построенный по иной идеологии
- «Облегченная» версия виртуальной машины, доступная на телефоне, не содержит некоторой функциональности, необходимой для загрузки файлов с классами, поэтому эти файлы должны пройти предварительную обработку
В силу этих особенностей для компиляции на мобильную платформу необходимо использовать набор классов из WTK (указывается через параметр компилятора -classpath). А после компиляции и сборки .jar архива он должен быть обработан утилитой preverify из набора 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'ов.
Аналоги
Мобильные приложения одинаково работают на разных устройствах только теоретически. На практике же, пока приложение не протестировано на конкретном устройстве, нет никакой гарантии, что оно на нём даже запустится. Кроме того, производители устройств иногда предоставляют дополнительные нестандартные интерфейсы. Это вынуждает разработчиков приложений использовать средства, аналогичные WTK, предоставляемые производителями телефонов.
Обычно аналоги от производителей телефонов предоставляют и дополнительные возможности, например, установку тестируемого приложения на телефон, подписывание приложений, а также некоторые средства отладки программ на телефоне.
Большинство крупных производителей предоставляют аналоги WTK:
- Sony Ericsson — Sony Ericsson SDK for the Java ME Platform [2]
- Nokia — Nokia Platform SDK [3]
- Motorola — MOTODEV SDK for Java ME MOTODEV > Documentation & Tools > SDKs
- Samsung — Samsung SDK for Java ME [4]
Интегрированные среды
Интегрированные среды разработки, поддерживающие разработку для языка Java, обычно поддерживют и её мобильную версию. При этом используется один из установленных пользователем мобильный SDK — Sun WTK, либо его аналог. В первую очередь это нужно для получения заданного набора классов платформы для компиляции. После компиляции, появляется возможность не только запустить эмулятор из выбранного WTK, но и полноценно отлаживать свою программу на нём: устанавливать точки останова, выполнять построчно, смотреть значения переменных и т. п. Все это в равной степени возможно с любым мобильным SDK благодаря тому, что все они предоставляют стандартный интерфейс для запуска эмулятора и отладки.
О следующих интегрированных средах разработки известно, что они поддерживают разработку для Java ME:
- IntelliJ IDEA: поддерживает DoJa/MIDP/CLDC IntelliJ IDEA :: Java ME: DoJa/MIDP/CLDC
- NetBeans IDE: поддерживает не просто компиляцию и отладку с помощью WTK, но и набор средств быстрой разработки приложений под эту платформу NetBeans IDE — Java ME & Embedded Development
- Eclipse: с помощью плагинов, поддерживает несколько различных технологий для мобильных устройств Embedded and Device Development, в частности, плагин MTJ для Java ME DSDP — Mobile Tools for Java (MTJ) Home Page