Платформа Java, микро-версия

Программная платформа для мобильных и встраиваемых устройств

Java Platform, Micro Edition или Java MEвычислительная платформа для разработки и развертывания переносимого кода для встраиваемых и мобильных устройств (микроконтроллеров, датчиков, шлюзов, мобильных телефонов, персональных цифровых помощников, телевизионных приставок, принтеров). [1] Java ME ранее была известна как Java 2 Platform, Micro Edition или J2ME .

Платформа использует объектно-ориентированный язык программирования Java и является частью семейства программных платформ Java . Она была разработана Sun Microsystems (теперь Oracle Corporation ) и заменила похожую технологию PersonalJava .

В 2013 году, когда на рынке насчитывалось более 3 миллиардов мобильных телефонов с поддержкой Java ME, [2] платформа продолжала снижаться, поскольку смартфоны обогнали обычные телефоны. [3]

История

Платформа была популярна в телефонах с функциями, таких как модели Nokia Series 40. Она также поддерживалась в операционной системе Bada и Symbian OS вместе с собственным программным обеспечением. Пользователи Windows CE , Windows Mobile , Maemo , MeeGo и Android могли загрузить Java ME для своих соответствующих сред («proof-of-concept» для Android). [4] [5]

Первоначально разработанные в рамках Java Community Process как JSR 68, различные разновидности Java ME развивались в отдельных JSR. Устройства Java ME реализуют профиль . Наиболее распространенными из них являются Mobile Information Device Profile, нацеленный на мобильные устройства, такие как сотовые телефоны, и Personal Profile, нацеленный на потребительские продукты и встроенные устройства, такие как телевизионные приставки и КПК. Профили являются подмножествами конфигураций , из которых в настоящее время существует два: Connected Limited Device Configuration (CLDC) и Connected Device Configuration (CDC). [6]

В 2008 году платформы Java ME были ограничены функциями JRE 1.3 и использовали эту версию формата файла класса (внутренне известную как версия 47.0).

Реализации

Скриншот МикроЭмулятора

Oracle предоставляет эталонную реализацию спецификации, а также некоторые конфигурации и профили для MIDP и CDC. Начиная с JavaME 3.0 SDK, IDE на базе NetBeans поддерживала их в единой IDE.

В отличие от многочисленных бинарных реализаций платформы Java, созданных Sun для серверов и рабочих станций, Sun стремилась не предоставлять двоичные файлы для целевых платформ Java ME, а вместо этого полагалась на третьих лиц, которые предоставляли свои собственные.

Исключением была MIDP 1.0 JRE (JVM) для Palm OS. [7] Sun не предоставляет J2ME JRE для устройств на базе Microsoft Windows Mobile (Pocket PC), несмотря на открытое письмо в Sun с просьбой выпустить, по слухам, внутреннюю реализацию PersonalJava , известную под кодовым названием «Captain America». [8] Реализации сторонних разработчиков широко используются поставщиками Windows Mobile.

В какой-то момент Sun выпустила ныне заброшенную эталонную реализацию под названием phoneME .

Операционные системы, ориентированные на Java ME, были реализованы DoCoMo в форме DoJa , а SavaJe — как SavaJe OS. Последняя компания была куплена Sun в апреле 2007 года и теперь составляет основу JavaFX Mobile от Sun.

Виртуальная машина Mika с открытым исходным кодом нацелена на реализацию JavaME CDC/FP, но не сертифицирована как таковая (сертифицированные реализации требуют взимания роялти, что непрактично для проекта с открытым исходным кодом). Следовательно, устройства, использующие эту реализацию, не могут заявлять о совместимости с JavaME CDC.

Операционная система Android на базе Linux использует фирменную версию Java, которая по своему назначению похожа на Java ME, но во многом сильно отличается от нее. [9]

Эмуляторы

  • Sun Java Wireless Toolkit (сокращенно WTK) — это фирменный эмулятор Java ME, первоначально предоставленный Sun Microsystems, а позднее Oracle.
  • MicroEmulator (сокращенно MicroEMU) — это эмулятор Java ME с открытым исходным кодом.

Существуют и другие эмуляторы, включая эмуляторы, поставляемые в составе комплектов разработчика производителями телефонов, такими как Nokia, Sony-Ericsson , Siemens Mobile и т. д.

Конфигурация подключенного ограниченного устройства

Конфигурация Connected Limited Device (CLDC) содержит строгое подмножество библиотек классов Java и является минимальным объемом, необходимым для работы виртуальной машины Java . CLDC в основном используется для классификации множества устройств в фиксированную конфигурацию.

Конфигурация предоставляет самый базовый набор библиотек и функций виртуальной машины, которые должны присутствовать в каждой реализации среды J2ME. В сочетании с одним или несколькими профилями, Connected Limited Device Configuration дает разработчикам надежную платформу Java для создания приложений для потребительских и встраиваемых устройств. Конфигурация предназначена для устройств с общим объемом памяти от 160 до 512 КБ, которые имеют минимум 160 КБ ПЗУ и 32 КБ ОЗУ, доступных для платформы Java.

Профиль мобильного информационного устройства

Разработанный для мобильных телефонов, Mobile Information Device Profile включает GUI и API хранения данных, а MIDP 2.0 включает базовый API 2D-игр . Приложения, написанные для этого профиля, называются MIDlets .

JSR 271: Mobile Information Device Profile 3 (окончательный релиз 9 декабря 2009 г.) определил Mobile Information Device Profile 3-го поколения (MIDP3), расширив функциональность во всех областях, а также улучшив взаимодействие между устройствами. Ключевой целью разработки MIDP3 является обратная совместимость с контентом MIDP2.

Профиль информационного модуля

Профиль информационного модуля (IMP) — это профиль для встраиваемых «безголовых» устройств, таких как торговые автоматы, промышленные встраиваемые приложения, системы безопасности и аналогичные устройства с простым дисплеем или без него и с ограниченными возможностями сетевого подключения.

Первоначально представленный Siemens Mobile и Nokia как JSR -195, IMP 1.0 является строгим подмножеством MIDP 1.0, за исключением того, что он не включает API пользовательского интерфейса — другими словами, он не включает поддержку пакета Java javax.microedition.lcdui. JSR-228, также известный как IMP-NG, является следующим поколением IMP, которое основано на MIDP 2.0, используя новые типы безопасности и сетевых интерфейсов и API MIDP 2.0, а также другие API, такие как PushRegistryи platformRequest(), но снова он не включает API пользовательского интерфейса, ни API игры.

Конфигурация подключенного устройства

Конфигурация подключенного устройства — это подмножество Java SE , содержащее почти все библиотеки, не связанные с GUI. Она богаче, чем CLDC.

Профиль Фонда

Профиль Foundation — это профиль Java ME Connected Device Configuration (CDC). Этот профиль предназначен для использования устройствами, которым требуется полная реализация виртуальной машины Java вплоть до API Java Platform, Standard Edition включительно. Типичные реализации будут использовать некоторое подмножество этого набора API в зависимости от поддерживаемых дополнительных профилей. Эта спецификация была разработана в рамках Java Community Process.

Персональный профиль

Personal Basis Profile расширяет Foundation Profile, включая поддержку легкого GUI в форме подмножества AWT . Это платформа, на которой построен BD-J .

JSR (запросы на спецификацию Java)

Фундамент

JSR #ИмяОписание
68Спецификация платформы J2ME
30CLDC1.x
37МИДП 1.0
118МИПДП 2.x
139КЛДК 1.1
271МИДП 3.0Только Java ME 3.4 и более ранние версии, последняя спецификация для мобильных телефонов, функции языка Java как в Java SE 1.3
360КЛДК 8Новое в Java ME 8
361МЭЭП 8Новое в Java ME 8, языковая функция Java SE 8 для устройств Интернета всего

Основные расширения

JSR #ИмяОписаниеМСА
75Подключение файлов и PIM APIФайловая система, контакты, календарь, делаДа
82BluetoothСвязь через последовательный порт Bluetooth и обмен файлами (OBEX)Да
120API беспроводного обмена сообщениями (WMA)
135API мобильных медиа (MMAPI)Аудио, видео, мультимедиаДа
172API веб-сервисовXML-парсеры и RPCДа
177API служб безопасности и доверия (SATSA)APDU, Java Card RMI (JCRMI), инфраструктура открытых ключей (PKI) и криптографияДа
179API местоположенияКоординаты GPS, адреса улиц, датчики ориентации, магазины-достопримечательностиДа
180SIP-APIДа
184Мобильная 3D-графика (M3G)3D-графика высокого уровняДа
185Технология Java для беспроводной индустрии (JTWI)Общий
205API беспроводных сообщений (WMA) 2.0Отправка и получение SMS и MMS
211API обработчика контента (CHAPI)Да
226Масштабируемый API векторной 2D-графики для J2ME (M2G)Обработка SVG TinyДа
228Профиль информационного модуля – Следующее поколение (IMP NG)
229API-интерфейс для платежейДа
234Расширенные мультимедийные дополнения (AMMS)Расширения MMAPIДа
238API мобильной интернационализацииЛокализованные ресурсы, форматирование дат и чисел в соответствии с локалью, сравнение строк в соответствии с локальюДа
239Привязки Java для OpenGL ES API
248Архитектура мобильных услуг (MSA)Да
253API мобильной телефонии
256API мобильных датчиковСчитывание показаний акселерометров, гироскопов, компасов, термометров, барометров и других
257API бесконтактной связи
258API настройки мобильного пользовательского интерфейса
272API службы мобильного вещания для портативных терминалов
280XML API для Java ME
281API служб IMS
287Масштабируемый API векторной 2D-графики 2.0 для Java ME
293API местоположения 2.0
298Телематический API для Java ME
300API DRM для Java ME
325Средства связи IMS

Будущее

JSR #ИмяОписание
297API мобильной 3D-графики (M3G) 2.0Предложенный окончательный вариант на 14 апреля 2009 г.

СОЭ

Консорциум ESR посвящен стандартам для встроенной Java. Особенно экономически эффективные стандарты. Типичные области применения: промышленное управление, межмашинное взаимодействие, медицина, электронные измерения, домашняя автоматизация , потребитель, человеко-машинный интерфейс, ...

СОЭ №ИмяОписание
001B-ON (вне CLDC)B-ON служит очень надежной основой для внедрения встроенного программного обеспечения Java. Он определяет надежную фазу инициализации устройства Java и 3 типа объектов: неизменяемые, бессмертные и обычные (смертные) объекты.
002MicroUIMicroUI определяет улучшенную архитектуру, позволяющую использовать открытую среду разработки приложений третьей стороны для встраиваемых устройств HMI. Такие устройства обычно имеют некоторую форму дисплея, некоторые входные датчики и потенциально некоторые возможности рендеринга звука. Эта спецификация охватывает потенциально широкий набор устройств.
011МВТMWT определяет три различные роли: дизайнеры виджетов, дизайнеры внешнего вида и дизайна приложений. MWT позволяет бинарному приложению HMI работать одинаково на всех устройствах, которые предоставляют совместимую среду MWT (встроенные устройства, мобильные телефоны, ТВ-приставки, ПК и т. д.), что обеспечивает настоящую согласованность и повсеместность приложений во всех линейках продуктов (ME, SE, EE).
015ECLASSPATHECLASSPATH объединяет среды выполнения CLDC, CDC, Foundation, SE и EE с набором API из около 300 классов. Компиляция с использованием CLDC1.1/ECLASSPATH делает двоичный код переносимым во все среды выполнения Java.

Смотрите также

Ссылки

  1. ^ "Обзор Java ME". Oracle Corporation . Получено 26 февраля 2017 г.
  2. ^ "Узнайте больше о технологии Java". Архивировано из оригинала 8 марта 2013 г. Получено 15 февраля 2024 г.
  3. ^ Фаривар, Сайрус (14 августа 2013 г.). «Смартфоны (снова) впервые в мире превосходят по продажам обычные телефоны». Ars Technica . Получено 15 марта 2024 г.
  4. ^ phoneME для Windows CE, Windows Mobile и Android (разработка остановлена ​​15.06.2011) - в оригинале здесь
  5. ^ "App Runner (разработка остановлена ​​11.05.2010)". Архивировано из оригинала 3 января 2012 г. Получено 5 августа 2012 г.
  6. ^ Технология Java ME
  7. ^ MIDP для Palm OS 1.0: Разработка приложений Java для устройств Palm OS Январь 2002 г.
  8. ^ CDC и Personal Profile — открытое письмо в SUN с просьбой создать Personal Java JRE для Pocket PC. Архивировано 3 июня 2008 г. на Wayback Machine 2003 г.
  9. Разработка мобильных приложений: Android в сравнении с J2ME Архивировано 25 сентября 2018 г. на Wayback Machine. Февраль 2013 г.
Примечания
  • JSR 232: Mobile Operational Management – ​​передовая платформа на базе технологии OSGi для мобильных вычислений
  • JSR 291: Поддержка динамических компонентов для Java SE – симметричная модель программирования для Java SE в Java ME JSR 232

Библиография

  • Бен Хаюн, Рой (30 марта 2009 г.). Java ME на Symbian OS: Внутри модели смартфона (1-е изд.). Wiley . стр. 482. ISBN 978-0-470-74318-8.
  • Кнудсен, Джонатан (8 января 2008 г.). Пинаем задницу с MIDP и MSA: Создание отличных мобильных приложений (1-е изд.). Prentice Hall . стр. 432. ISBN 978-0-321-46342-5.
  • Ли, Синг; Кнудсен, Джонатан (25 апреля 2005 г.). Beginning J2ME: From Novice to Professional (3-е изд.). Apress . стр. 480. ISBN 1-59059-479-7.
  • Сеть разработчиков Sun, Java ME
  • Страницы Java в Центре разработчиков Nokia
  • Блоги Nokia S60 Java Runtime
  • Sony Ericsson Мир разработчиков
  • Motorola Developer Network Архивировано 21 июля 2009 г. на Wayback Machine
  • Сеть пользователей LMA для инструмента разработки J2ME
  • Сайт разработчика мобильных устройств Samsung
  • Сайт разработчика приложений Sprint
  • База данных производительности устройств, совместимых с Java ME
  • Платформы MicroEJ для встраиваемых систем
  • Книга - Программирование мобильных телефонов с использованием Java ME (J2ME) Архивировано 5 марта 2016 г. на Wayback Machine
  • Мастер-класс по J2ME
Взято с "https://en.wikipedia.org/w/index.php?title=Java_Platform,_Micro_Edition&oldid=1263622682"