Сделай себя сам
Начнем с того, что решили вы обзавестись мобильным телефоном. Отличная идея, и мы надеемся, что она через некоторое время обрела материальное воплощение. На первых порах все отлично, ваш аппарат - воплощение ума и красоты, да и вообще самый лучший. Однако проходит месяц, другой, полгода, и вы начинаете замечать, что отдельные моменты в вашем любимце реализованы далеко не лучшим образом. Ну, скажем, калькулятор неудобный, органайзер скудный, почтового клиента нет, стандартный WAP-браузер отображает HTML-страницы просто ужасно, установленные игры уже надоели и т.п. Что делать?
Java-технологию придумали в Sun Microsystems |
Первая мысль – купить новый телефон. Неплохая задумка, но если она будет приходить к вам в голову несколько раз в месяц, то на новинки может просто не хватить денег. По нашим оценкам, покупая новую модель телефона, мы вправе рассчитывать как минимум на год-полтора удобной эксплуатации. А давайте лучше посмотрим, не поддерживает ли резко разонравившийся нам аппарат технологию Java? Если да (порядка 90 процентов ныне выпускаемых телефонов), то можете считать, что теперь необходимую функциональность вы можете добавить сами. Индивидуальность – вот первая особенность Java, позволяющая решить, каким образом вы хотите использовать ваш мобильный телефон.
Что это может быть? Да все, что угодно: новые игры, почтовый клиент и веб-браузер, читалка книг и электронных таблиц, специализированный калькулятор и планировщик, удобные часы и будильники, образовательные и развлекательные программы и т.п. Спектр возможностей технологии Java ограничен только воображением создателей, а оно у них, поверьте, ну очень буйное. Разумеется, следует принимать во внимание и физические возможности телефона (размер дисплея, объем памяти и т.д.), но это вполне естественно, уже упомянутый утюг ведь никто в музыкальный центр не пытается превратить.
Творение любителей кофе
Немного истории. Технология Java возникла отнюдь не на одноименном острове (а некоторые так думают), а в недрах компании Sun Microsystems в 1991 году. Идейным вдохновителем Java является Патрик Нотон, которому «надоело поддерживать сотни различных интерфейсов программ» (цитата из «Википедии»). Вместе со своей командой ему удалось создать платформенно-независимый язык программирования, на котором можно писать программы для любых процессоров и операционных систем. Многоплатформенность – это постулат Java, реализующий известный принцип «написано однажды, работает всегда». Чувствуете, к чему клоним? Не важно, кто производитель вашего телефона, Java – технология универсальная.
Логотипом Java-технологии стала чашка с кофе |
Но все же следует заметить, что внутри Java существуют три основных платформы (или версии), и владельцев мобильных телефонов должна интересовать только Java 2 Mobile Edition (J2ME). По большому счету это набор конфигураций и режимов, ориентированных на небольшие пользовательские электронные устройства. Не вникая в тонкости всех этих градаций, сразу скажем, что по отношению к мобильным телефонам используется режим Mobile Information Device Profile (MIDP) в конфигурации Connected Limited Device Configuration (CLDC). Это и есть основа реализации J2ME в нашем случае.
Сегодня с Java можно получить привычный ПК-интерфейс на телефоне |
Как раз здесь и определяется конкретные возможности виртуальной Java-машины (JVM) - той самой программы, которая установлена производителем в вашем телефоне и может обрабатывать код Java-приложений (обычно они называются мидлетами). Небольшая тонкость - виртуальная машина одна, а технические возможности телефонов разные. Поэтому проблема совместимости все еще актуальна, и конкретный мидлет может запускаться только на ограниченном числе моделей телефонов (или даже только на одной). Так что имейте в ввиду. Но производители работают над этим, и хочется верить в то, что когда-нибудь мы будем иметь дело с универсальными мидлетами.
Также следует упомянуть о параллельном существовании в настоящее время двух версий Java MIDP, фактически определяющих функциональность приложения: пользовательский интерфейс, графические и звуковые возможности, работу в сети и т.д. Первая появилась в конце 2000 года и сегодня поддерживается большинством телефоном. Что касается Java MIDP 2.0, то она анонсирована в конце 2002 года, но начала использоваться производителями только в моделях образца 2004-05 годов. Так что встретить ее можно только в достаточно новых моделях телефонов.
О мидлетах и телефонах
Что же представляет собой мидлет? Обычно Java-приложение представляет собой набор двух файлов: дескриптора или указателя с расширением JAD и собственно архива JAR. Что касается дескриптора, то сегодня наличие этого файла не является обязательным. Дело в том, что изначально предполагалась возможность загрузки мидлетов только из сети (обо всех способах загрузки ниже), поэтому пользователь и вынужден был запускать на своем телефоне этот файл, который содержал информацию о приложении, его размер, настройки инсталлятора, и, самое главное, ссылку на JAR-файл (можете убедиться сами, файл JAD имеет текстовой формат). Однако некоторые телефоны обладали возможностью загрузки приложения непосредственным путем, то есть простым переписыванием файла, что сводило полезность дескриптора к нулю.
Биржевые сводки тоже смотреть в своем телефоне благодаря Java |
Что касается современных моделей, то для них эта операция является стандартной, так что для загрузки мидлета достаточно одного JAR-файла. По своей структуре этот файл представляет собой архив, и входящие в его состав файлы можно легко увидеть на компьютере любым архиватором (ZIP, RAR и др.). Заметим, что иногда, в состав приложения могут входить и другие файлы, чаще всего это дополнительные базы данных, но это встречается нечасто.
Перейдем теперь к телефону. Для того чтобы загрузить в него мидлет, аппарат в первую очередь должен обладать некоторым объемом памяти для нормальной загрузки приложения. Размер Java-приложения может простираться от единиц до сотен килобайт, что и вызывает соответствующие требования к телефону. Ну, думаем, о современных моделях, объем памяти которых исчисляется мегабайтами, говорить не стоит, а вот со «старичками» придется повозиться. Сами понимаете, имея объем памяти в 100-200 Кб, придется немного потесниться, то есть удалить все ненужное (в первую очередь это касается картинок и мелодий). В принципе, это является серьезной проблемой только для деловых приложений, которые нужны постоянно, что касается игр, то здесь все просто. Загрузили игру, наигрались вдоволь, стерли, записали следующую, и т.д., пока не надоест.
«Красный глаз», «синий зуб» и прочие
Нет, это не экскурс в аномальную анатомию, речь пойдет о способах загрузки мидлетов в телефон. На наш взгляд, о наличии чего-либо из ниже перечисленного в телефоне стоит побеспокоиться при покупке телефоне, чтобы потом не было обидно. Как вы поняли выбирать можно, только если есть из чего. Самый доступный способ – это использование data-кабеля. Соединяем интерфейсный разъем телефона с COM или USB разъемом компьютера (ох, и нелегко же вам придется, если компьютер под столом, а все разъемы на задней стенке). Все просто и надежно, разве что можно посетовать на сам факт присутствия кабеля, то есть, проводов.
Для загрузки Java-приложений может потребоваться data-кабель |
То ли дело беспроводные коммуникации. Один раз настроил все, как нужно, и потом гоняй туда-сюда программы. Обратите внимание, здесь можно использовать не только цепочку «компьютер-телефон», но и «телефон-телефон», что дает огромный плюс. Увидел интересное приложение у друга, и сразу же скачал его. Возможны два варианта: инфракрасное соединение и Bluetooth. К использованию IrDA многие пользователи относятся отрицательно, а зря. Несмотря на «древность» этого способа и необходимость выполнения ряда условий (расстояние между ИК-приемопередатчиками 10-20 см, нахождение их на прямой линии и т.п.), для периодических загрузок он вполне подходит. Если же вы близки к Java-мании, то идеальный способ – это Bluetooth. Да, конечно, в первый раз придется «подружить» между собой телефоны, или телефон с компьютером (процедуры спиривания, аутентификации и т.д.), но зато потом настоящий рай. В радиусе 10 метров вы можете безо всяких проводов качать и качать приложения.
Еще один вполне доступный в последнее время вариант загрузки Java-приложений когда–то задумывался как основной – это «закачка по воздуху», то есть с использованием сети оператора. Сегодня практически все операторы поддерживают WAP и GPRS, и даже замахиваются на EDGE. К тому же не следует его недооценивать, поскольку в случае отсутствия вышеперечисленных способов закачки, поддержка телефоном Java означает обязательное наличие WAP-браузера, по крайней мере, мы исключений из этого правила не нашли (вполне логично, иначе, зачем Java нужна). Процесс загрузки пояснения не требует, набираем в строке браузера адрес, откуда будет загружаться приложение, и все. Также отметим существование так называемых «WAP-обменников», куда вы можете на часок-другой сбросить приложение, например, с компьютера, и затем «забрать» его с телефона.
Кое-что о софте
В принципе, программное обеспечение для компьютера имеет косвенное отношение к нашей теме, но поскольку цепочка «компьютер-телефон» является актуальной для многих, немного задержимся и на ней. Думаем, понятно, что соединить между собой два устройства без соответствующего софта невозможно. А если мы хотим еще что-либо загрузить в телефон, то обязательно нужно специализированное ПО. Наилучшим способом, на наш взгляд является использование программного пакета от производителя телефона, который частенько идет в комплекте с телефоном, в крайнем случае, его можно скачать из Интернета (Nokia PC Suite, Siemens Data Suite, Starfish TrueSync и др.). Использование же сторонних пакетов (например, Oxygen Phone Manager) обоснованно только в некоторых случаях, к примеру, необходимые вам функции в официальном ПО отсутствуют, либо компьютер используется для соединения с несколькими телефонами различных производителей.
Мы идем искать мидлет
Вообще-то говоря, создать свое собственное приложение на J2ME вполне реально. ПО для разработки SDK (Software Development Kit) доступно бесплатно, лицензирование отсутствует, так что при желании можно и попробовать. Однако не будем углубляться в дебри программирования, а попытаемся найти готовые мидлеты, благо их создано предостаточно. Как мы уже упоминали самый быстрый и бесплатный способ – это взять понравившееся приложение у друга. Но все же давайте обратимся к сторонним ресурсам.
Чаще всего java-приложение – это игрушка
В первую очередь стоит поинтересоваться, что может предложить ваш оператор. Предложение мобильного контента стало весомым источником дохода для них, поэтому сегодня только ленивый не предлагает Java-приложений. К сожалению, 99% мидлетов это игры, но противостоять этому невозможно, рынок есть рынок, чего пользователи хотят, то оператор и предлагает. Практически всегда для закачки используется WAP-соединение (иногда через GPRS), так что необходимо заранее побеспокоиться об активизации этого сервиса.
Карты городов – одно из самых популярных Java-приложений |
Если же ваша творческая натура не приемлет такой простой механизм загрузки «выбрал-заплатил-получил», и вы в ладах с WAP-браузером телефона, то можно пуститься в собственное плавание. Вот чего нам удалось добиться за десять минут. Набрав в браузере адрес русскоязычного поисковика Wapl.ru (http://wapl.ru) заветный термин «java», мы получили огромное количество ссылок на соответствующие ресурсы, аж 438 штук. Проштудировав несколько первых страниц со ссылками, нам удалось обнаружить парочку неплохих сайтов с приложениями…. Впрочем, остановимся, оставшийся путь предлагаем проделать вам самостоятельно.
Телефон, конечно, штука хорошая, но все же мы думаем, что оптимальным инструментом для поиска мидлетов в Интернете является настольный компьютер. Знакомый интерфейс и удобные устройства ввода информации позволяют подробно почитать описание приложения, посмотреть скриншоты и определиться с его необходимостью. Приводить адреса многочисленных сайтов с приложениями мы не будем, их хватает, упомянем только самый популярный - Midlet.org (http://midlet.org/), содержащий около 500 приложений. Если интересно, то вот «качественный» состав предлагаемых для закачки мидлетов: 30% - утилиты, 6% - приложения для работы с Интернетом, 8% - графические программы, 3% - утилиты для разработчиков, все остальное – игры.
Ее величество Java
В заключение хотим еще раз напомнить, что технология Java сегодня является самым доступным и эффективным путем расширения функциональности мобильного телефона. И то, чем станет ваш телефон: помощником в делах или развлекательным терминалом, целиком зависит от вас. Количество существующих приложений измеряется тысячами, и вы вправе выбрать то, что необходимо. Лучшего и искать не нужно. Надеемся, что мы смогли убедить вас. Нет? Тогда мы идем к вам…