FERRMA: Один за всех и все за одного!
Автор: Алексей Стародымов
Каждое современное мобильное
устройство, будь то сотовый телефон,
коммуникатор или карманный компьютер,
наделено некоторым количеством "вшитого"
в операционную систему софта -
будильниками, адресными книгами,
браузерами, клиентами электронной почты,
простенькими играми и так далее и тому
подобное.
Конечно, реализация этих программных
фишек не может устроить всех и каждого:
зачастую их качество оставляет желать
лучшего, а некоторая крайне полезная для
современного человека функциональность,
вроде поддержки ICQ-подобных сервисов,
отсутствует практически в любом
"устройстве из коробки". Хорошо, если мы
имеем дело с КПК или смартфоном, где на
выручку приходит масса качественного (и
дорогого) специализированного софта,
написанного сторонними разработчиками; а
вот если нам нужно "облагородить" и
превратить в рабочую лошадку простой
мобильный телефон, в основе интерфейса
которого лежит фирменная операционная
система закрытого типа?
Как ни
удивительно, сегодня с этим проблем едва
ли не меньше, чем в случае с аппаратами
на базе открытых ОС: поддержка Java в
наши дни присутствует практически в
каждом телефоне ценой от ста долларов, а
гибкость этой платформы позволяет
создавать приложения, которые могут быть
полезны обладателям телефонов совершенно
разных брэндов. В этом, собственно, вся
соль - приложения и игры, написанные на
Java, являются кроссплатформными: один и
тот же мидлет может работать, допустим,
на телефоне Samsung, смартфоне Nokia и
каком-нибудь наладоннике с WM внутри.
Естественно, с совместимостью есть
определенные проблемы - в каких-то
продуктах Java-машины поновее, в
каких-то - постарее, да и сами мидлеты
нередко оптимизируются разработчиками
под конкретные модели телефонов.
Визуально разница заключается лишь в
способе реализации работы с
Java-контентом: некоторые аппараты (как
правило, корейского производства)
позволяют загружать мидлеты только с
помощью WAP-браузера - таким образом
демонстрируется борьба с пиратством. В
остальных случаях достаточно сбросить
jar-файлы по Bluetooth или кабелю; порой
достаточно этого самого jar-файла, а
кое-где требуется еще и jad, хранящий
информацию об инсталлируемом приложении.
Некоторые современные мобильные телефоны
поддерживают многозадачность: так,
аппараты от Sony Ericsson позволяют
одновременно запускать до десяти
Java-приложений, Motorola Z6/V8/U6 -
всего одно, но есть возможность его
свернуть или передать по "синему зубу",
а вот телефоны Nokia, Samsung и LG
допускают лишь один мидлет, уже без
возможности работы в фоновом
режиме.
Такова теория, которая,
как обычно и бывает, пытается
идеализировать ту или иную технологию. С
технической и исторической точек зрения
все гораздо интереснее и… сложнее.
Начнем с того, что набор спецификаций,
предназначенных для разработки
Java-приложений и их запуска на
карманных электронных устройствах,
получил название Java 2 Micro Edition
(Java 2ME), тогда как спецификации для
серверных решений называются Java 2
Enterprise Edition (Java 2EE), а для
домашних компьютеров - Java 2 Standard
Edition (Java 2SE).
При этом, что
очень удобно, разработчикам ПО не нужно
разбираться в особенностях архитектуры
конкретных мобильных устройств и изучать
новые малознакомые среды
программирования,- SDK (Software
Development Kit) для написания софта с
учетом различных версий спецификаций
Java весьма схожи, и ничто не мешает в
кратчайшие сроки научиться писать Java
2ME-приложения, имея опыт работы,
скажем, с более сложным Java 2SE. Кроме
того, платформа Java 2ME бесплатна, что
сыграло важную роль в популяризации
технологии: если производитель
устройства решает реализовать поддержку
Java в своем новом портативном
устройстве, то он никому ничего не
должен - понятие лицензионных отчислений
здесь отсутствует. Полагаю, стоит
упомянуть, что огромное количество
Java-приложений также распространяется
на свободной основе - платить приходится
в основном за игры да за что-нибудь
совсем уж специфическое. В то же время
базовым набором полезных мидлетов можно
разжиться, не заплатив ни цента, -
скажем, "комплект" для работы в
Интернете, включающий Opera Mini 4,
JIMM, MailMan, ClimateControl, Google
Maps и Mail.Ru Agent, не будет стоить
ничего: заходишь на официальный сайт
разработчика, скачиваешь, устанавливаешь
и пользуешься в свое
удовольствие.