В последнее время мобильные телефоны приобретают столько дополнительных функций, что называть их просто телефонами даже несовременно. Не самый дорогой аппарат способен предоставить своему пользователю большое количество дополнительных возможностей, среди которых не последнее место занимают Java-приложения.
Что такое J2ME?
В 1999 году Sun Microsystems представила всему миру новую программную технологию, предназначенную для создания приложений, работающих на мобильных устройствах — сотовых телефонах, КПК и др. Технология называлась Java 2 Micro Edition, или сокращенно J2ME.
Строго говоря, технология эта не совсем новая — она стала преемницей J2SE, которая используется для создания «больших» приложений. Фактически J2SE несколько упростили, убрали лишнее и добавили специфические, важные для мобильных устройств функции. Особенностью Java-программ является то, что они выполняются на так называемой виртуальной машине Java, а сама технология задумывалась как платформонезависимая. Если мобильный телефон обладает поддержкой Java, на нем должны запускаться любые Java-программы.
Но не все так просто — виртуальная машина одна, а технические возможности мобильников разные. Да и на телефонах разных производителей одна и та же программа вполне может не запускаться — различаются реализации Java на разных аппаратных платформах, и проблема совместимости программного обеспечения и устройств разных производителей в Java-мире все еще актуальна. Поэтому в случае, например, с играми можно видеть, как одну и ту же игру адаптируют для различных аппаратов.
Производители мобильных телефонов, понимая, что повышение уровня совместимости Java-приложений с устройствами разных производителей очень важно, делают определенные шаги в этом направлении. В частности, Nokia и Vodafone занимаются разработкой новых спецификаций для Java-приложений, призванных повысить совместимость программного обеспечения и аппаратов разных производителей. В результате этого можно ждать еще более обширного распространения Java в мире и снижения цен на программы. Помимо попыток сторонних разработчиков улучшить положение дел, компания Sun тоже не прекращает работы над этим стандартом. Например, сравнительно недавно было объявлено о разработке новых API, реализующих поддержку Java-программами web-сервисов.
Однако J2ME — далеко не единственная технология, при помощи которой можно оснастить мобильник дополнительным программным обеспечением. Есть у нее и конкуренты.
J2ME и конкуренты
Если бы J2ME была бы совершенной технологией, то при ее распространенности она давно стала бы монополистом в мире программ для мобильников. Но не все так просто. В частности, заметную долю Java-приложений составляют игры. Что интересно, J2ME изначально не планировалась как игровая платформа. Как вы знаете, игры на ней получаются очень даже неплохие, но есть платформы, которые предназначены специально для игр и показывают на этом поприще отличные результаты. Например, компания Synergenix разработала платформу Mophun, предназначенную специально для игр. Mophun-приложения едва ли не в сотню раз быстрее аналогичных на Java, но пока особой популярности она не получила — универсальность Java дорогого стоит. Помимо J2ME на игровой арене можно увидеть продукт фирмы In-Fusio под названием ExEn (Execution Engine). Эта технология также рассчитана на игры. Прямым конкурентом Java 2 Micro Edition является разработка Qualcomm, называющаяся BREW (Binary Runtime Environment for Wireless).
Однако, несмотря на довольно сильных конкурентов, J2ME продолжает распространяться по всему миру. А о состоянии дел у нас в стране, думаю, говорить не надо — те же Java-игры, которые можно купить и загрузить в свой мобильник, продаются сегодня в огромном количестве, их можно найти на WAP-сайтах операторов и в рекламных объявлениях на страницах специализированных изданий.
Java — игры и не только
Игры — это самая известная и распространенная область применения Java. Если посмотреть чуть глубже, окажется, что обычный сотовый телефон, даже не смартфон, можно превратить в весьма многофункциональное устройство — читалку, скажем, электронных книг, электронный словарь… В аппарат можно попытаться добавить почтовый клиент, записную книжку и еще много чего. Загружать Java-приложения можно при помощи WAP, посредством дата-кабеля или другого способа соединения компьютера и сотового. Второй способ больше подходит для загрузки бесплатно распространяемого софта, хотя последний можно загрузить, и воспользовавшись WAP (я не имею в виду пиратские программы, о них говорить не будем).
Есть еще один, более сложный, но имеющий право на жизнь способ. Например, вы написали собственную программу на Java, а дата-кабеля или другого коммуникационного средства для вашего сотового нет. Не беда: создаете WAP-сайт, выгружаете на него свою программу и качаете сотовым телефоном через WAP. В любом случае, без программного обеспечения не