Перейти к содержимому

Все о китайских телефонах
 
 


- - - - -

Java ME, а также Mophun и BREW: общие данные


Java — объектно-ориентированный язык программирования, разработанный в начале 90-х годов компанией Sun Microsystems. Этот язык — по сути своей упрощение от языков С и С++.


Java Micro Edition (Java ME; также Java 2 Micro Edition, или J2ME) — набор готовых программных модулей, предназначенных для мобильных устройств. Упрощенно это можно называть программной платформой. Созданием дополнительных модулей для Java занимается не только Sun, но и многие другие группы разработчиков и компании, заинтересованные в дальнейшем развитии платформы.

По ряду причин Java ME оказалась крайне удобной для разработки и дистрибуции игр и программ для телефонов, смартфонов и других устройств. В первую очередь Java ME стала популярна как среда игровой разработки.

Mobile Information Device Profile (MIDP) — спецификация Java ME для мобильных устройств. Существует две ее версии: MIDP 1.0 и более поздняя MIDP 2.0. Версия MIDP 3.0 сейчас находится в разработке. А первыми устройствами на Java MIDP 1.0 стали Motorola i80s и Motorola i50sx.

Различаются версии MIDP, как и следовало бы ожидать, заложенными в них возможностями для создания программных продуктов: попросту говоря, вторая версия MIDP позволяет создавать более интересные и насыщенные игры.

Java 3D — сложный программный модуль для той же Java ME, предназначенный для разработки трехмерных игр и иных приложений. На конец 2006 года в ходу была Java 3D v1.4, и вскорости ожидается появление Java 3D v1.5. По сути, Java 3D «выжимает» из Java ME едва ли не максимум заложенного в нее потенциала.

Программы, написанные для запуска на Java ME, называются мидлетами (MIDlets). Расширение установочных файлов: Jad/Jar.

На сегодняшний день Java ME присутствует в большинстве выпускаемых мобильных телефонов, смартфонов, коммуникаторов и КПК. Это почти стандарт де-факто, который должен быть просто потому, что должен быть.
JAVA В ТЕЛЕФОНАХ И НЕ ТОЛЬКО

В телефонах, не имеющих открытой операционной системы, Java ME является единственной возможностью поставить какое-нибудь дополнительное программно-игровое обеспечение.

Собственно, с мобильными Java-играми знакомы все. Если не лично, то понаслышке. Они активно предлагаются в рекламных макетах контент-провайдеров (виртуальных магазинов, работающих посредством SMS).

Хронический недостаток таких игр — тормознутость, что происходит из-за технологических особенностей платформы Java ME. И как водится, наиболее насыщенные деталями игры (стратегии, ролевки, приключения, экшены) тормозят больше всех и предъявляют наиболее жесткие требования к скорости «железа», находящегося в мобильном устройстве. Если вы хотите, купив обычный телефон или даже недорогой смартфон, играть в серьезные и основательные игры на Java ME, вам, вероятно, придется сильно разочароваться. Увы.

Преимуществом же Java-игр является умеренный вес — порядка 50-150 Кб, что и обеспечивает их удобство как товара. Благодаря малому размеру их можно закачать на мобильное устройство, имеющее медленное соединение с Сетью и расценивающее как проблему даже стокилобайтный файл. Помимо того, часто сама архитектура телефона накладывает жестокие ограничения на объем устанавливаемых приложений.

Java ME не является независимой от прошивки (упрощенного заменителя операционной системы на телефоне), и, как следствие, разработчики, занимающиеся созданием Java-игр, вынуждены отдельно затачивать свою игру под каждый телефон, на котором игра должна пойти. Это титанический труд, который усугубляется тем, что далеко не все производители мобильных телефонов предоставляют удобные и понятные инструкции по программированию, а development kit (программная среда для разработчиков) иногда настолько глубоко закопана в недрах официального сайта, что найти ее столь же сложно, как подняться на Эверест в ластах и акваланге.

Иллюзия, что любая Java-игра пойдет на любой модели мобильного устройства, не подкреплена ничем. Например, был случай, когда игра, созданная для смартфона Nokia 3650, отказалась работать на Nokia 3660 (устройства почти идентичны и различаются, на первый взгляд, только расположением клавиш на клавиатуре). Шанс, конечно, всегда есть, но это именно шанс.

Список устройств, на которых данная конкретная игра пойдет, обычно приводится контент-провайдерами. Кстати говоря — в этих списках доминируют вовсе не самые популярные мобильные устройства, как могло бы показаться с точки зрения банальной логики, а те устройства, для которых разработчикам легко найти (!) и освоить development kit.

Более того — для разных телефонов одна Java-игра обычно имеет разный вес. Это обусловлено размером экрана телефона (меняется размер графики), быстродействием графической подсистемы и другими особенностями. Для самых слабеньких моделей игра может весить килобайт 30-40, а для наиболее мощных — 120 и больше. Многие думают, что одна и та же Java-игра для разных телефонов отличается только качеством (разрешением) графики. Это миф. Она отличается всем, что можно было отрезать, чтобы заставить ее меньше весить.

Разработка Java-игр происходит одним из трех способов. Либо сначала делается полноценная версия максимального объема, которая постепенно урезается до мизера — за счет ухудшения графики, ослабления искусственного интеллекта (!), исключения добавочных опций и эффектов и т.д. Либо (что значительно реже) наоборот: первоначально создается минималистская версия, которая постепенно прокачивается до самой навороченной. И, наконец, третий способ, который взят на вооружение наиболее прогрессивными разработчиками: одновременное пошаговое создание игры для всех предполагаемых программных прошивок.

У Java есть и конкуренты: это BREW и Mophun. О них рассказано в конце статьи.

Как говорилось, Java-игра, созданная для одного телефона, совершенно не обязательно запустится и тем паче будет нормально работать на другом телефоне. В интернете много пиратских сайтов, на которых можно скачать Java-игры, однако большинство из них на вашем устройстве корректно идти не будут. Что и является лучшей защитой данного вида бизнеса от пиратства.

Стоимость Java-игр в нашей стране сейчас добралась до 3-5 долларов, не считая НДС (еще 18% сверху). Это дороговато, особенно учитывая, что не каждая купленная и легально скачанная игра запустится на вашем устройстве. Причины все те же: у вас может быть обновленная версия прошивки или какие-либо другие нюансы, которые разработчикам не удалось учесть. И здесь особую роль приобретает качество службы поддержки контент-провайдера, через которого вы осуществили заказ игры. Добросовестный контент-провайдер предложит вам другую игру взамен скачанной, если она у вас не запускается, или поможет каким-либо иным образом.
«КОНКУРЕНТЫ»

Косвенными конкурентами Java ME являются мобильные операционные системы: Symbian и Windows Mobile, а также Palm OS и Linux. Быстродействие любой из этих систем дает Java ME сто очков форы, а размеры игр начинаются от пары десятков килобайт и доходят до мегабайта и более на Symbian, и до сотни мегабайт — на Windows Mobile. Очевидно, что мегабайт — это не сотня выстраданных в борьбе с разнородными прошивками килобайт, и качество подобных игр в целом выше. Ведь действительно классных игрушек на Java-платформе не так уж и много (если, конечно, не брать в расчет бесконечные аркады и головоломки).

Однако игры, созданные под операционные системы, контент-провайдерами почти не распространяются. Сейчас начинаются подвижки в этой области, но именно что лишь начинаются.

Платные игры для Windows Mobile и для Symbian требуется приобретать как обычные программы: посредством интернета через системы онлайновых платежей. Либо в оффлайновых обычных магазинах, но в наших краях этот способ еще менее развит, чем за рубежом. Между прочим, именно по последней схеме распространялись игры для Nokia N-Gage. Увы, без особого успеха.

Java ME находится в «дружественных» отношениях с Symbian. Многие Java-игры выпускаются в версиях для Symbian-смартфонов.

С другими же операционными системами отношения у Java ME складываются не лучшим образом. Например, отсутствие стандартного единого протокола Java ME для Windows Mobile приводит к тому, что разработчикам просто невыгодно производить Java-игры для устройств на Windows Mobile. Впрочем, это проблема скорее для разработчиков, чем для пользователей, так как сейчас существует достаточно мощных игр, созданных специально для Windows Mobile и вовсе не на Java ME.

Теперь скажем пару слов о прямых конкурентах — Mophun и BREW. Хотя, конечно, конкуренция эта носит условный характер.
Mophun

Программная платформа Mophun, созданная Synergenix Interactive, до недавнего времени активно продвигалась концерном Sony Ericsson и присутствует во многих выпущенных им телефонах. По сути Mophun является аналогом Java ME, тоже написанным на C/C++. При этом Mophun заметно шустрее и обладает кое-какими полезными особенностями.

Mophun была предназначена именно для игр. Интересен факт, что на Mophun вообще не выпускалось бесплатных игр, т.к. любая игра должна была в обязательном порядке пройти сертификацию в Synergenix Interactive, без которой ее было запрещено выпускать в оборот.

Сейчас Mophun, насколько можно судить, уступила противоборство и сходит со сцены. Интересно, не постигнет ли схожая участь программную платформу UIQ, которая сейчас взята на вооружение концерном Sony Ericsson.
BREW

BREW (Binary Runtime Environment for Wireless) стартовала в январе 2001 года на телефонах стандарта CDMA. Это стало одним из факторов, негативно повлиявших на ее распространение: к примеру, у нас, в экс-СССР, стандарт CDMA никогда не был особенно популярен.

Сейчас BREW уже дружит с GSM/GPRS и UMTS, но пока что обитает преимущественно в Японии и Корее, и в меньшей степени в США. Безусловно, ей и там неплохо живется. А у нас BREW можно встретить на CDMA-телефонах, распространяемых компанией «СкайЛинк».

BREW, как и Java ME, основана на C/C++ и в какой-то степени дружит с Java. Ориентирована на игры и простенькие программные приложения, среди которых не последнюю роль играют программки, связанные с интернетом и телефонной связью.

Бесплатного софта на ней, как и на Mophun, практически не бывает, т.к. каждый программный продукт требует обязательной сертификации (стоимость которой — от 400$).




7 Комментарии

Дааа.. без Java нынче никуда. Столько возможностей глупо упускать из вида и не пользоваться ими.
Народ у меня Nokia tvc1000 Java не воспренимает где можно поставить Java
Никак на с1000 Java не поставить
Люди помогите...купил недавно iphone 3g(j2000).все отлично работает.но java приложения почему то перестали устанавливатся.всегда пишет одно и то же ''Превышение максимального лимита установки''.че это значит Размещенное изображение помогите кто нибудь что с ним сделать?
C протяжением 20-30 мин. приходят сообщения с номера 10667766, что смс не доставлен, неверный адрес получателя от мегафона. Звонок оператору не момог. Что делать?
Виталк, тебе сюда