Обзорная статья посвященная мобильной платформе Java ME (Micro Edition) для мобильных телефонов с поддержкой Java. Благодаря поддержке технологии Java ME на мобильных устройствах, в свое время, мобильные телефоны существенно расширяли свой функционал благодаря сторонним Java приложениям и играм. Даже на сегодняшний день и повальный переход на системы Android, эта платформа продолжает жить, хотя ее основатели Sun Microsystems уже давно не обновляют платформу Java для мобильных устройств. Приложения Java можно запускать и на Android. Хотя при этом API Java for ME не будет раскрыто в полной мере, как если бы приложение было изначально написано для ОС Android.

И вот уже на заре популярной технологии Java, хотелось бы отметить наиболее значимые приложения принесенные ей. Это и различные читалки, файловые менеджеры, bluetooth клиенты, FTP клиенты, редакторы графики, редакторы ID3v2 тегов в mp3 файлах, браузеры, всем известная аська (она же ICQ клиент Jimm, D[i] Chat), архиваторы, переводчики текста, редакторы текста, и еще огромное число мыслимо немыслимых приложений.

Естественно, наиболее популярной стала всем известная аська, кстати всем известный сервис не так давно купила mail.ru и теперь ICQ обрел нового владельца. Jimm, D[i] Chat, наиболее популярные клиенты поддерживающие этот протокол. Кроме того, на Java платформе написано немало и других клиентов например для поддержки IRC чатов. Facebook не давно написал для Java  свой клиент. На сайте mail.ru вы можете скачать клиент от mail.ru поддерживающий почту сервиса и ICQ в одном приложении.

Не менее заметным и самым популярным является браузер Opera Mini, последняя версия которого на данный момент является версия 6.1.


Что же такое Java ME?

Java ME, или Java Micro Edition, — это специальная урезанная версия технологии Java (SE — Standart Edition), виртуальной Java машины для компьютеров. Изначально платформа Java задумывалась как кросс-платформенная технология позволяющая разработчикам писать код только один раз, а не писать отдельно под каждую конкретную ОС или аппаратуру, позволяя использовать Java приложения на всех системах которые с ней совместимы, например написав код под Java, стало возможным запускать код на Linux, Windows и при определенной проработке например на мобильных телефонах с поддержкой Java (ME). Всю работу по взаимодействию с подсистемой и API операционной системы на котором запущен апплет берет на себя виртуальная машина. Аплет, это собственное названия приложений для Java.

Мобильная платформа JavaME, как правило представляет собой виртуальную машину позволяющую исполнять Java код, на определенном мобильном устройстве, так как возможности  мобильных телефонов, до недавнего времени были весьма ограничены, низкое разрешение дисплея, малый объем памяти, низкая скорость процессора, иногда даже низкая разрядность процессора (например 16 бит, вместо 32ух обычных), иногда отсутствие FPU (математического со-процессора для работы с числами с плавающей точкой, то есть дробями), именно благодаря таким особенностям мобильных систем была разработана спецификация Java для мобильных систем, в частности Java Micro Edition.

В Java ME, существуют две конфигурации, CLDC и CDC, но лишь CLDC получил широкое распространение. CLDC бывает двух видов: 1.0 и 1.1. CLDC 1.0 сейчас встречается гораздо реже или вообще не встречается. Версия 1.1 в отличии от первой версии определяет увеличенный объем рабочей памяти, улучшенную совместимость с интерфейсами Java SE, также появилась возможность работы с числами с плавающей точкой, на тех процессорах где нет аппаратной поддержки floting point, работа реализуется программно, что не слишком производительно, так как сами запущенные приложения выполняются в некотором интерпретируемом виде, аплеты на виртуальной машине исполняют виртуальный код, который затем переводится в язык процессора например AMR. Для конфигурации CLDC были разработаны профили MIDP, профиль для мобильного устройства с информационными функциями. Существует несколько версий профиля: 1.0, 2.0, 2.1, 3.0, последний был разработан всего пару лет назад и не получил еще распространения. На данный момент наиболее распространенным является MIDP 2.0 и 2.1.