Впрочем, все
относительно, и многое зависит еще и от
амбиций производителя. Скажем, LG не
считает нужным добавлять поддержку
3D-графики даже в свои топовые продукты,
а бюджетные телефоны Sony Ericsson ценят
в том числе и за хорошую
производительность в 3D-Java.
В
основе платформы Java 2ME лежат две
основные конфигурации: CDC (Connected De
vice Configuration, JSR-36 для версии
1.0 и JSR-218 для версии 1.1) и CLDC
(Connected Limited Device Configuration,
JSR-30 для версии 1.0 и JSR-139 для
версии 1.1).
Разница между CDC
1.0 и 1.1, а также между CLDC 1.0 и 1.1
заключается в возросшем количестве
возможностей и, следовательно, в новых
требованиях к аппаратной составляющей
устройств; причем новые версии не
переписаны с нуля, а представляют собой
эволюцию (обновление) старых версий.
Конфигурация CDC предназначена по
большому счету для наиболее сложных
мобильных устройств, вроде смартфонов,
автомобильных навигационных систем и
даже игровых приставок, а CLDC
применяется в простых мобильниках.
Очевидно, что эти конфигурации как раз и
относятся к "костяку" платформы и
поддерживаются большинством современных
продуктов соответственно их классу и
способу применения. Разница между CDC и
CLDC заключаются в наличии или
отсутствии некоторых библиотек,
свойствах языка Java, возможностях
виртуальных машин, а также аппаратных
требованиях к устройствам. Но для
непосредственного написания приложений,
предназначенных для работы в устройстве,
конфигураций мало, - вот мы и
подобрались к вершине "Java-айсберга",
которая называется MIDP (Mobile
Information Device Profile, JSR-37 -
версия 1.0, JRS-118 -
2.0).
Базируется MIDP на CLDC и,
собственно, представляет собой эту
конфигурацию плюс некоторое количество
API, чего уже вполне достаточно для
создания мидлетов. MIDP версии 1.0
основывается на CLDC 1.0, MIDP 2.0 - на
CLDC 1.0 в случаях устройств, оснащенных
от 128 до 512 килобайт встроенной
памяти, или же на CLDC 1.1, если в
аппарате больше 160 килобайт памяти, к
тому же здесь добавлена поддержка
операций с плавающей точкой. В связке
CLDC+MIDP (в принципе, сегодня она и
обозначает поддержку Java 2ME мобильными
устройствами) обязанности распределяются
следующим образом: CLDC отвечает за
математические вычисления (работу с
целыми и псевдослучайными числами,
функциями, операциями с плавающей
точкой), за подключения и сети (будь то
Bluetooth-, USB-, COM- или инфракрасное
подключение, а также http или TCP), за
обработку массивов и векторов и за
работу со строками - словом, за то, чего
пользователь, загрузивший и запустивший
новое Java-приложение, своими глазами не
увидит. Другое дело - MIDP: профиль
специализируется на обработке
графических оболочек приложений,
отображении элементов меню и картинок,
выводе на экран текста и линий. Что
касается версий, то все современные
мобильные телефоны поддерживают MIDP
2.0, что обуславливает, например,
поддержку технологии Push Registry,
полноценную реализацию работы со звуком
и доступ к вибромотору аппарата,
усовершенствованные игровой и
мультимедийный API и возможность
использования более гибкого и приятного
пользовательского интерфейса. В
сравнении с MIDP 1.0, MIDP 2.0 может
похвастать гораздо лучшей совместимостью
с различными устройствами - теперь не
приходится писать мидлеты чуть ли не под
каждую конкретную модель мобильника.
Отметим также, что MIDP 1.0 обратно
совместим с 2.0.
Надеюсь,
когда-нибудь Java-приложения догонят по
функциональности софт для открытых
операционных систем: хотелось бы рано
или поздно увидеть мидлет, который мог
бы сохранять SMS в текстовый файл, или,
скажем, мидлет, который бы заменял собой
интерфейс камеры… Думается, в ближайшем
будущем нас ждет много чего интересного
- мегапикселы мегапикселами, музыка
музыкой, а возможность самостоятельно
улучшить программную функциональность
своего мобильного любимца должна стоять
на первом месте. К счастью,
производители устройств и разработчики
ПО в этом случае находятся с нами по
одну сторону баррикад. В то же время
аппаратные характеристики гаджетов
постоянно совершенствуются - если
необходимым условием для реализации в
устройстве CLDC является 16- или
32-разрядный процессор с тактовой
частотой 8–32 МГЦ, то частота "камушка"
современного мобильника нередко
превышает 200 МГц.