Что такое 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. В любом случае, без программного обеспечения не останетесь.